我是wordpress的新手。我已经创建了一个插件,它运行正常。现在我改变了我的wordpress主题(创建了我自己的主题)。问题是当主题是我的主题时,插件中的js文件不包括在内。 js文件包含在其他主题中。我该怎么做才能解决这个问题。
我在插件第一页中使用了以下代码来加载Jquery
add_action('init', 'register_script');
function register_script() {
wp_register_script( 'custom_jquery', plugins_url('/js/bootstrap.js', __FILE__), array('jquery'), '2.5.1' );
wp_register_script( 'custom_jquery1', plugins_url('/js/jquery.min.js', __FILE__), array('jquery'), '2.5.1' );
wp_register_script( 'cust_pluginjs1', plugins_url('/js/pluginjs.js', __FILE__), array('jquery'), '2.5.1' );
wp_register_style( 'new_style', plugins_url('/css/style.css', __FILE__), false, '1.0.0', 'all');
wp_register_style( 'new_style1', plugins_url('/css/bootstrap.css', __FILE__), false, '1.0.0', 'all');
wp_register_style( 'new_style2', plugins_url('/css/font-awesome.css', __FILE__), false, '1.0.0', 'all');
wp_localize_script( 'cust_pluginjs1', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
}
add_action('wp_enqueue_scripts', 'enqueue_style');
function enqueue_style(){
wp_enqueue_script('custom_jquery');
wp_enqueue_script('custom_jquery1');
wp_enqueue_script('cust_pluginjs1');
wp_enqueue_style( 'new_style' );
wp_enqueue_style( 'new_style1' );
wp_enqueue_style( 'new_style2' );
}
.js文件中使用的Jquery是
function domainsort(type)
{
// jQuery.post('http://localhost/wptest/wp-admin/admin-ajax.php',data )
jQuery.ajax({
type: 'POST',
url: myAjax.ajaxurl,
data: {
action: 'sortfn',
sortId: type,
},
success:function(data){
if(data){
jQuery(".tablenpage").html(data);
}
},
error: function(MLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
}
答案 0 :(得分:0)
你在这里完全注册/排队错误。您正在一个挂钩到init
的函数中注册脚本,然后将它们排入另一个函数并将其挂钩到wp_enqueue_scripts
您应该将wp_register_script()
和wp_enqueue_script()
放在同一个函数中,然后该函数应该挂钩到wp_enqueue_scripts
修改强>
您绝不能使用init
挂钩来排队脚本或样式。正确使用的钩子是wp_enqueue_scripts