添加以下代码到你的主题或插件的functions.php文件中:
add_action( 'admin_init', 'block_users' );
function block_users() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}
add_action( 'wp_ajax_my_action', 'my_action_callback' );
function my_action_callback() {
// 这里是你的 ajax 功能代码
wp_die(); // 一定要结束最后一行
}
这段代码将会只允许管理员访问wp-admin页面,而其他用户则会被重定向到首页,但这里同时允许了对wp-admin/admin-ajax.php的请求,因为有时候某些插件需要使用ajax调用来执行一些动态功能(比如异步加载某些内容)。
你需要随时检查并确保你的功能代码块中正确引用了wp-admin/admin-ajax.php
这个文件路径。在上面的代码中,我们假设你正在执行一个动态功能,这个功能已经定义为 my_action
,当要执行这个函数的时候,你需要在这个函数里面编写自己实际需要实现的动态功能代码。