【发布时间】:2014-05-15 07:37:20
【问题描述】:
我是 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);
}
});
}
【问题讨论】:
-
你在functions.php中加载了Jquery库吗?
-
@KeesSonnema 我已经在插件的第一页加载了 Jquery。我将使用该代码更新问题。
-
你试过这个吗:
if (typeof jQuery == 'undefined') { // alert something. } -
否,但在萤火虫中显示 ReferenceError: domainsort is not defined
-
主题和插件中包含的 js 和 css 文件是相同的,除了这个 pluginjs.js 文件。但该插件在所有其他主题中都可以正常工作
标签: javascript php ajax wordpress