有没有可能修改自定义帖子类型?

时间:2019-07-10 作者:I am the Most Stupid Person

我使用了一个第三方插件,插件创建了一个名为“creations”的自定义帖子类型。

Bu没有存档页面,没有单一页面,没有管理菜单页面。。。但数据正确地保存在数据库中。

是否有可能进入“活动管理”菜单的“存档”页面(&a);单页?

其他所有自定义职位类型的行为应如(例如:如果exclude_from_search 是真的,这不应该改变)

2 个回复
最合适的回答,由SO网友:nmr 整理而成

你可以改变register_post_type() 创建新类型之前的参数。为此,请使用register_post_type_args 滤器

add_filter( \'register_post_type_args\', \'se342540_change_post_type_args\', 10, 2 );
function se342540_change_post_type_args( $args, $post_name )
{
    if ( $post_name != \'cpt_slug\' )
        return $args;

    $args[\'has_archive\'] = true;
    // 
    // other arguments

    return $args;
}

SO网友:WebElaine

如果插件只注册CPT,请删除它并构建自己的CPT。

如果插件做了其他需要保留在站点上的事情,您可以注销帖子类型,然后用自己的插件重新注册。您只需记住,更改设置可能会影响原始插件的工作方式-它可能依赖于CPT中的某些选项。

无论如何,复制插件中注册CPT的部分,然后只调整所需的选项。确保将下面的“post\\U type”替换为实际的CPT名称。

<?php
// Optionally unregister the post type to clear all settings
// (this does not delete any of the posts from the database)
unregister_post_type( \'post_type\' );

// Now, re-register it as in the plugin, but with
// the adjusted settings you need
$args = array(
    // has_archive will provide an archive page
    \'has_archive\' => true,
    // \'supports\' will enable an Editor for single pages
    \'supports\' => array(\'title\', \'editor\', \'author\', \'revisions\', \'page-attributes\'),
    // \'public\' makes it available in a number of places like menus
    \'public\' => true
);
register_post_type( \'post_type\', $args );
?>

相关推荐