Php 删除未在if条件内初始化的菜单页面()
我试图删除一些基于用户角色的菜单页面,但是当我在Php 删除未在if条件内初始化的菜单页面(),php,wordpress,Php,Wordpress,我试图删除一些基于用户角色的菜单页面,但是当我在if条件中添加函数时,它什么也不做 function contributor_posts_action() { if ($role == 'contributor_posts') { // contributor_posts - custom role // echo 'here'; for testing purposes and WORKS, so it goes under the if condition add_ac
if条件中添加函数时,它什么也不做
function contributor_posts_action() {
if ($role == 'contributor_posts') { // contributor_posts - custom role
// echo 'here'; for testing purposes and WORKS, so it goes under the if condition
add_action( 'admin_menu', 'remove_menus_contrib' );
function remove_menus_contrib(){
remove_menu_page( 'edit-comments.php' );
remove_menu_page( 'tools.php' );
remove_menu_page( 'edit.php?post_type=directory' );
remove_menu_page( 'edit.php?post_type=city' );
} // this function doesn't get hooked
add_action( 'admin_bar_menu', 'remove_admin_bar_items', 999 );
function remove_admin_bar_items( $wp_admin_bar ) {
$wp_admin_bar->remove_node( 'new-directory' );
$wp_admin_bar->remove_node( 'new-city' );
}// this one works properly. It's for removing for admin bar.
}
}
add_action( 'admin_init', 'contributor_posts_action' );
尝试将remove\u menu\u contrib()
和add\u操作('admin\u menu','remove\u menu\u contrib')
钩子函数从contributor\u posts\u操作()中拉出
有些Wordpress钩子在其他(自定义)函数中不起作用。您从未调用过这些函数,因此它们不会被执行@Rizier123使用add_操作调用它们,一个工作,另一个不工作。另外,如果我将函数remove-menumes\u contrib()与当前的add\u操作一起添加到if条件
之外,它也会工作。这个$role
来自哪里??将这些函数从admin_init
回调中移除,只留下add_action
s。仍然不工作,admin_bar_菜单也只用于admin barOK,你确定wordpress正在调用admin_菜单吗?我知道admin_菜单是一个钩子,所以应该像其他钩子一样调用。你能尝试删除remove_menu页面()吗删除菜单中的code>功能代码>函数并在其中放置一个die('success')
?什么都没有发生,函数没有初始化。