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

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

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

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

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

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

Solutions Collecting From Web of "Отменить регистрацию типа сообщения из дочерней темы"

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

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

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

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

Кредит отправляется на http://www.jasonpaul.net

Вот еще одно решение, немного испорченное –

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

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

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

 function my_post_type() { } 

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

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

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