Ecco alcuni brevi ma utili snippet di codice che potrebbero rendere la tua vita come sviluppatore WordPress un po 'più semplice. Tratteremo un po 'di tutto, da come eliminare automaticamente i post, come ridisegnare rapidamente una miniatura del post, a come reindirizzare gli utenti dopo aver effettuato l'accesso. Apri il tuo programma di sostituzione del testo e preparati ad aggiungere alcune nuove scorciatoie!
Inizieremo con alcune semplici battute.
Dalla v3.1, WordPress ha fornito una barra di amministrazione front-end per tutti gli utenti. A seconda del tuo intento, questo può sminuire l'aspetto del tuo sito. Per disabilitarlo, usa la funzione show_admin_bar:
show_admin_bar (FALSO);
Puoi anche disabilitare questo dal tuo profilo utente, ma questo è particolarmente utile se hai un sacco di autori / membri sul sito e hai bisogno di disabilitare del tutto la barra.
I messaggi nascosti possono accumularsi se si dimentica di eliminarli definitivamente. Usa questo codice in /wp-config.php per svuotare i tuoi post trascritti:
define ('EMPTY_TRASH_DAYS', 5);
Quando stai sviluppando, devi vedere gli errori che il tuo codice sta generando. Tieni presente che non tutti gli errori impediscono l'esecuzione di uno script, ma sono comunque errori e potrebbero avere effetti strani sul tuo altro codice. Quindi, attiva il debug di WordPress inserendolo nel tuo /wp-config.php:
define ('WP_DEBUG', TRUE);
Potresti rimanere stupito da ciò che vedi nel footer. Ricorda di disattivare il debugging quando il tuo sito è pronto per essere pubblicato. Le informazioni di debug possono essere preziose per gli hacker.
Quando un utente effettua il login, normalmente vengono inviati direttamente alla loro bacheca. Questa potrebbe non essere l'esperienza che vuoi che i tuoi utenti abbiano. Il seguente codice utilizza il filtro login_redirect per reindirizzare i non amministratori alla home page:
add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); function subscriber_login_redirect ($ redirect_to, $ request, $ user) if (is_array ($ user-> roles)) if (in_array ('administrator', $ user-> ruoli)) restituisce home_url ('/ wp-admin /' ); return home_url ();
In base al ruolo dell'utente, puoi inviarli a qualsiasi pagina che ti piace.
Dal momento che v2.9, WordPress ha fornito un'opzione di immagine post miniatura, proprio come le immagini che vedete qui su wp.tutsplus. Nella pagina del post di amministrazione si chiama "Immagine in primo piano". Ma se non hai un'immagine per il tuo post, puoi semplicemente chiamare un'immagine di default.
All'interno del ciclo:
if (has_post_thumbnail ()) the_post_thumbnail (); else echo '';
Potresti anche avere un mucchio di immagini predefinite e sceglierne una a caso
Invece di: pubblicato il 12 ottobre 2011, possiamo avere: pubblicato 2 giorni fa.
Come usato nel ciclo:
echo human_time_diff (get_the_time ('U'), current_time ('timestamp'))). 'fa';
Usalo anche sui commenti:
echo human_time_diff (get_comment_time ('U'), current_time ('timestamp'))). 'fa';
O forse mostrare la data / ora regolare del post solo se più di una settimana fa, altrimenti mostra il tempo fa:
$ time_diff = current_time ('timestamp') - get_the_time ('U'); if ($ time_diff < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;
È bello che gli utenti siano in grado di vedere quando l'autore di un post fa un commento sul post, proprio come facciamo qui su wp.tutsplus. Tutto quello che dobbiamo fare è aggiungere una classe al wrapper dei commenti e poi ridimensionarla nel tema.
Per trovare quali commenti sono fatti dall'autore del post, usiamo questo codice per produrre un nome di classe:
if ($ comment-> user_id == get_the_author_meta ('ID')) echo ''; else echo '';Confrontiamo l'ID utente del commento con l'ID dell'autore post di get_the_author_meta. Se corrispondono, facciamo eco a una classe di author_comment che possiamo quindi modificare con css.
8. Mostra informazioni utente, post e commenti per il tuo sito WordPress
Puoi interrogare il tuo database WordPress direttamente per mostrare utili informazioni sul sito. Metti questa funzione nel tuo functions.php e chiamala ovunque nei tuoi file modello con get_site_data ()
function get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> users"); $ posts = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> posts WHERE post_status = 'publish'"); $ commenti = $ wpdb-> get_var ("SELECT COUNT (comment_ID) FROM $ wpdb-> comments"); eco ''. $ utenti. 'membri hanno fatto'. $ commenti. 'commenti in'. $ post. 'post
';È meglio che chiamare alcune delle funzioni native di WordPress poiché conta tutti i tipi di post e solo i post attualmente pubblicati.
9. Aggiungi correttamente un file JavaScript
WordPress ci fornisce la funzione wp_enqueue_script in modo che possiamo aggiungere script in modo sicuro.
Supponiamo di avere una directory scripts sotto la nostra directory template, e lì abbiamo uno script chiamato do_stuff.js. Quindi abbiamo url_to_template_dir / scripts / do_stuff.js
Includiamo il nostro script nel modo giusto. Questo deve essere incluso prima della chiamata wp_head nel tuo file di intestazione:
$ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);Qui concateniamo il nostro percorso di script e il nome sull'output della funzione get_template_directory_uri di WordPress. Accodiamo quindi lo script fornendo un handle (per un eventuale riferimento successivo) e l'url al nostro script. WordPress ora includerà il nostro script in ogni pagina.
Il vero vantaggio di tutto questo è che, diciamo che il nostro script do_stuff era uno script jQuery, quindi avremmo anche bisogno di avere jQuery caricato.
Ora, jQuery è incluso per impostazione predefinita in WordPress ed è stato pre-registrato con il gestore jquery. Quindi tutto ciò di cui abbiamo bisogno è accodare il nostro jQuery, quindi accodare il nostro do_stuff.js, in questo modo:
wp_enqueue_script ( 'jquery'); $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));Nota il terzo parametro per wp_enqueue_script per do_stuff: che dice a WordPress che il nostro script do_stuff dipende dal file con il jquery dell'handle. Questo è importante perché significa che jquery verrà caricato prima di do_stuff. In effetti, si potrebbero avere le istruzioni di accodamento in ordine inverso e non avrebbe importanza dal momento che la definizione delle dipendenze di uno script consente a WordPress di inserire gli script nell'ordine di caricamento corretto in modo che funzionino tutti insieme felicemente.