Mit welchem ​​Aktions-Hook kann ich einem Seitenbeitrag ein JavaScript hinzufügen, indem ich eine Designvorlage verwende, die weder get_header () noch get_footer () enthält?

Der Grund, warum ich get_header() oder get_footer() Tags nicht enthalten soll, liegt daran, dass diese Seite als ein iframe mit dem modulischen Plugin thickbox geladen wird und ihr Inhalt ein Formular sein wird und ich das oben Genannte nicht möchte Tags, um alle Menüs und Bannerbilder und -menüs sowie den Footer-Inhalt zu rendern, da auf dieser Seite viel gescrollt wird.

Wie auch immer, ich laufe so etwas:

 add_action('template_redirect', 'my_plugin_add_js'); 

Wenn ich jedoch die Tags get_header() und get_footer () entscheide, wird das JavaScript nicht geladen, obwohl die Javascripts innerhalb der ‘ my_plugin_add_js ‘ am Ende in die body-HTML-Tags eingefügt werden und nicht innerhalb der head-Tags damit:

 wp_register_script("validate_form", plugins_url('js/my_plugin_validate_form.js', __FILE__), array('jquery', 'validation'), '1.0', true); 

Ich nehme an, dass der ‘template_redirect’ Aktions-Hook nicht der richtige ist.

Solutions Collecting From Web of "Mit welchem ​​Aktions-Hook kann ich einem Seitenbeitrag ein JavaScript hinzufügen, indem ich eine Designvorlage verwende, die weder get_header () noch get_footer () enthält?"

Das vollständige Überspringen von wp_head und wp_footer scheint keine gute Idee zu sein, viele corekomponenten und Plugins hängen von diesen Hooks ab. Stattdessen könnten Sie eine helle Kopf- und Fußzeile erstellen und sie über ein zusätzliches Argument in get_header() und get_footer() . get_header( 'light' ) lädt header-light.php statt der regulären Header-Datei. Erstellen Sie einen ohne den visuellen Header der anderen Seiten, lassen Sie die Aktion wp_head intakt.

Es geht nicht um den Hook, den Sie zum Einrichten der Warteschlange verwenden (obwohl Sie stattdessen wp_enqueue_scripts verwenden sollten, aber was Sie tun, wird das auch brechen), indem Sie Header und Fußzeile entfernen, entfernen Sie auch wp_head und wp_footer Hooks (neben vielen anderen Dingen ) behandelt Ausgabe von Warteschlangenskripten.

Wenn Ihre Vorlage so wp_print_scripts() ist, ist es wahrscheinlich am einfachsten, Ihr Skript explizit mit wp_print_scripts() zu wp_print_scripts() (übergeben Sie das Handle Ihres Skripts).

Haben Sie überlegt, ein bedingtes Tag zu verwenden?

Beispielsweise:

 < ?php if(is_page('your-page-name')) { ?> //inlcude script here < ?php } ?> 

Mehr über bedingte statementen: http://codex.wordpress.org/Conditional_Tags