Una guida a WordPress PHP
Pubblicato: 2020-10-16Stai cercando di capire WordPress PHP? In questo post, scopriremo cos'è PHP e come funziona con WordPress. Comprendere PHP e come si integra con WordPress aiuterà con la manutenzione del sito, la risoluzione degli errori e lo sviluppo di WordPress in generale.
Cos'è PHP?
PHP, abbreviazione di Hypertext Preprocessor, è un linguaggio di scripting utilizzato da circa il 79% del web . PHP ti consente di fare molte cose potenti, come interagire con un database, scrivere dichiarazioni condizionali, ottenere informazioni specifiche di WordPress, inserire file multimediali e molto altro.
WordPress PHP
PHP è ciò che alimenta WordPress, poiché la maggior parte dei file core di WordPress sono scritti in questa lingua. Se guardi l'elenco dei file di un sito Web WordPress, vedrai che la maggior parte dei file termina con .php, il che significa che il file è un file PHP. La maggior parte dei file PHP di WordPress elencati nello screenshot qui sotto sono necessari per il funzionamento di un sito Web WordPress.
Come funziona PHP: siti Web WordPress
Diamo un'occhiata a un esempio reale di come PHP viene utilizzato su un sito Web WordPress. In questo esempio, utilizzeremo un'istruzione condizionale per determinare se un utente ha effettuato l'accesso o meno:
<?php if ( true === user_is_logged_in() ) { echo 'You are logged in!'; } else { echo 'You are not logged in! Please sign in.'; }
Anche se non hai conoscenza di PHP, puoi dedurre che un utente ha effettuato l'accesso o non ha effettuato l'accesso. Usiamo un condizionale (if/else) per verificare se l'utente ha effettuato l'accesso o meno, se lo sono allora noi visualizzerà un messaggio di benvenuto e, in caso contrario, chiederemo loro di accedere. Anche se questo è solo un esempio di base, puoi vedere quanto possono essere potenti i condizionali.
Puoi vedere che abbiamo controllato la funzione "user_is_logged_in". Sappiamo che questa è una funzione poiché ha le parentesi "()" dopo il nome.
Se la funzione restituisce false, quando viene eseguito il codice verrà visualizzato il messaggio:
"Non sei loggato! Per favore, accedi."
PHP e WordPress
Proprio dall'esempio sopra, noterai che PHP si trova ovunque in WordPress. WordPress ha sottosistemi come loop che controllano il numero di post mostrati, insieme a hook che modificano funzionalità, API, temi e plugin.
WordPress PHP: abilita il debug
WordPress, per impostazione predefinita, non mostrerà alcun errore/avviso generato da PHP. Questa è una buona pratica per i siti che sono in produzione, ma se stai sviluppando, vuoi che sia abilitato. Per abilitare il debug, cambia semplicemente questa riga nel file wp-config.php, che si trova nella directory principale di WordPress:
define( 'WP_DEBUG', false );
Cambia semplicemente la costante WP_DEBUG in true , quindi salva il file. Eventuali errori o avvisi nascosti verranno ora visualizzati, che è ciò che vogliamo.
Il ciclo e la domanda
La query è un sistema che raccoglie i post da mostrare sulla pagina e il ciclo è ciò che attraversa ogni post e li visualizza di conseguenza. Sulla tua home page, la query cercherà i post più recenti e prenderà i 10 post più recenti. In una pagina di categoria, la query cercherà i 10 post più recenti della categoria specificata. Puoi anche modificare la query e usarla per ciò che ti serve.
Vediamo un esempio:
<?php if ( have_posts() ) { $i = 0; while ( have_posts() ) { $i++; if ( $i > 1 ) { echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />'; } the_post(); get_template_part( 'template-parts/content', get_post_type() ); } } elseif ( is_search() ) { ?> <div class="no-search-results-form section-inner thin"> <?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) ); ?>
Il codice inizia controllando se la funzione "have_posts()" ha dati da scorrere. Se lo fa, imposta una variabile $i su 0. Quindi esegue un ciclo while , che è un ciclo che verrà eseguito finché la condizione è vera (cioè ha dati da restituire). Prima incrementa la variabile $i di 1 “$i++;”, quindi esegue un'istruzione condizionale che controlla se la variabile $i è maggiore di 1. In tal caso, visualizza del codice HTML per separare il post. Dopodiché, ottieni il post con la funzione "the_posts()" e visualizza il contenuto del post con la funzione "get_template_part()".

Se questa condizione non viene soddisfatta, utilizza la funzione "is_search" per determinare se si trattava o meno di una ricerca. In tal caso, esegue semplicemente il rendering dell'HTML ed esegue una funzione "get_search_form()" che chiede all'utente di eseguire nuovamente la ricerca.
Ganci
WordPress offre agli sviluppatori l'opportunità di modificare le funzioni principali. Tuttavia, non si desidera modificare i file principali. Questa è la regola n. 1 dello sviluppo ed è semplicemente una cattiva pratica. A volte può essere difficile a seconda del progetto su cui stai lavorando, ma è qui che entrano in gioco gli hook. WordPress è incentrato sugli hook e ha due hook principali che vengono utilizzati per lo sviluppo. Questi due ganci sono ganci di azione e ganci di filtro. Gli hook di azione consentono di aggiungere codice personalizzato e gli hook di filtro consentono di modificare i dati prima che vengano utilizzati.
Personalizziamo il wp_footer per aggiungere il nostro codice prima del tag body di chiusura del tema. Se apri il functions.php del tema puoi aggiungere il seguente codice:
function ithemes_footer_code() { ?> <p>This is the footer.</p> <?php } add_action( 'wp_footer', 'ithemes_footer_code' ); // ---- END // ---- BEGIN if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Questo codice crea una funzione "ithemes_footer_code", che viene utilizzata come funzione di callback utilizzata per la funzione "add_action()". Questa funzione contiene il codice che vorremmo eseguire sul wp_footer. Per il primo parametro di add_action, chiamiamo 'wp_footer' che indica che questo codice verrà eseguito a piè di pagina. Il secondo parametro è la funzione di callback (la funzione che abbiamo appena creato) ed eseguirà il codice personalizzato. Questo è un esempio di action hook.
Modifichiamo la lunghezza personalizzata di un estratto del post. Per impostazione predefinita, WordPress visualizzerà 57 caratteri ma possiamo modificare il numero di caratteri in modo che sia più o meno:
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Per prima cosa controlliamo se la funzione che stiamo creando esiste già scrivendo un condizionale per la funzione “function_exists()”. Se non esiste, allora creiamo la nostra funzione e prende $length come argomento. Restituiamo quindi il valore di 50. Dopodiché, eseguiamo la funzione “add_filter()” che può contenere 4 parametri, ma ne stiamo usando solo tre. Questo è un esempio del gancio del filtro.
Conclusione: WordPress PHP
Come puoi vedere, il solo apprendimento delle basi di WordPress PHP e di come PHP è implementato nella codebase di WordPress ti dà una migliore comprensione di come il tuo sito funziona effettivamente dietro le quinte. Guarda alcuni dei nostri tutorial video qui su PHP: Syntax, the Loop in WordPress e tag template WordPress.
