自动为所有自定义发布类型指定一个预设类别

时间:2020-02-07 作者:The Chewy

我正在建立一个网站上有5种不同的自定义帖子类型,并希望创建一个归档页面,将所有这些帖子拉进来,然后按照标准的WP日期顺序对它们进行排序。

与每次我添加自定义帖子类型的帖子时手动添加此“全部”类别不同,是否有必要在每次创建新帖子时为自定义帖子类型创建/分配自定义分类法?然后,当我发表文章时,我会手动添加任何其他自定义分类法。

为了显示这个“全部”分类法,我将添加一个自定义分类法归档页面,该页面将显示所有自定义帖子类型。

任何帮助都会很好。

1 个回复
SO网友:Antti Koskinen

您可以使用save_post 钩下面是一个由用户原创的开发人员资源示例Aurovrata Venet.

add_action( \'save_post\', \'set_post_default_category\', 10,3 );

function set_post_default_category( $post_id, $post, $update ) {
    // Only want to set if this is a new post!
    if ( $update ){
        return;
    }

    // Only set for post_type = post!
    if ( \'post\' !== $post->post_type ) {
        return;
    }

    // Get the default term using the slug, its more portable!
    $term = get_term_by( \'slug\', \'my-custom-term\', \'category\' );

    wp_set_post_terms( $post_id, $term->term_id, \'category\', true );
}
对于检查帖子类型,您也可以使用in_array() 因为您有多种帖子类型。

! in_array( $post->post_type, array( \'my_post_type_a\', \'my_post_type_b\', \'my_post_type_n\' ) )
另一种选择是使用特定于post类型的save_post_{$post->post_type} 钩住并将相同的回调函数附加到每个post类型的保存操作。

相关推荐

permalinks issue and archives

我对运行在WP 3.3上的一个站点有一个问题,当我们通过“/%post\\u id%/%postname%/”使永久链接成为任何内容时,归档页面会断开并变成404。经过一些研究,我明白了为什么从性能的角度来看,这不是一个好的做法,所以我尝试了建议的备选方案:“/%year%/%postname%/”和“/%post\\u id%/%postname%/”这两个建议都有效,只是只有使用post\\u id的建议,归档URL才会变成“/date/2012/11/”,并被找到。根据permalink的任何其他建