恢复'发布'通过儿童主题发布后期类型

时间:2014-10-03 09:47:41

标签: wordpress closures anonymous-function

我正在与一位客户一起工作,他选择了一个看起来不错的主题,但实际上删除了很多WordPress功能。无论是否是故意的,它都删除了帖子类型的帖子'。我找到了他们用来做这个的钩子但不幸的是,他们通过一个闭包而不是一个回调来添加它。

以下是主题的示例文章:

add_action('admin_menu', function () {
remove_menu_page("edit.php");
remove_menu_page("edit-comments.php");

}

});

场景是我正在创建一个子主题来添加WP功能。我能想到恢复这个的唯一方法是添加另一个使用add_menu_page的动作。我只是不知道如何恢复它。

我可能不得不切换主题,但他们真的很喜欢这个美学。猜测的缺点是它重新发明了wp-admin后端。它希望我们通过它的界面添加数据,而不是通过传统的帖子'和'页'发布类型。

有人有任何解决方案吗?

1 个答案:

答案 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);
}
相关问题