我正在与一位客户一起工作,他选择了一个看起来不错的主题,但实际上删除了很多WordPress功能。无论是否是故意的,它都删除了帖子类型的帖子'。我找到了他们用来做这个的钩子但不幸的是,他们通过一个闭包而不是一个回调来添加它。
以下是主题的示例文章:
add_action('admin_menu', function () {
remove_menu_page("edit.php");
remove_menu_page("edit-comments.php");
}
});
场景是我正在创建一个子主题来添加WP功能。我能想到恢复这个的唯一方法是添加另一个使用add_menu_page的动作。我只是不知道如何恢复它。
我可能不得不切换主题,但他们真的很喜欢这个美学。猜测的缺点是它重新发明了wp-admin后端。它希望我们通过它的界面添加数据,而不是通过传统的帖子'和'页'发布类型。
有人有任何解决方案吗?
答案 0 :(得分:1)
我只看到一个解决方案 - 绝对删除钩子admin_menu
并在完全恢复后(没有关闭)。当然,在操作之前需要更多阅读并了解hook admin_menu
。您可以从remove_all_actions
解决方案2: 如果闭包回调是父主题中的一个,你可以使用简单的“封闭”#39;卸妆:))
//remove closure callback
$hooks = $wp_filter['admin_menu'][10];
foreach ($hooks as $key => $value) {
if (preg_match('|^\d|', $key))
//closure's always started from 00000....(??)
remove_action('admin_menu', $key);
}