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(); ?> >
1 2 3 4 |
Per ricavare il nome del blog usare la funzione bloginfo, ad esempio: <header id="masthead"> <h1><a href="#"><?php<strong> bloginfo( 'name' );</strong> ?></a></h1> </header> |
esempio di un file header.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?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:
1 2 3 |
<?php wp_footer(); ?> </body> </html> |
File function.php
Un esempio iniziale di file function.php del tema
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?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 »</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:
1 2 3 4 5 |
<?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> |