我是wordpress的新手,我不太了解这一点。
情境有一个插件可以生成短代码[unread_messages]
插件路径是wp-content/plugin/chat/
我在wp-content/custom/messages.php
messages.php
<?php
echo do_shortcode('[unread_messages]');
?>
我通过AJAX
调用请求,例如提供网址wp-content/custom/messages.php
但是这个php文件错误call undefined function do_shortcode
如何访问不属于插件的短代码值。
答案 0 :(得分:1)
首先您无法拨打AJAX
来电,需要先注册AJAX
来电,然后向admin-ajax.php
发送请求
看看这个。
add_action('wp_ajax_nopriv_unread_messages', 'unread_messages');
add_action('wp_ajax_unread_messages', 'unread_messages');
function unread_messages(){
$output['response'] = do_shortcode('[unread_messages]');
wp_send_json( $output );
}
然后像这样打电话给AJAX
。
jQuery.ajax({
url : 'yourwebsite/wp-admin/admin-ajax.php',
type : 'post',
data : {
action : 'unread_messages'
},
success : function( response ) {
}
});
详细了解如何Create AJAX in Plugins
答案 1 :(得分:0)
请创建一个插件,使其具有默认wordpress Ajax的Ajax接口。
您可以从此处获取来源:
https://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/shortcodes.php