【问题标题】:Add options to a Wordpress plugin Custom Post Type via child theme functions.php通过子主题functions.php向Wordpress插件自定义帖子类型添加选项
【发布时间】:2017-02-15 12:31:09
【问题描述】:

我正在为一个网站使用 Uncode 主题。它有一个名为“portfolio”的核心自定义帖子类型。

我需要为此 CPT 添加一个选项,以便它与常规帖子共享标签。

我在 CPT 注册的主题核心中找到了该文件,并添加了以下内容并且它可以工作:

'taxonomies' => array('portfolio_category', 'post_tag')

但是,由于编辑核心文件是一个很大的禁忌,我想知道是否有办法通过我自己的函数文件来做到这一点,所以它是未来的证明?

【问题讨论】:

    标签: javascript wordpress function custom-post-type


    【解决方案1】:

    编辑:很明显我误解了!

    看起来register_taxonomy_for_object_type 就是你想要的。

    WP Codex 有话要说:

    register_taxonomy_for_object_type()

    将已注册的分类法添加到已注册的帖子类型。

    register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
    

    原答案:

    来自WP Codex

    register_post_type()

    创建或修改帖子类型。 register_post_type 只能通过 'init' 操作调用。如果在'init' 之前调用它将不起作用,如果稍后调用,新创建或修改的帖子类型的某些方面将无法正常工作。

    (addtl.强调我的)

    既然如此,你可以创建一个函数

    function igloobob_portfolio_cpt_mod() {
        register_post_type('portfolio', $args);
    }
    add_action('init', 'igloobob_portfolio_cpt_mod', 999);
    

    $args 基本上将 Uncode 主题的参数复制到register_post_type,保存以供您修改。 999 优先级参数是为了确保它在父主题已经注册了帖子类型之后执行。

    【讨论】:

    • 这听起来很完美,卡梅伦谢谢。如果我这样做了,它会影响父主题 CPT 下已经存在的所有帖子还是会保留所有内容?即它们会突然丢失,我需要重新创建它们。
    • @igloobob - 您的帖子及其元数据将保持不变! (顺便说一句,很棒的用户名)
    • 抱歉延迟重播,只是看看这个,所以如果我要将我的新参数添加到该函数,我会这样做吗? 'function igloobob_portfolio_cpt_mod() { register_post_type('portfolio', $args), 'taxonomies' => array('portfolio_category', 'post_tag'); } add_action('init', 'igloobob_portfolio_cpt_mod', 999);'
    • 在再次阅读问题和您的 cmets 后更新了我的答案!
    猜你喜欢
    • 1970-01-01
    • 2015-01-21
    • 2011-11-19
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多