Convert post type to another

时间:2019-07-03 作者:Campioni Del Mondo

我正在设计一个网站,旨在列出当地的活动。理想情况下,注册用户可以从前端上传新活动,网站将按时间顺序显示所有即将到来的活动。

作为第一步,我注册了一个“事件”自定义帖子类型,其中包含几个自定义字段(类别、日期、时间等)。

现在,我正在创建一个cron作业,它每小时循环一次事件,并删除已过期的事件。

查找要删除的事件是一项简单的任务。

1) cron作业首先获取当前日期:

$currentdate= date("Y-m-d");
2)然后获取事件的开始日期(存储在自定义字段中):

$eventdate = get_field(\'date\');
3)并将两者与简单的条件语句进行比较:

if ($currentdate > $eventdate ) do something
在这一点上,我想这样做,以便cron作业将过期事件的post类型更改为完全不同的类型-我认为这将是最好的方法(这样,活动事件的数量不会随着时间的推移而逐渐增加)。

我的问题是:有没有办法告诉Wordpress将一篇文章的类型更改为另一种?

提前感谢您的帮助:3

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

You can use Function Reference/set post type

<?php
$post_id = 15;
if ( set_post_type( $post_id, \'page\'  ) ) {
  echo "Post #$post_id is now a Page";
} else {
  echo "Impossible to transform this post into a page";
}
?>