2017-06-10 74 views
0

我是wordpress中的新成員,對此我不太瞭解。通過Ajax獲取短代碼值 - wordpress

情況有插件可以生成短代碼[unread_messages]
插件路徑是wp-content/plugin/chat/我下wp-content/custom/messages.php

messages.php

<?php 

    echo do_shortcode('[unread_messages]'); 

?> 

創建一個PHP文件,我通過AJAX來電索取如提供網址wp-content/custom/messages.php但這PHP文件給出了一個錯誤call undefined function do_shortcode

如何訪問不屬於插件一部分的簡碼的值。

回答

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

0

請創建一個插件,使其具有來自默認WordPress的Ajax的Ajax接口。

你可以從這裏來源:

https://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/shortcodes.php

+0

我怎麼能叫創建插件後Ajax請求?你能否再解釋一下。 –

+0

https://rudrastyh.com/wordpress/ajax-post-filters.html 哦。我想你在理解如何使用默認的AJAX功能時遇到了麻煩。可能是這個鏈接將幫助你更多地瞭解AJAX調用。 –