我使用高级自定义字段创建了一个自定义字段(但我认为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);
}
但我总是得到今天的日期,而不是真正的发布日期。
还有一件事,我不想在将来更新帖子时更新我的自定义字段。所以我考虑了这样一个条件:如果我的自定义字段中填充了数据,那么我什么也不做,但我不能这样做。
有什么想法吗?
提前谢谢,对不起,我的英语很差。
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/