2013-11-20 57 views
2

一些插件,在WordPress的使用Ajax僅當您登錄爲管理員或添加這些掛鉤工作:獲取阿賈克斯爲所有用戶工作WordPress的

add_action('wp_ajax_my_action', 'my_action_callback'); 
add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); 

但我真的很不好受時間讓一切爲非管理員用戶工作,我想知道是否有一種簡單的方法(用於js/php noobs)告訴wordpress全局激活alls用戶的所有ajax功能,無論是否登錄。

我知道這可能是一個非常愚蠢和風險的方式,如果可能以某種方式,但請讓我知道!?!!?

回答

1

明智的PHP,你用上面的代碼擊中頭部。這對於每個AJAX操作都是必需的,因爲每個操作當然會調用不同的函數。現在

,我讓你使用的是默認的WordPress AJAX調用的假設 -

jQuery.post(ajax_object.ajax_url, data, function(response) { 

如果情況確實如此,對於前端的要求很可能ajax_object.ajax_url未設置。要設置此項,請將以下內容添加到您的functions.php文件中 -

<?php 
add_action('wp_head', 'plugin_set_ajax_url'); 
function plugin_set_ajax_url() { 
?> 
    <script type="text/javascript"> 
     var ajax_object = {}; 
     ajax_object.ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>'; 
    </script> 
<?php 
} 
?>