webentwicklung-frage-antwort-db.com.de

Wie ressourcenintensiv ist wp_register_script ()?

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.

2
user1981248

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.

1
fuxia