有没有办法在自定义帖子类型创建后为其添加对自定义功能的支持?
我知道如何使用register\\u post\\u type()创建自定义post类型,以及如何使用supports参数指定CPT应该支持的内容;
\'supports\' => array( \'title\', \'editor\', \'author\', \'thumbnail\', \'excerpt\' ,\'headway-seo\')
但是,对于由插件或主题注册CPT的情况,有没有办法在注册后使用WP挂钩/过滤器“注入”CPT的支持元素(操纵支持数组)?
最合适的回答,由SO网友:chrisguitarguy 整理而成
是的,有一个函数叫做add_post_type_support
钩入init
-- 稍后,在创建了post类型之后—并添加支持。
添加对页面摘录的支持,例如:
<?php
add_action(\'init\', \'wpse70000_add_excerpt\', 100);
function wpse70000_add_excerpt()
{
add_post_type_support(\'page\', \'excerpt\');
}
SO网友:Christine Cooper
另一种方法是register_post_type_args
并更新supports
大堆
如果您有第三方插件连接到CPT参数以显示内容,那么这尤其有用。
function wpse70000_add_author_metabox_to_cpt_book( $args, $post_type ) {
if ($post_type != \'POST_TYPE_NAME\') // set post type
return $args;
$args[\'supports\'] = array( \'author\' ); // set the \'supports\' array
return $args;
}
add_filter( \'register_post_type_args\', \'wpse70000_add_author_metabox_to_cpt_book\', 10, 2 );