我正在使用添加自定义帖子类型的WordPress主题。
这有点用处,但如果我可以调整一些CTP的配置会更有用。
特别是,我需要调整CTP上定义的功能。我已经有了一系列所需的功能值,例如
$caps = array(
'publish_posts' => 'activate_plugins',
'read_post' => 'read',
... etc
);
是否有一种通用的方法在定义CTP之后用这些值重新配置CTP,即通过functions.php?
或者我是否需要覆盖创建CTP的主题代码,可能使用子主题?
答案 0 :(得分:1)
是的,您可以重新配置已定义的CPT属性。使用以下过滤器:register_post_type_args
Src:https://developer.wordpress.org/reference/hooks/register_post_type_args/
过滤注册帖子类型的参数。
例如,您可以像这样更改slu ::
add_filter('register_post_type_args', 'movies_to_films', 10, 2);
function movies_to_films($args, $post_type){
if ($post_type == 'movies'){
$args['rewrite']['slug'] = 'films';
}
return $args;
}
您可以类似地编辑功能,查看解决了确切问题的已回答的问题: