我希望写一个cron,以自动更改自定义的帖子类型的任何项目匹配特定的CPT每晚午夜。
例如:我有一个名为“会员”的CPT,但每天午夜左右,我都希望将所有与CPT相关的内容转换为普通的“帖子”类型。我到处找,一直找不出答案。
任何帮助都是非常感谢的。
发布于 2021-04-23 15:16:11
试着做这样的事情:
if (!wp_next_scheduled('update_members_types')) {
wp_schedule_event( time(), 'daily', 'update_members_types' );
}
add_action ( 'update_members_types', 'update_member_post_type' );
function update_member_post_type() {
$args = array(
'post_type' => 'member',
'posts_per_page' => '1',
'date_query' => array(
array(
'after' => strtotime( '-24 hours' )
)
)
);
$members = get_posts( $args );
if ( $members ) {
foreach ( $member as $members ) {
set_post_type( $member->ID, 'post' );
}
}
} Wordpress有一个函数,它允许您为post ID更新post类型。
https://developer.wordpress.org/reference/functions/set_帖子_类型/
注意,cron任务不是按计划在每天午夜运行,而是从初始化开始每24小时运行一次。
https://wordpress.stackexchange.com/questions/387075
复制相似问题