我想知道是否有一种脚本可以自动创建从“今天”到“结束日期”(由脚本手动设置)的每日帖子。因此,每次迭代后,post_date将是$ date + 1day。
首先我不知道此脚本是否必须在functions.php或elsswhere中执行...
第二,我是php的新手,所以我了解了如何使用“ wp_insert_post”创建1个帖子,但我不知道如何将其插入循环中。
如果有人有主意,请寻求帮助... 非常感谢
答案 0 :(得分:1)
是的,我们当然可以做到。
通过/wp-includes/post.php的挖掘,您可能需要执行一些步骤:
按代码所示插入帖子。
function daily_post_article() {
$begin = new DateTime("2018-11-01");
$end = new DateTime("2018-12-15");
$interval = DateInterval::createFromDateString("1 day");
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $dt) {
$publishDate = $dt->format("Y-m-d");
$postTitle = "Daily Post Title => ".$publishDate;
if ( !get_page_by_title( $postTitle, "OBJECT", "post" ) ){
$args = array(
"post_title"=> "Daily Post Title => ".$publishDate,
"post_type"=>"post",
"post_date" => $publishDate,
"post_status"=>"future"
);
$time = strtotime( $postdate . " GMT" );
$post_id = wp_insert_post( $args );
wp_schedule_single_event( $time, "publish_future_post", array( $post_id ) );
}
}
}
add_action("wp", "daily_post_article");
每个帖子将在选定的日期自动发布。