Ich versuche, die Funktion has_shortcode()
zu verwenden, um nur bestimmte Skripte zu laden, wenn der Inhalt des Posts einen Shortcode enthält. Dieser Code lautet:
wp_register_script( 'shortcode-js-file' , FILE_URI, array( 'jquery'), '', true );
if(isset($post->post_content) && has_shortcode($post->post_content, 'shortcode_name')) {
wp_enqueue_script( 'shortcode-js-file');
}
Im obigen Code registriere ich das Skript auf allen Seiten, unabhängig davon, ob der Post diesen Shortcode enthält oder nicht. Wenn dieser Shortcode vorhanden ist, stelle ich das Skript in die Warteschlange.
Ich möchte wissen, ob ich den wp_register_script
in die if
-Anweisung einfügen soll oder nicht. Wenn es nicht zu ressourcenintensiv ist, lasse ich es lieber draußen, da ich den gesamten wp_register_script
-Code in einer Funktion zusammenfassen möchte.
PS. Um mein Problem klar darzustellen, habe ich die von mir verwendeten Hooks und Funktionen nicht hinzugefügt, da es für das, was ich abfragen möchte, nicht wichtig ist.
wp_register_script()
fügt nur einen Eintrag zu einem Array hinzu, es ist nicht ressourcenintensiv. Siehe WP_Dependencies::add()
.
Durch frühzeitiges Registrieren von Skripten können Sie Kollisionen vermeiden . Sie sollten dies also immer auf wp_loaded
tun.