插入后更新FLAMINGO_INBOUND帖子类型

时间:2017-12-04 作者:Ben

我很难更新flamingo_inbound 插入后发布作者。

基本上,我在CTF7 用于发送并正确存储在db中的公司名称。该字段对应于特定的公司页面。

这是我目前的代码。

    function my_update_flamingo_inbound_author($post){

    $post_type = get_post_type($post);
    $post_id = $post->ID;

    if($post_type == \'flamingo_inbound\') {

        $company_name = get_post_meta($post_id, \'_field_company-name\', true);

        if($company_name)
        {
            $company_post = get_page_by_title($company_name, \'OBJECT\', \'company\');
            if($company_post)
            {
                $post_author = $company_post->post_author;      
                $post->post_author = $post_author;

                wp_update_post($post);          
            }
        }
    }
}
add_action( \'new_to_publish\',  \'my_update_flamingo_inbound_author\', 10);

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

flamingo插件正在添加帖子并在之后添加元数据。我试图在插入元数据之前访问它。我决定改用added\\u post\\u meta和updated\\u post\\u meta操作。

SO网友:Drupalizeme

您可以使用post typeaction name 并且您可以删除对post类型的不必要检查。

更多关于此的信息wp_transition_post_status

例如:第一次发布帖子时,帖子状态可能会从“草稿”或其他状态转换为“发布”。但是,如果一篇文章已经发布并且只是在更新,“旧”和“新”状态可能在转换前后都是“发布”。

add_action( \'publish_flamingo_inbound\', \'my_update_flamingo_inbound_author\', 10);

并删除对post类型的检查:

if($post_type == \'flamingo_inbound\') {

结束

相关推荐