我正在使用Dave's Wordpress Live Search。
我遇到的问题是实时搜索 - 它仅适用于已登录的用户。如果我已登录,插件工作正常。我找到了这一行:
'ajaxURL' => admin_url('admin-ajax.php', is_ssl()),
这意味着插件正在使用admin-ajax.php
,我认为未登记的用户无法访问它
我尝试在没有, is_ssl()
的情况下定义ajaxURL:
'ajaxURL' => admin_url('admin-ajax.php'),
但没有帮助。
访问wp-admin/admin-ajax.php
是否有问题?我怎么能改变它?
答案 0 :(得分:6)
这是旧的,但我正在研究这个问题。 您可以复制插件的钩子并添加“no_priv”版本,而不是更改核心。我确信这比复制核心中的文件更优雅。
请参阅:http://codex.wordpress.org/AJAX_in_Plugins
从该页面开始:
“面向观众的Ajax” 从WordPress 2.8开始,有一个类似'wp_ajax_my_action'的新钩子:
'wp_ajax_nopriv_my_action'为未登录的用户执行。 因此,如果您希望为访问者和登录用户触发,则可以执行以下操作:
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');"
答案 1 :(得分:2)
在你的情况下,我会克隆admin-ajax.php并重命名它并从文件中删除所有与管理员相关的条件。
更具体: