在wordpress中调用短代码时使用javascript

时间:2016-01-29 07:54:21

标签: php wordpress

我想在执行短代码时调用/添加/枚举javascript文件。

以下是我的代码,请让我知道我在做什么。

add_shortcode('footprint', 'do_footprint');

function do_footprint()
{   
    add_action( 'wp_enqueue_scripts', 'pace_enque_map_scripts' );

    ob_start();
    ?>

    <div id="map"></div>

    <?php
    return ob_get_clean();
}

function pace_enque_map_scripts()
{
    wp_enqueue_script( 'my-js', 'filename.js', false );
}

当我调用动作挂钩直接添加javascript时,它可以工作。但是当我在函数中调用动作钩子时它不起作用。

请指导

1 个答案:

答案 0 :(得分:1)

你可以这样做,

function do_footprint() { 
    ob_start(); ?>
    <div id="map"></div>
    <?php
    return ob_get_clean();
}
add_shortcode('footprint', 'do_footprint');

function pace_enque_map_scripts() {
    global $post;
    //check shortcode existence in post content and enque script if found
    if( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'footprint') && !is_admin() ) {
        wp_enqueue_script( 'my-js', 'filename.js', false );
    }
}
add_action( 'wp_enqueue_scripts', 'pace_enque_map_scripts');