发布或更新帖子时设置自定义字段的值

时间:2017-11-02 作者:GuitarExtended

我试图在发布或更新自定义帖子类型(“film”)时设置自定义字段的值。最终目标是在发布或更新帖子时,根据URL字段从API获取元数据。

我试着用add_action( \'save_post_film\', \'get_film_data\', 10, 2 );, 具有以下功能:

function get_film_data( $post_id ) {

    // If this is just a revision, don\'t send the email.
    if ( wp_is_post_revision( $post_id ) )
        return;

    $value = \'something\'; // The value depends in fact on the value of another field
    update_post_meta($post_id, \'some_custom_field\', $value);
}
这仅在创建新帖子时有效。编辑表单打开时,自定义字段的值已设置。但由于某种原因,这篇文章一发表就行不通了。

我做错了什么?

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

在我看来save_post 与您当前的工作方式不同add_action.

根据Codex,您需要在save_post 并在函数中检查post类型。

function get_film_data( $post_id ) {

   if ( get_post_type($post_id) == \'film\' ) {

        // If this is just a revision, don\'t send the email.
        if ( wp_is_post_revision( $post_id ) )
        return;

        $value = \'something\'; // The value depends in fact on the value of another field
        update_post_meta($post_id, \'some_custom_field\', $value);

    }

}
add_action( \'save_post\', \'get_film_data\', 10, 2 );

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在