重定向出wp-admin,而不丢失admin-ajax.php

时间:2011-08-17 作者:Nick Budden

我试图通过在is\\u admin条件中使用wp\\u重定向,将所有非管理员排除在Wordpress管理面板之外。问题是,如果非管理员不能在Wordpress中使用“admin ajax.php”文件进行ajax调用,那么这会产生副作用。看来a few people on the Wordpress forums 最近也有同样的问题。

有没有人能解决这个问题?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

检查DOING_AJAX 常数:

function my_admin_init(){
    if( !defined(\'DOING_AJAX\') && !current_user_can(\'administrator\') ){
        wp_redirect( home_url() );
        exit();
    }
}
add_action(\'admin_init\',\'my_admin_init\');

结束

相关推荐

帮助管理中的快捷码-AJAX

我一直在wordpress中使用ajax,我努力在后端和前端工作,没有遇到太多麻烦,但是在加载时我遇到了一个让post短代码运行的问题post_content 到前端。我注意到:apply_filters( \'the_content\', $content ); 。。将运行,但它只包含我的短代码<p> 标签,就像它在管理中所做的那样。do_shortcode() 使用时将起作用[gallery] 或其他原生wordpress短代码,但不是我在插件中注册的短代码。但是,我的插件短代码