使用发布日期动态填充发布自定义域

时间:2020-10-01 作者:Jonathan Aryup

我使用高级自定义字段创建了一个自定义字段(但我认为ACF是可选的),我希望他在我发布帖子时动态填写发布帖子的日期。

示例:

如果我今天发布一篇文章,我想在发布操作完成时查找30/09/2020 在我的自定义字段中,如果我将我的帖子安排在明天,那么我想找到明天01/10/2020 在我的自定义字段中。

如果我早点发表我的文章,我也会有同样的想法。

我已经尝试过这一点(与ACF插件相关,但我找到了任何其他类型的解决方案):

add_action(\'acf/save_post\', \'my_acf_save_post\');
function my_acf_save_post( $post_id ) { 
    $value = get_the_date();
    update_field(\'name_of_my_custom_field\', $value, $post_id);
}
但我总是得到今天的日期,而不是真正的发布日期。

还有一件事,我不想在将来更新帖子时更新我的自定义字段。所以我考虑了这样一个条件:如果我的自定义字段中填充了数据,那么我什么也不做,但我不能这样做。

有什么想法吗?

提前谢谢,对不起,我的英语很差。

1 个回复
SO网友:geouser

当您使用函数获取日期时get_the_date() 您需要将$post对象或ID作为第二个参数传递:

$date = get_the_date( $date_format, $post );
这里的第一个参数是PHP日期格式。第二个-Post ID或WP\\u Post对象

以下是一个可行的示例:

add_action( \'acf/save_post\', \'my_acf_save_post\' ); 

function my_acf_save_post( $post_id ) {
    $date = get_the_date( \'Y-m-d H:i:s\', $post_id );

    update_field( \'your_meta_key\', $date, $post_id ); 
}
查看上的文档get_the_date() 作用https://developer.wordpress.org/reference/functions/get_the_date/

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: