脚本不包含在wp_enqueue_scripts中

时间:2015-11-08 20:36:54

标签: javascript jquery ajax wordpress

我学会了以下列方式包含脚本。

add_action( 'wp_enqueue_scripts', 'woomps_ajax_frontend' );
function woomps_ajax_frontend() {
    wp_enqueue_script( 'woomps_sub_slider', plugins_url( '/js/woomps-ajax-frontend.js', dirname(__FILE__)) , array('jquery'), '1.0', true );
    $parameters =  array(
        'ajax_url' => admin_url( 'admin-ajax.php' ),
        );
    wp_localize_script( 'woomps_sub_slider', 'subpost', $parameters);
}

这应该引发我的jQuery:

jQuery( document ).on( 'click', '.button_sub_chooser', function() {
alert("test");
jQuery.ajax({
    url : subpost.ajax_url,
    type : 'post',
    data : {
        action : 'woomps_update_subscription_chooser',
    },
    success : function( response ) {
        jQuery('#button_sub_chooser').effect( "bounce", "slow" );

    }
});

return false;
})

点击后:

<a id="button_shake" class="button_sub_chooser" '.$woomps_ajax_url.'>VElg denne</a>

但是wp_enqueue_scripts不会触发jQuery。如果我只是调用这个函数woomps_ajax_frontend(),它就会触发。为什么它像函数一样被调用而不是通过wp_enqueue_scripts?

2 个答案:

答案 0 :(得分:0)

你可以试试这plugin_dir_url(__FILE__) plugins_url() add_action( 'wp_enqueue_scripts', 'woomps_ajax_frontend' ); function woomps_ajax_frontend() { wp_enqueue_script( 'woomps_sub_slider', plugin_dir_url(__FILE__). 'js/woomps-ajax-frontend.js' , array('jquery'), '1.0', true ); $parameters = array( 'ajax_url' => admin_url( 'admin-ajax.php' ), ); wp_localize_script( 'woomps_sub_slider', 'subpost', $parameters); } 。{/ p>

rm.meta_val

答案 1 :(得分:0)

PHP代码放在一个包含的(required_once)文件中,我按以下方式排队。

function woomps_scripts() { 
require_once ('includes/woomps-ajax-sub-chooser.php'); 
} //END woomps_scripts

add_action('wp_enqueue_scripts','woomps_scripts');

如果我将require_once ('includes/woomps-ajax-sub-chooser.php');置于此function woomps_scripts之外,则会将其包括在内。

所以看来我不能再把wp_enqueue_scripts做两次了。