我已经使用wp_list_table为候选列表创建了一个自定义插件。现在,我必须在弹出窗口中显示所有字段信息,点击href。以下是步骤,我包括JavaScript,但它不起作用。
在我的插件文件中,我将js文件包含为:
include WP_CONTENT_DIR."/plugins/candidate_cv_listing/includes.php";
像这样调用我的js函数:
<a href="#" onclick ="show_details('.$item['id'].');" >Click here </a>'
:
if( $hook != 'candidate_cv_listing.php' )
return;
// core
wp_enqueue_script('jquery');
//echo '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>';
// registering my js file
wp_register_script('can_list',plugin_dir_url( __FILE__ ).'cand.js');
wp_enqueue_script('can_list',plugin_dir_url( __FILE__ ).'cand.js');
}
add_action('admin_enqueue_scripts', 'candidates_gen_js');
?>
现在在cand.js文件中我正在将我的js代码写为::
function show_details(id){
//alert(id);
datastring = 'id='+id;
$.ajax({
url: "<?php echo plugins_url();?>/candidate_cv_listing/list_detail.php",
type: "POST",
data: datastring,
success: function(result){
$.fancybox(result);
}
});
}
请让我知道将js包含在插件中的正确方法,因为我的插件将在admin-end中使用,我该如何调用我的函数。现在它给了我:
ReferenceError: show_details is not defined
答案 0 :(得分:0)
在wordpress中,wp_enqueue_script
用于将脚本输出到页面。如果您需要注册脚本,则可以使用wp_register_script
,以便可以在任何需要使用它的地方使用它(在任何页面上)。
如果您需要在其他地方使用该脚本,而不是首先注册,而不是在您需要的任何地方将其排队。
如果您首先注册脚本,那么当您使用wp_register_script
注册脚本时,您需要做的就是调用您给出的第一个参数,并在wp_enqueue_script
部分中使用它。
示例:
// Register script, dependant on jQuery
wp_register_script('can_list',plugin_dir_url( __FILE__ ).'cand.js', array('jquery'));
// Enqueue the Script for output onto page:
wp_enqueue_script('can_list');
您可以在其他任何需要加载的位置使用wp_enqueue_script('can_list');
。
如果您只需要在该位置输出该脚本,请执行以下操作:
// Script output on page, loading jQuery first.
wp_enqueue_script('can_list',plugin_dir_url( __FILE__ ).'cand.js', array('jquery'));
如果您需要任何进一步的信息,请与我们联系。
你会将这些放在一个可以在任一钩子上调用的函数中:
admin_enqueue_scripts
(如果管理部分需要)和/或wp_enqueue_scripts
(如果需要在前端部分)。
老实说,我认为您的问题与onclick
的{{1}}处理程序的html和PHP的回声更相关。
要输出PHP,请使用$item['id']
或print
。我更喜欢亲自使用echo
,因为我觉得它对网站的性能更好。当然,还有数以百万计的其他方法可以输出html等等,但这些方法最常用于你的情况。
例如:
echo
应该是这样的:
<a href="#" onclick ="show_details('.$item['id'].');" >Click here </a>'
或者
<?php echo '<a href="#" onclick="show_details('.$item['id'].');">Click here</a>'; ?>