我学会了以下列方式包含脚本。
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?
答案 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做两次了。