Sfat rapid Îmbunătățirea codurilor scurte cu funcția has_shortcode ()

Una dintre greșelile pe care mulți dezvoltatori le fac atunci când creează coduri scurte (în teme și pluginuri) este mereu încărcarea tuturor scripturilor și stilurilor. Din motive de eficiență și, de asemenea, pentru a preveni mai bine conflictele, scripturile și stilurile ar trebui numai să fie încărcate atunci când sunt necesare. Aceasta este o funcție foarte utilă, care vă va permite să efectuați orice acțiune doriți, cum ar fi încărcarea scripturilor și a stilurilor, când, și numai atunci când, un post are un scurtcod particular.


Pasul 1 Scrierea funcției

Funcțiile sunt într-adevăr destul de simple. Tot ce vom face este să transmiteți un cod scurt ca parametru, apoi să verificați conținutul postării curente pentru codul scurt

Puteți să inserați acest cod în dvs. functions.php sau propriul fișier plugin.

 // verificați postarea curentă pentru existența unei funcții de cod scurt has_shortcode ($ shortcode = ") $ post_to_check = get_post (get_the_ID ()); // false deoarece trebuie să căutăm mai întâi conținutul postului $ found = false; // dacă nu a fost furnizat un cod scurt, return false dacă ($ shortcode) return $ found; // verificați conținutul mesajului pentru codul scurt dacă (stripos ($ post_to_check-> post_content, '['. $ shortcode) ! == false) // am gasit codul scurt $ found = true; // returneaza rezultatul final returnat $ gasit;

Primul lucru pe care îl facem este să transmitem un parametru funcției numite $ SHORTCODE și l-am stabilit ca fiind necompletat. Apoi vom obține obiectul post al mesajului afișat în prezent. Facem acest lucru folosind funcția get_post () pentru a returna din baza de date obiectul post al ID-ului dat, pe care îl obținem cu get_the_ID (). Odată ce am stocat obiectul post într-o variabilă, $ post_to_check, putem căuta prin conținutul său pentru codul scurt specificat

După ce am preluat obiectul post, am setat $ găsite variabil la fals, și apoi asigurați-vă că $ SHORTCODE parametrul nu este gol și dacă este, ieșim din funcție returnând $ găsite variabil ca fals.

Acum suntem gata să căutăm conținutul postului pentru codul scurt dorit. Facem aceasta folosind funcția stripos (). Această funcție are doi parametri, șirul în care trebuie căutat ( căpiță) și șirul pentru care trebuie căutat ( nevoie). În cazul în care haystack-ul nostru este conținutul postului, cu care este accesat $ Post_to_check-> POST_CONTENT, iar acul este codul scurt pe care l-am transferat funcției personalizate ca parametru. Observați că l-am lăsat pe "]" de închidere a parametrului acului; acest lucru se datorează faptului că trebuie să luăm în considerare codurile scurte care acceptă parametrii și astfel nu vor avea consola de închidere imediat după numele scurt al codului.

Dacă stripos () găsește codul scurt, am setat $ găsite variabilă la adevărat și apoi să ne întoarcem rezultatele. Asta este, funcția noastră este completă.


Pasul 2 Utilizarea funcției

Această funcție poate fi utilizată oriunde în șabloanele tematice (nu numai în buclă) și este extrem de utilă pentru încărcarea selectivă a scripturilor și stilurilor.

Pentru a verifica dacă postul curent are un cod scurt specific, puteți utiliza funcția de mai jos:

 dacă (has_shortcode ('your_short_code')) // efectuați acțiuni aici

Probabil unul dintre cele mai frecvente locuri pe care le-ați folosi această funcție este în header.php când încărcați stiluri și scripturi, cum ar fi:

 dacă (has_shortcode ('contactform')) wp_enqueue_style ('contactfom', get_bloginfo ('template_directory'). 'include / contactform.css'); wp_enqueue_script ('contactfom', get_bloginfo ('template_directory'). 'include / contactform.js'); 

Concluzie:

Când pluginurile și temele care nu reușesc să utilizeze standardele de codare bune sunt atât de abundente, este important să ne străduim întotdeauna să ne dezvoltăm cu standarde de înaltă calitate în minte, astfel încât să putem ajuta să prevenim cât mai multe conflicte posibile de script / stil posibil. Una dintre modalitățile prin care putem face acest lucru este numai prin încărcarea de scripturi / stiluri pentru codurile noastre scurte atunci când sunt de fapt necesare.

Citiți mai multe despre utilizarea și crearea scurtăturilor în proiectele dvs. aici!

Cod