我有一个元字段叫做postexpiry
, 我想将该值设置为发布日期+2周。因此,如果今天是10月3日,我希望字段设置为10月17日。
我在考虑创建一个publish_post
筛选,但我不确定如何在get_the_date()
.
我知道用php我可以做这样的事情$dateInTwoWeeks = strtotime(\'+2 weeks\');
但我不知道怎么用它get_the_date()
谢谢
UPDATE
我尝试了以下代码,但没有任何效果:
function dp_expiry() {
$dp_new_expiry_date = strtotime( \'+2 weeks\', strtotime( $post->post_date ) );
update_post_meta( get_the_ID(), \'postexpiry\', $dp_new_expiry_date );
}
add_action( \'publish_post\', \'dp_expiry\' );
Also, 我的主题要求日期在
yyyy-mm-dd
总体安排
UPDATE 2
此代码向字段输出“1209600”。有什么想法吗?谢谢
add_action(\'publish_post\', \'dp_expiry\');
function dp_expiry( $data ) {
$dp_new_expiry_date = strtotime( \'+2 weeks\', strtotime( $post->post_date ) );
update_post_meta( $data[\'post_id\'], \'postexpiry\', $dp_new_expiry_date );
}
SO网友:Hans
get_the_ID()
是循环函数,在这里可能不起作用。您应该使用回调的参数:
function dp_expiry( $ID, $post ) {
$dp_new_expiry_date = strtotime( \'+2 weeks\', strtotime( $post->post_date ) );
update_post_meta( $ID, \'postexpiry\', $dp_new_expiry_date );
}
add_action( \'publish_post\', \'dp_expiry\', 10, 2 );
publish_post
只适用于帖子,不适用于页面。您可以使用
publish_{post_type}
用于自定义帖子类型。