Как добавить параметр "supports" для произвольного типа записи?
Есть ли способ добавить поддержку произвольной функции для пользовательского типа записи после того, как он был создан?
Я знаю, как создать произвольный тип записи с помощью register_post_type() и как использовать параметр supports для указания того, что должен поддерживать CPT;
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt' ,'headway-seo')
Но для ситуаций, когда CPT регистрируется плагином или темой, есть ли способ "внедрить" элементы поддержки (манипулировать массивом support) CPT после его регистрации, используя хук/фильтр WordPress?

Да, существует функция add_post_type_support
Подключитесь к хуку init
— поздно, после создания типов записей — и добавьте поддержку.
Например, добавление поддержки цитат (excerpts) для страниц:
<?php
add_action('init', 'wpse70000_add_excerpt', 100);
function wpse70000_add_excerpt()
{
add_post_type_support('page', 'excerpt');
}

Альтернативный подход — использовать хук register_post_type_args
и обновить массив supports
.
Это особенно полезно, если у вас есть сторонние плагины, которые подключаются к аргументам CPT для отображения контента.
function wpse70000_add_author_metabox_to_cpt_book( $args, $post_type ) {
if ($post_type != 'POST_TYPE_NAME') // укажите тип записи
return $args;
$args['supports'] = array( 'author' ); // задайте массив 'supports'
return $args;
}
add_filter( 'register_post_type_args', 'wpse70000_add_author_metabox_to_cpt_book', 10, 2 );
