发布帖子时如何更新自定义域?

时间:2021-04-21 作者:Bhawna Saroha

我使用ACF Pro插件在后期编辑屏幕上创建了两个自定义字段。如果字段为空,我想在用户单击“发布”按钮时将当前用户设置为字段的值。

这就是我调用函数的方式

add_action(\'transition_post_status\', [$this, \'setOwnerAssignee\'], 10, 3);
这是setOwnerAssignee 作用

public function setOwnerAssignee($new_status, $old_status, $post)
{
    if ($new_status == \'publish\' && $old_status != \'publish\' && $post->post_type == \'post\') {
        $current_user = strval(get_current_user_id());
        update_post_meta($post->ID, \'owner\', $current_user, \'\');
        update_post_meta($post->ID, \'assigned\', $current_user, \'\');
        // wp_die(\'die\');
    }
}
我签入了PHPMyAdmin,如果使用wp_die 最后,或者如果我删除if条件。但如果没有这一点,它是行不通的。

我是WordPress开发的新手,所以我可能在做一些愚蠢的事情。

1 个回复
SO网友:Buttered_Toast

看来你需要改变你的行动publish_post.

publish_post 仅在发布帖子时激发。回调函数将只接收一个参数,即post id,使用它您可以执行所有需要的检查,并根据需要更新meta。

顺便说一句,在初始更新中,update-post-meta与ACF的配合不太好。如果元字段为空,则有时不会更新它。

Acf有自己的功能来处理元更新update_field, 最好改用它。

相关推荐

<?php the_post_thbumnail_url(‘Medium’);?>不输出中等大小的图像URL

我目前正在尝试输出具有不同图像大小的帖子缩略图URL;在ssrcset中使用。我当前的代码是:<img class="productimage lazyload" data-src="<?php the_post_thumbnail_url(\'medium\'); ?>" /> 但是,这总是输出全尺寸图像,而不是“中等”。此外,我还尝试使用第一个字符串“null”或post ID;但这仍然不起作用。是否有任何方法可以输出带有特定图