无法使JS代码与短码一起工作

时间:2018-08-11 作者:Omer

我正在尝试创建一个插件,但我被卡住了。我正在尝试注册短代码中的脚本并将其排队:

这是我的短代码:

add_shortcode( \'gear-guide\', \'gg_product_front_end\' );
这是它调用的函数:

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\' );

}
这是JavaScript:

function gg_loadProducts_frontEnd() {
    console.log( \'Test!\' );
}
JavaScript不工作,但我没有收到任何错误,无论是php还是js。

1 个回复
最合适的回答,由SO网友:Fayaz 整理而成

您需要返回快捷码生成的字符串,而不是echo, 像这样:

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>\';
}
此外,还需要调用JavaScript函数,如下所示:

function gg_loadProducts_frontEnd() {
    console.log( \'Test!\' );
}
gg_loadProducts_frontEnd();
否则Test! 不会登录到浏览器控制台。

同时,检查This Post 当存在短代码时,将脚本/样式排队。

结束

相关推荐

Shortcode to show the code

如何创建一个短代码(或类似的代码)来在页面的某个地方显示页脚?我试过了,但没有结果。。。function show_footer() { return get_footer(); } add_shortcode( \'show_f\', \'show_footer\' ); 或者这个。。。function show_footer() { get_footer(); } add_shortcode( \'show_f\', \'sho