Le 10 funzioni più utili che uno sviluppatore WordPress deve conoscere : codice wordpress

WordPress è il CMS più popolare e più utilizzato dagli utenti nel mondo del Web, questo grandissimo successo è giustificato dalla facilità nel creare un sito web esteticamente bello ed effettivamente funzionante ma anche dalla quantità immensa di plugins e temi che si trovano in circolazione che ti permettono di effettuare qualsiasi operazione.

WordPress è pieno di funzioni per gli sviluppatori, ad esempio è possibile estrarre tutti gli articoli in un batter d’occhio, manipolare tutti i dati ed effettuare moltissime altre operazioni, in questo articolo vedremo insieme le funzioni ritenute più utili che non sono molto conosciute sul web:

Le 10 funzioni più utili che uno sviluppatore WordPress deve conoscere

Le 10 funzioni più utili che uno sviluppatore WordPress deve conoscere

wp_die()

Questa funzione integra la funzione PHP die () con la sola differenza che wp_die() mostrerà il messaggio HTML in stile WordPress al posto di un semplice schermata di testo.

Puoi utilizzare per esempio questa funzione per fermare l’esecuzione del codice PHP, inoltre è possibile aggiungere il titolo, il messaggio e gli argomenti aggiuntivi da visualizzare in questo modo:

1wp_die( "Oops, non hai l'accesso per", "Permesso Negato" );

wpautop()

Ad oggi wpautop() è una funzione ancora sconosciuta, è simile alla funzione nativa di PHP nl2br ma invece di creare nuove linee, racchiude il contenuto in paragrafi.

Questo funzione è utile quando ad esempio hai una casella di testo e vuoi assicurarti che quando gli utenti creano paragrafi con interruzioni di linea doppia rimangono visibili anche nel front-end.

1<h2>Che cosa dicono i nostri utenti</h2>
2<?php echo wpautop( $user_comment ) ?>

get_post_meta()

Cominciamo con il dire che omettendo il secondo ed il terzo parametro è possibile estrarre tutti i metadati per un post.

La ragione è in realtà piuttosto logica in quanto i metadati vengono usati in più posti, quindi se <code> get_post_meta () </ code> esegue una query sul database ogni volta che viene utilizzato, ci ritroveremmo troppe query.

Per velocizzare l’operazione è necessario far memorizzare in cache i metadati ed utilizzare i valori memorizzati su tutti i successivi recuperi dei metadati.

1 $all_meta = get_post_meta( 14 );

human_time_diff()

Questa funzione mostra quanto tempo fa è stato pubblicato un post attuale ed utilizza la data di pubblicazione come primo argomento e la data corrente come secondo.

1 echo 'Questo articolo è stato pubblicato ' . human_time_diff( get_the_time( 'U' ),
current_time( 'timestamp' ) ) . ' ago';

has_block()

Nella versione 5.0, WordPress ha introdotto un Editor basato sui blocchi chiamato Gutenberg (per maggiori informazioni sulla versione WordPress 5.0 clicca qui).

Questa funzione ha lo scopo di identificare il contenuto comunicando se contiene un blocco o se non è composto da blocchi.

1 <?php
2 if ( has_block() ) {
// Content has a block.
4 } ?>

register_block_type()

Questa è un’altra funzione che è nata grazie alla versione WordPress 5.0 perché ti consente di registrare un nuovo blocco nel nuovo editor di WordPress, di seguito un esempio per inserire un blocco nell’editor Gutenberg WP:

1register_block_type( 'my-plugin/new-block', array(
2'title' => 'Nuovo blocco',
3'icon' => 'home',
4'category' => 'widgets',
5'render_callback' => 'render_function_callback',
6) );

wp_set_script_translations()

Questa funzione è utile per registrare testi traducibili nel codice JavaScript che WordPress potrebbe analizzare e comprendere e deve essere utilizzata per impostare stringhe tradotte per i tuoi script.

Di seguitoti riportiamo un esempio di utilizzo della funzione wp_set_script_translations():

1wp_enqueue_script( 'my-script', plugins_url( 'js/my-script.js', __FILE__ ) );
2wp_set_script_translations( 'my-script', 'mu-text-domain' );

wp_is_mobile()

Questa funzione ha lo scopo di rilevare quando un utente sta viaggiando mediante un dispositivo Mobile e consente di avvisarlo di  viaggiare con la versione Desktop per ottenere un’esperienza di navigazione migliore.

Poiché questa funzione è legata ad un Tag condizionale restituisce i valori true o false a seconda dello scenario di utilizzo.

1<?php if( wp_is_mobile() ) : ?>
2Visita il nostro sito web dal tuo Computer per un'esperienza di navigazione migliore!
3<?php endif ?>

antispambot()

Questa funzione che puoi utilizzare sul tuo sito WordPress sostituisce i caratteri con entità HTML permettendo in questo modo di mascherare gli indirizzi email evitando così che gli spammer possano prelevarlo per inviare mails in spam.

1$email = 'mymail@mail.com';
2echo 'You can contact me at ' . antispambot( $email ) . ' any time'.

wp_upload_bits()

Questa funzione permette di effettuare il caricamento di un file diretto senza dover spostare il file nella cartella uploads e senza doverlo aggiungere alla sezione media di WordPress.

  • Il primo parametro è il nome del file
  • Il secondo è deprezzato quindi dovrebbe essere impostato su null (eyeroll in coerenza con WordPress)
  • Il terzo parametro è il contenuto effettivo del file

1$upload = wp_upload_bits( $file['name'], null, file_get_contents( $file['tmp_name'] ) );

Per concludere

Queste sono solamente alcune funzioni che uno sviluppatore WordPress dovrebbe conoscere, lasciaci un commento se conosci delle funzioni che secondo te sono utili ed importanti ma non le abbiamo inserite all’interno di questo Post!

Alla prossima!

WordPress è il CMS più usato al mondo ed è anche il più completo e flessibile, infatti senza conoscere il linguaggio PHP è possibile tramite l’inserimento di codici visualizzare dei contenuti dinamici.

In questa articolo vi mostriamo il codice PHP da inserire nel template per visualizzare determinate sezioni.

Visualizzare le Categorie

<h2>Categories</h2>
<ul>
<?php wp_list_cats('sort_column=name'); ?>
</ul>

 

Visualizzare le Categorie in un Menù a Tendina

<form action="<?php bloginfo('url'); ?>/" method="get">
<?php
$select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
echo $select; ?> <noscript><input type="submit" value="View" /></noscript>
</form>

 

Visualizzare i Post Recenti

<?php query_posts('showposts=5'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>

 

Visualizzare i Commenti recenti

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
$output .= "\n<ul>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
.":" . "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;?>

 

Visualizzare gli Archivi

<h2>Archives</h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>

 

Visualizzare i Gravatars

<?php if(function_exists(’get_avatar’)){ echo get_avatar($comment, ‘50?);} ?>

 

Visualizzare i Tag dei Post

<?php the_tags(); ?>

 

Visualizzare i Tag Cloud

<?php wp_tag_cloud('smallest=8&largest=36&number=10'); ?>

 

Tutti i Codici:

Visualizzare il titolo della pagina o articolo : <? php the_title() ?>

Visualizzare il contenuto della pagina o articolo : <? php the_content() ?>

Visualizzare il sommario dell’articolo : <? php the_excerpt() ?>

Visualizzare il tempo di pubblicazione : <? php the_time() ?>

Visualizzare la data di pubblicazione : <? php the_date() ?>

Visualizzare l’url nell’articolo : <? php the_permalink() ?>

Visualizzare il link alla categoria dell’articolo : <? php the_category() ?>

Visualizzare l’autore dell’articolo : <? php the_author() ?>

Visualizzare l’id dell’articolo : <? php the_ID() ?>

Visualizzare tutte le pagine : <? php wp_list_pages() ?>

Visualizzare i tag : <? php wp_tag_cloud() ?>

Visualizzare le categorie : <? php wp_list_cats() ?>

Visualizzare il calendario : <? php get_calendar() ?>

Visualizzare gli archivi : <? php wp_get_archives() ?>

Visualizzare i link pagina successiva e precedente : <? php posts_nav_link() ?>

Visualizzare i link agli articoli più recenti : <? php next_post_link() ?>

Visualizzare i link agli articoli meno recenti  : <? php previous_post_link() ?>

Visualizzare il link per editare l’articolo : <? edit_post_link(__(‘edit post’)) ?>

Valore per il modulo di ricerca : <? php the_search_query() ?>

Visualizzare il link per la registrazione : <? php wp_register() ?>

Visualizzare il link login e logout : <? php wp_loginout() ?>

Visualizzare il contenuto per la sidebar : <? php wp_meta() ?>

Visualizzare il tempo di caricamento della pagina : <? php timer_stop(1) ?>

Visualizzare i link da blogroll : <? php get_links_list() ?>

Visualizzare i links ai commenti inseriti : <? php comments_popup_link() ?>

 

Alla Prossima.

 

Può succedere che da un momento all’altro, aprendo il nostro sito web visualizziamo una pagina bianca oppure una pagina contenente dei codici che attestano l’errore.

Nel caso visualizzassimo solo una pagina bianca significa che non è stata attivata l’opzione PHP display_errors che è fondamentale per poter riuscire a capire da dove deriva l’errore.

Quindi per poter attivare questa opzione bisogna accedere in cPanel >Software > Select PHP version > se hai la versione Native seleziona la 5.4 o 5.5 e clicca su Save; subito dopo clicca su Switch to PHP Setting e abilita l’opzione display_errors ed log_errors.

log4

Una volta attivata l’opzione aggiorna la pagina del tuo sito web e vedrai che uscirà una stringa di codice relativa all’errore.

Oltre a questo è possibile visualizzare direttamente il file di error_log accedendo in cPanel > Analisi e file di log > Log di errore

log1

Oltre a questo è possibile aprire il file mediante ftp oppure accedendo in cPanel > Documenti > Gestione File > all’interno della cartella public_html

log2

All’interno del file di error_log troverai delle stringhe di codice che ti aiuteranno a capire da dove deriva l’errore; solitamente questi errori derivano da un’installazione o aggiornamento di un tema o plugin che ha generato conflitto e di conseguenza non rende più possibile la visualizzazione corretta del proprio sito web.

Quindi in questo caso è utile provare a rinominare per esempio la cartella del tema o plugin incriminato, nel caso non funzionasse ancora si potrebbe provare a rinominare completamente la cartella relativo al tema o al plugin. Oltre a questo si potrebbe provare a cancellare il plugin o tema incriminato.

E’ possibile anche che l’errore non sia stato causato da un tema o plugin installato o aggiornato ma può anche derivare da una non corretta configurazione del codice all’interno dei file PHP; in breve è ad esempio possibile che il file sia stato modificato precedentemente e senza accorgertene hai cliccato per esempio un “invio” in più e questo ha generato automaticamente un’errore nel codice e di conseguenza il sito web non si è reso più visibile.

Un altro errore comune viene riscontrato dall’utente quando prova ad importare un file oppure effettua delle operazioni nel backend di WordPress; quindi nel caso riscontrassi questi errori sappi che devi accedere nella sezione PHP e modificare i parametri:

– Fatal error: Allowed memory size of …

Impossibile caricare il file Media… (upload_max_filesize)
– etc…

log5

Per maggiori informazioni sulle versioni PHP e i relativi parametri leggi: CAGEFS

 

Alla prossima!