wordpress programmare temi e plugin

  programmazione wordpress, wordpress

LE MIE NOTE.

Medtodo di scrittura:

I nomi delle funzioni dovranno essere scritti in minuscolo e utilizzare _ (underscore) per unire più parole
public function nome_funzione(){ … }

Per definire una variabile a livello globale utilizzare define e il nome della variabile dovrà essere tutto MAIUSCOLO
define( ‘NOMEVARIABILE’, true );

I nomi dei file php dovranno essere scritti in minuscolo e usare (meno) per unire più parole
nome-file.php

I nomi dei file php che contengono delle classi dovranno essere preceduti dal suffisso class e separati dal trattino
class-nome-file-di-classe.php
Mentre le classi dovranno avere come nome della classe il nome del file con la quale verrà salvato toglendo il suffisso class e sostituendo il trattino con l’underscore
class nome_file_di_classe { … }

Dopo le parentesi aperte, le virgole, prima delle parentesi chiuse, prime e dopo del punto di congiunzione, dovrà essere inserito uno spazio
require( dirname( __FILE__ ) . ‘nome-file.php’;

Il file header.php:

Per usare i fonts di google, visualizzabili alla pagina www.google.com/fonts es:
<link href=”https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round” rel=”stylesheet”>

Utilizzare i fogli di stile css utilizzare la funzione get_stylesheet_directory_uri
<link rel=”stylesheet” href=”<?php echo get_stylesheet_directory_uri(); ?>/style.css”>

Nel file header.php poco prima della fine del tag </header> del tema richiamare la funzione
<?php wp_head(); ?>

Nel tag body richiamare body_class
<body <?php body_class(); ?> >

Per ricavare il nome del blog usare la funzione bloginfo, ad esempio:
<header id="masthead">
    <h1><a href="#"><?php bloginfo( 'name' ); ?></a></h1>
</header>

esempio di un file header.php

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>PHP for WordPress</title>
  <link href="https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round" rel="stylesheet">
  <link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/style.css">
  <?php wp_head(); ?>
</head>
<body <?php body_class(); ?> >
	
</body>

  <header id="masthead">
    <h1><a href="#"><?php bloginfo( 'name' ); ?></a></h1>
  </header>

File index.php

un esempio di file index.php:


<?php get_header(); ?>

  <div id="content">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

      <article <?php post_class(); ?> >

        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

        <?php the_content(); ?>

        <footer>
          <p class="byline">
            Author:
            <a href="<?php echo get_author_posts_url( $post->post_author ); ?>"><?php the_author(); ?></a> |
            Date:
            <?php the_time( 'M. j, Y' ); ?> |
            Categories:
            <?php the_category( ',' ); ?> |
            Tags:
            <?php the_tags( '', ',', '' ); ?>
          </p>
        </footer>

      </article>

    <?php endwhile; else: ?>

      <h2><?php esc_html_e( '404 Error', 'phpforwp' ); ?></h2>
      <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>

    <?php endif; ?>

  </div>

<?php get_footer(); ?>

file footer:

  <?php wp_footer(); ?>
</body>
</html>

File function.php

Un esempio iniziale di file function.php del tema

<?php

/**
 * Enqueue the theme stylesheets
 */
function phpforwp_theme_styles() {

  wp_enqueue_script( 'font-css', 'https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round' );

  wp_enqueue_style( 'main-css', get_stylesheet_uri(), 'fonts-css', get_the_time() );

}
add_action( 'wp_enqueue_scripts', 'phpforwp_theme_styles' );


/**
 * Add read more text to post excerpt
 *
 * @param string $excerpt The post excerpt
 * @return string $extended_excerpt Post excerpt with read more link
 */
function phpforwp_read_more_link( $excerpt ) {

  $extended_excerpt = $excerpt;

  $extended_excerpt .= ' <a class="more-link" href="' . get_permalink() . '">Read more ciao &raquo;</a>';
 echo "permalink: " . get_permalink();
  return $extended_excerpt;

}
add_filter( 'get_the_excerpt', 'phpforwp_read_more_link', 10 );


?>

Da dove incominciare

Un sito dove scaricare una base di partenza e caricarla dal menù temi di wordpress: https://underscores.me/

Funzioni utili

[WP-Coder id=”1″]

is_front_page()Determina se la query è per la prima pagina del sito.
is_home()Determina se la query è per la home page del blog.
is_page()Determina se la query è per una singola pagina esistente.
is_single()Determina se la query è per un singolo post esistente.
is_attachment()Determina se la query riguarda una pagina allegato esistente.
the_content()Visualizza il contenuto del post.
is_category()Determina se la query riguarda una pagina di archivio di categorie esistente.
single_cat_title()Visualizza o recupera il titolo della pagina per l’archivio delle categorie.
is_tag()Determina se la query riguarda una pagina di archivio di variabili esistente.
single_tag_title()Visualizza o recupera il titolo della pagina per l’archivio post tag.
is_author()Determina se la query riguarda una pagina di archivio dell’autore esistente.
the_archive_title()Visualizza il titolo dell’archivio in base all’oggetto richiesto.
is_date()Determina se la query riguarda un archivio di date esistente.
is_404()Determina se la query ha prodotto un 404 (non restituisce risultati).
esc_html_e()Visualizza il testo tradotto che è stato sottoposto a escape per un uso sicuro nell’output HTML.
get_stylesheet_directory_uri()Recupera l’URI della directory del foglio di stile per il tema corrente.
have_posts()Determina se la query WordPress corrente ha post su cui eseguire il loop.
the_post()Iterare l’indice del post nel ciclo.
the_title()Visualizza o recupera il titolo del post corrente con markup opzionale.
post_class()
body_class()
Visualizza le classi assegnate
i tag condizionali
“is_nomeTag()”
I tag condizionali possono essere utilizzati nei file modello per modificare il contenuto visualizzato e il modo in cui tale contenuto viene visualizzato su una determinata pagina a seconda delle
condizioni

recuperare un ID di un post:

<?php
$args = ['post_title' => 'Ciao mondo'];
$mypost = get_post( $args );
?>
<a href=<?php echo esc_url( get_permalink( $mypost->ID ) )  ?>> <?php echo $mypost->post_title ?></a>

SCRIVI UN COMMENTO