我在plugin_dir_path( __FILE__ ) . 'admin/partials/absb_bt_to_s-admin-display.php'
内有一个正常的功能 show_slider_form_input()。以下是absb_bt_to_s-admin-display.php上的完整代码:
<style type="text/css">
.clearfix:after {
content: '';
display: block;
clear: both;
}
</style>
<?php
function show_slider_form_input(){?>
<div class="row form-group clearfix" >
<div style="width: 20%; float: left; margin-right: 1%;">
Image : <input type="file" name="image[]" />
</div>
<div style="width: 27%; float: left; margin-right: 1%;">
Title : <input type="text" name="title[]" />
</div>
<div style="width: 22%; float: left; margin-right: 1%;">
More Info : <input type="text" name="more_info[]" />
</div>
<div style="width: 22%; float: left; margin-right: 1%;">
Button : <input placeholder="Put the url.." type="text" name="button_link[]" />
</div>
<div style="width: 5%; float: left; ">
<input type="button" class="button button-primar add_more" value="+" />
</div>
</div>
<?php }
现在我在类Absb_bt_to_s {} 的名为new_slider_html的方法中调用此函数,如下所示:
public function new_slider_html(){
include( plugin_dir_path( __FILE__ ) . 'admin/partials/absb_bt_to_s-admin-display.php');
if( !check_ajax_referer( 'absbBtToS-nonce', 'security' ) ){
wp_send_json_error('error!');
}
show_slider_form_input();
}
但我得到500错误。当我删除 show_slider_form_input(); 时,一切看起来都不错。在我看来,这个函数是从类中的函数调用的。但是如何弄清楚这个问题。有什么想法吗?
答案 0 :(得分:0)
您可以做的是在早期plugins_init
或init
wp挂钩上注册您的功能,或在运行预定义功能之前添加function_exists
。
P.S。 所以你包括html(css代码),它也包含你的功能。那么当它失败你试图输出json?我想你需要再次检查你的逻辑。
我最好的建议是从include文件中删除函数包装器并更改调用函数
public function new_slider_html(){
if( !check_ajax_referer( 'absbBtToS-nonce', 'security' ) ){
wp_send_json_error('error!');
}
include( plugin_dir_path( __FILE__ ) . 'admin/partials/absb_bt_to_s-admin-display.php');
}