我正在与一个客户谁选择了一个主题,看起来很好,但实际删除了很多WordPress的功能。不管它是不是故意的,它已经删除了“post”的post类型。我找到了他们用来做这件事的钩子,但不幸的是,他们是通过闭包而不是回调来添加的。
下面是这个主题的一个样本:
add_action('admin_menu', function () {
remove_menu_page("edit.php");
remove_menu_page("edit-comments.php");
}});
方案是,我正在创建子主题,以添加回可湿性粉剂功能。我认为恢复它的唯一方法是添加另一个使用add_menu_page的操作。我真的不知道怎么恢复它。
我可能不得不换个主题,但他们真的很喜欢这一个美学。我猜缺点是它重新发明了wp-admin后端。它希望我们通过它的接口来添加数据,而不是通过传统的“post”和“page”post类型。
有人有什么解决方案吗?
发布于 2014-10-03 18:01:21
我只看到一个解决方案-绝对删除钩子admin_menu,然后做完全恢复(不关闭)。当然,在操作之前,需要更多地阅读和学习钩子admin_menu。您可以从remove_all_actions开始
解决方案2:如果闭包回调是父主题中的一个,你可以使用简单的‘闭包’移除器:)
//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);
}https://stackoverflow.com/questions/26176756
复制相似问题