wake-up-neo.com

Der JS-Code kann nicht mit dem Shortcode verwendet werden

Ich versuche ein Plugin zu erstellen und bin festgefahren. Ich versuche, ein Skript über einen Shortcode zu registrieren und in die Warteschlange zu stellen:

Das ist mein Shortcode:

add_shortcode( 'gear-guide', 'gg_product_front_end' );

Dies ist die Funktion, die aufgerufen wird:

function gg_product_front_end() {

    echo '<p id="test">Test!</p>';

    wp_register_script( 'gg_loadProducts_frontEnd', plugins_url( 'js/front_end.js', __FILE__ ), array( 'jquery' ));
    wp_enqueue_script( 'gg_loadProducts_frontEnd' );

}

Und das ist das JavaScript:

function gg_loadProducts_frontEnd() {
    console.log( 'Test!' );
}

JavaScript funktioniert nicht, aber ich erhalte keinen Fehler, weder PHP noch Js.

2
Omer

Sie müssen den generierten Shortcode-String zurückgeben, nicht echo, wie folgt:

function gg_product_front_end() {
    wp_register_script( 'gg_loadProducts_frontEnd', plugins_url( 'js/front_end.js', __FILE__ ), array( 'jquery' ));
    wp_enqueue_script( 'gg_loadProducts_frontEnd' );

    return '<p id="test">Test!</p>';
}

Außerdem müssen Sie die JavaScript-Funktion folgendermaßen aufrufen:

function gg_loadProducts_frontEnd() {
    console.log( 'Test!' );
}
gg_loadProducts_frontEnd();

Andernfalls wird Test! nicht in der Browser-Konsole protokolliert.

Überprüfen Sie auch diesen Beitrag , um Skripte/Stile in die Warteschlange zu stellen, wenn ein Shortcode vorhanden ist.

2
Fayaz