通过post-new设置WordPress帖子格式

时间:2017-02-21 03:30:14

标签: php wordpress

我想在创建新帖子时将帖子设置为帖子类型“状态”。我不想检查该框,因为这是一次点击。我希望我的书签有一种语法,如:wp-admin / post-new.php?post_format = Status可以做到这一点,但它似乎不起作用。我不想更改我的默认格式,我想在新的帖子创建时这样做。

有没有办法让这项工作?

2 个答案:

答案 0 :(得分:0)

您可以使用save_post操作执行引用的here

function update_post_status( $post_id ) {
  set_post_type( $post_id, 'status' );

}
add_action( 'save_post', 'update_post_status' );

修改:您可以相应地执行检查以验证并检查您是否正在处理您实际想要更新的帖子。在codex链接示例中有更多验证技术。

答案 1 :(得分:0)

我想你想要的是为自定义帖子类型设置一个特定的帖子格式。以下是可能有用的代码。我使用get_the_terms钩子来获取所有术语,并使用特定的帖子类型仅返回音频后期格式。您可以使用您希望的任何帖子格式更改音频。

请将your_post_type_name替换为您正在使用的帖子类型。

add_filter( 'get_the_terms', 'my_post_format_terms', 10, 3 );

function my_post_format_terms( $terms, $post_id, $tax ) {

    if ( 'post_format' === $tax && empty( $terms ) && 'your_post_type_name' === get_post_type( $post_id ) ) {

        $audio = get_term_by( 'slug', 'post-format-audio', $tax );

        $terms = array( $audio );
    }

    return $terms;
}