Schnelltipp Verbessern von Shortcodes mit der Funktion has_shortcode ()

Einer der Fehler, den viele Entwickler beim Erstellen von Shortcodes (in Themes und Plugins) machen, ist immer Laden aller Skripte und Stile. Aus Effizienzgründen und auch zur besseren Vermeidung von Konflikten sollten Skripte und Stile verwendet werden nur geladen werden, wenn sie benötigt werden. Dies ist eine sehr praktische Funktion, mit der Sie jede gewünschte Aktion ausführen können, beispielsweise das Laden von Skripts und Stilen, und nur wann, Ein Beitrag hat einen bestimmten Kurzcode.


Schritt 1 Funktion schreiben

Die Funktionen sind wirklich ziemlich einfach. Alles, was wir tun werden, ist, einen Kurzcode als Parameter zu übergeben und dann den Inhalt des aktuellen Beitrags auf diesen Kurzcode zu überprüfen

Sie können diesen Code in Ihre einfügen Functions.php oder Ihre eigene Plugin-Datei.

 // den aktuellen Beitrag auf das Vorhandensein eines Funktionscodes prüfen has_shortcode ($ shortcode = ") $ post_to_check = get_post (get_the_ID ()); // false, weil der Post-Inhalt zuerst durchsucht werden muss $ found = false; // Wenn kein Funktionscode angegeben wurde, geben Sie false zurück, wenn (! $ shortcode) return $ found; // den Post-Inhalt für den Funktionscode überprüfen if (stripos ($ post_to_check-> post_content, '['. $ shortcode) ! == false) // wir haben den kurzen Code gefunden $ found = true; // unsere Endergebnisse zurückgeben return $ found;

Als erstes übergeben wir einen Parameter an die aufgerufene Funktion $ shortcode und wir setzen es leer. Als Nächstes erhalten wir das Postobjekt des aktuell angezeigten Posts. Dazu verwenden wir die Funktion get_post (), um das Post-Objekt der angegebenen ID, das wir mit get_the_ID () erhalten, aus der Datenbank zurückzugeben. Sobald wir das Post-Objekt in einer Variablen gespeichert haben, $ post_to_check, Wir können den Inhalt nach dem angegebenen Funktionscode durchsuchen

Nachdem wir das Post-Objekt abgerufen haben, setzen wir das $ gefunden Variable auf false und stellen Sie dann sicher, dass $ shortcode Der Parameter ist nicht leer, und wenn dies der Fall ist, verlassen wir die Funktion durch die Rückgabe von $ gefunden Variable als falsch.

Jetzt können wir den Inhalt des Beitrags nach dem gewünschten Funktionscode durchsuchen. Wir machen dies mit der Funktion stripos (). Diese Funktion benötigt zwei Parameter, die Zeichenfolge, in der gesucht werden soll (die Heuhaufen) und die Zeichenfolge, nach der gesucht werden soll (die brauchen). In unserem Fall ist unser Heuhaufen der Inhalt des Beitrags, auf den mit zugegriffen wird $ post_to_check-> post_content, und die Nadel ist der Kurzcode, den wir als Parameter an unsere benutzerdefinierte Funktion übergeben haben. Beachten Sie, dass wir das schließende "]" des Nadelparameters verlassen haben. Dies liegt daran, dass wir Kurzcodes berücksichtigen müssen, die Parameter akzeptieren, und daher die schließende Klammer nicht unmittelbar nach dem Kurzcode-Namen haben.

Ob stripos () Findet der Kurzcode, setzen wir den $ gefunden Variable auf wahr und geben Sie dann unsere Ergebnisse zurück. Das ist es, unsere Funktion ist komplett.


Schritt 2 Verwenden der Funktion

Diese Funktion kann überall in Ihren Designvorlagen verwendet werden (nicht nur in der Schleife) und ist äußerst nützlich, um Skripts und Stile selektiv zu laden.

Um zu überprüfen, ob der aktuelle Beitrag einen bestimmten Funktionscode enthält, können Sie die Funktion folgendermaßen verwenden:

 if (has_shortcode ('your_short_code')) // hier Aktionen ausführen

Wahrscheinlich ist eine der häufigsten Stellen, an denen Sie diese Funktion verwenden würden, in Ihrer header.php, wenn Sie Stile und Skripte laden.

 if (has_shortcode ('contactform')) wp_enqueue_style ('contactfom', get_bloginfo ('template_directory'). 'includes / contactform.css'); wp_enqueue_script ('contactfom', get_bloginfo ('template_directory'). 'includes / contactform.js'); 

Fazit:

Wenn Plugins und Themes, die keine guten Codierungsstandards verwenden, so reichlich vorhanden sind, ist es wichtig, dass wir uns stets bemühen, qualitativ hochwertige Standards zu entwickeln, damit wir so viele mögliche Skript- / Stilkonflikte wie möglich vermeiden können. Eine Möglichkeit, dies zu tun, besteht darin, Skripts / Stile für unsere Funktionscodes nur dann zu laden, wenn sie tatsächlich benötigt werden.

Weitere Informationen zum Verwenden und Erstellen von Kurzwahlen in Ihren Projekten finden Sie hier!