定义后如何重新配置​​自定义帖子类型?

时间:2018-01-28 07:00:43

标签: wordpress

我正在使用添加自定义帖子类型的WordPress主题。

这有点用处,但如果我可以调整一些CTP的配置会更有用。

特别是,我需要调整CTP上定义的功能。我已经有了一系列所需的功能值,例如

$caps = array(
  'publish_posts'       => 'activate_plugins',
  'read_post'           => 'read',
  ... etc
);

是否有一种通用的方法在定义CTP之后用这些值重新配置CTP,即通过functions.php?

或者我是否需要覆盖创建CTP的主题代码,可能使用子主题?

1 个答案:

答案 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;
   }

您可以类似地编辑功能,查看解决了确切问题的已回答的问题:

https://wordpress.stackexchange.com/a/215697/30852