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.
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.