通过Ajax获取短代码值 - wordpress

时间:2017-06-10 04:01:13

标签: php jquery ajax wordpress

我是wordpress的新手,我不太了解这一点。

情境有一个插件可以生成短代码[unread_messages] 插件路径是wp-content/plugin/chat/我在wp-content/custom/messages.php

下创建了一个php文件

messages.php

 <?php

  echo do_shortcode('[unread_messages]');

 ?>

我通过AJAX调用请求,例如提供网址wp-content/custom/messages.php但是这个php文件错误call undefined function do_shortcode

如何访问不属于插件的短代码值。

2 个答案:

答案 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