从子主题注销帖子类型

时间:2011-06-06 作者:Javier Villanueva

我正在尝试从子主题中注销帖子类型,但我无法这样做,函数中的代码。父主题上的php文件如下所示:

add_action( \'init\', \'mc_projects\' );
function mc_projects() {
    register_post_type( \'project\', array(
        // Default options....
    ) );

}
我在我的孩子主题中尝试的是从init挂钩中删除mc\\u项目操作,如下所示:

remove_action(\'init\', \'mc_projects\', 11);
但它不起作用,即使我将优先级设置为更高的值,我是否做错了什么?

5 个回复
最合适的回答,由SO网友:Scott 整理而成

在子主题函数文件中尝试以下操作。

add_action( \'init\', \'remove_mc_projects\' );
function remove_mc_projects() {
    remove_action(\'init\', \'mc_projects\');
}

SO网友:Raivis Dejus

这对我很有帮助。

add_action( \'after_setup_theme\',\'remove_project_custom_init\', 100 );

function remove_project_custom_init() {
    remove_action( \'init\', \'project_custom_init\');
}
贷记至www.jasonpaul.net

SO网友:Dylan

这是另一个解决方案,abeit有点老套-

在我的父主题中,我的自定义帖子类型如下所示:

if (!(function_exists(\'my_post_type\')))
{
    function my_post_type()
    {
            ...
    }
}
然后,在我的子主题中,我只需将函数重新声明为空-

function my_post_type() { }
希望这有帮助!这是我对这样一个论坛的第一次贡献,所以请原谅我违反了任何格式规则。

SO网友:user3640561

在Wordpress 4.9.7中,上面没有人不适合我,但这解决了我的问题

function delete_post_type(){
  unregister_post_type( \'portfolio\' );
}
add_action(\'init\',\'delete_post_type\', 100);

SO网友:AnaRita

这对我有用。

function override_parent() {
remove_action( \'init\', \'mc_projects\', 0 );
}
add_action (\'after_setup_theme\',\'override_parent\');

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $