为自定义帖子类型设置默认分类术语

jan*_*dso 3 wordpress

我按年份将分类法(更多分类法)分类为自定义后置类型。我想要的是我的自定义帖子类型,当我要添加新帖子时,可以自动将当年作为默认分类术语。

因此,我想用伪代码为自定义帖子类型设置默认的分类术语,其中术语名称为date(“ Y”)。

有什么想法可以做到这一点,和/或如何设置默认分类法术语?

Kal*_*yan 5

您可以使用以下内容:

function prefix_post_year( $post_id ) {
    $current_post = get_post( $post_id );

    // This makes sure the taxonomy is only set when a new post is created
    if ( $current_post->post_date == $current_post->post_modified ) {
        wp_set_object_terms( $post_id, date( 'Y' ), {taxonomy}, true );
    }
}
add_action( 'save_post_{post_type}', 'prefix_post_year' );
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 更改{post_type}为您的帖子类型名称。因此,如果您的帖子类型为“项目”,则操作应为save_post_project
  • 例如,类似地更改{taxonomy}您的分类名称wp_set_object_terms( $post_id, date( 'Y' ), 'project-year', true );
  • 如果您的分类法术语类似于“ project-post-in-2015”,请更改date( 'Y' )'project-posted-in-' . date( 'Y' )