Отменить регистрацию типа публикации из дочерней темы


Я пытаюсь отменить регистрацию типа сообщения из дочерней темы, но я не смог этого сделать, код в funcions.php файл родительской темы выглядит примерно так:

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

}

Что я пытался сделать в своей дочерней теме, так это удалить действие mc_project из крючка инициализации следующим образом:

remove_action('init', 'mc_projects', 11);

Но это не сработало, даже когда я установил приоритет на какое-то более высокое значение, я делаю что-то не так?

Author: fuxia, 2011-06-06

5 answers

Попробуйте выполнить следующие действия в файле функций дочерней темы.

add_action( 'init', 'remove_mc_projects' );
function remove_mc_projects() {
    remove_action('init', 'mc_projects');
}
 4
Author: Scott, 2011-06-24 12:56:27

Это помогло мне.

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

function remove_project_custom_init() {
    remove_action( 'init', 'project_custom_init');
}

Заслуга принадлежит www.jasonpaul.net

 10
Author: Raivis Dejus, 2014-05-09 13:23:12

Вот еще одно решение, немного банальное -

В моей родительской теме мой пользовательский тип записи создается следующим образом:

if (!(function_exists('my_post_type')))
{
    function my_post_type()
    {
            ...
    }
}

Затем в моей дочерней теме я просто повторно объявляю функцию пустой -

function my_post_type() { }

Надеюсь, это поможет! Это мой первый вклад в подобный форум, поэтому, пожалуйста, извините за любые правила форматирования, которые я нарушил.

 2
Author: Dylan, 2012-02-18 16:24:12

Никто из вышеперечисленных не работает для меня в Wordpress 4.9.7, но это решает мою проблему

function delete_post_type(){
  unregister_post_type( 'portfolio' );
}
add_action('init','delete_post_type', 100);
 2
Author: user3640561, 2018-08-02 01:04:42

Это сработало для меня.

function override_parent() {
remove_action( 'init', 'mc_projects', 0 );
}
add_action ('after_setup_theme','override_parent');
 1
Author: AnaRita, 2014-09-08 13:26:31