分别为每个短码使用WP_enQueue_SCRIPT

时间:2017-03-06 作者:nakedart

如何为要使用的每个短代码分别使用wp\\u enqueue\\u脚本?

function shortA()
{
    wp_enqueue_script(\'member\', plugins_url(\'js/member.js\', __FILE__), array(\'jquery\'), \'1.0\', true);
}add_shortcode(\'shortA\',\'shortA\');


function shortB()
{
    wp_enqueue_script(\'nonmember\', plugins_url(\'js/nonmember.js\', __FILE__), array(\'jquery\'), \'1.0\', true);
}add_shortcode(\'shortB\',\'shortB\');
我试过这个,但运气不好:Enqueue Scripts / Styles when shortcode is present

function this_is_my_shortcode(){
    add_action(\'wp_enqueue_scripts\', function() {
        wp_register_script(\'per-pas-belanja-online\', plugins_url(\'js/per-pas-belanja-online.js\', __FILE__), array(\'jquery\'), \'1.0.0\');
        wp_enqueue_script(\'per-pas-belanja-online\');
    });
    return \'<div id="poppedout">Blah</div>\';
}
add_shortcode(\'bubba\', \'this_is_my_shortcode\');

1 个回复
SO网友:Welcher

你很接近!

您可以通过wp_enqueue_scripts 正常钩住它们,然后将它们放入短代码回调中。这是告诉WordPress有关脚本的信息,然后允许您仅在需要时将其排队:

add_action( \'wp_enqueue_scripts\' \'register_all_my_scripts\' );
function register_all_my_scripts() {
    wp_register_script( \'per-pas-belanja-online\', plugins_url(\'js/per-pas-belanja-online.js\', __FILE__), array(\'jquery\'), \'1.0.0\' );
}

function this_is_my_shortcode(){
    wp_enqueue_script(\'per-pas-belanja-online\');
    return \'<div id="poppedout">Blah</div>\';
}
add_shortcode(\'bubba\', \'this_is_my_shortcode\');
希望有帮助!

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请