it-swarm.com.de

Wie kann ich <script> -Tags in einzelnen Seitenbeiträgen einreihen (oder das Laden verzögern)?

Mein Kunde hat viele Seiten mit <script> Elementen, einschließlich Javascript.

<script src="myscriptforthispageonly.js"></script>

Ich versuche, alle Skripte mit wp_enqueue_script() in die Fußzeile zu laden, bin mir aber nicht sicher, wie ich ein Skript aus einer Seite heraus in die Warteschlange einreihen soll.

Auch dies ist innerhalb einer Wordpress-Seite . Ist es möglich, ein externes Skript von einer Seite oder Post in die Warteschlange zu stellen?

Wenn dies nicht möglich ist, kann das Laden des Skripts verzögert werden, bis das Onload-Ereignis ausgelöst wird?

2
brentonstrine

Allgemeine Antwort: Ab WordPress 3.4 (IIRC) können Sie wp_enqueue_script() direkt in der Vorlage aufrufen.

Also, wenn Sie haben:

<script src="myscriptforthispageonly.js"></script>

Sie könnten es ersetzen durch:

<?php wp_enqueue_script( 'this-page-script', get_template_directory_uri() . '/myscriptforthispageonly.js', array( 'jquery' ), null, true ); ?>

Bearbeiten

Aus diesem Kommentar:

Dies ist aus einer Seite. Wie auf einer Wordpress-Seite. Keine Vorlagen. Stellen Sie sich vor, Sie schreiben ein Wordpress-Blogpost-Update und wechseln zu HTML vie

Ihre beste Vorgehensweise wäre, einen Shortcode für den Benutzer zu definieren, der in den Inhalt des Posts eingefügt werden soll, anstatt einen <script>-Aufruf direkt in den Post zu schreiben Inhalt. In Ihrem Shortcode-Rückruf können Sie dann wp_enqueue_script() aufrufen.

3
Chip Bennett