无作为
不仅仅是一种态度!

wordpress纯代码实现WP采集到的草稿文章每天定时发布

wordpress纯代码文章自动采集功能教程分享,能够每天定时自动采集wp的文章到草稿箱,然后再定时发布,其实标题就已经概括了这一代码的教程了,无需安装第三方插件。

一、纯代码实现WP采集到的草稿文章每天定时发布

定时将草稿箱中的文章改为已经发布的状态,纯代码实现的方法。您也可以通过这种方法实现其他定时任务。

表示有了这个功能,最近又能愉快的偷懒了。

当我们使用采集插件采集到文章以后,并不想让它立刻发布,而是希望它在规定的时间点发布。

这样做经验上来看是有利于SEO的。但是每天都去手动去更新一下文章状态显得太low了。

下面的代码可以帮你实现定时发布的功能:

//定时任务,每天凌晨0点钟
add_action( 'wp', 'zrz_post_schedule' );
function zrz_post_schedule() {
    if (!wp_next_scheduled( 'zrz_post_schedule_event' )) {
        $date = new DateTime( 'tomorrow', new DateTimeZone('Asia/Shanghai') );
        $timestamp = $date->getTimestamp();
        wp_schedule_event($timestamp, 'daily', 'zrz_post_schedule_event');
    }
}
 
//修改文章状态动作
add_action( 'zrz_post_schedule_event', 'zrz_post_schedule_do_this_daily' );
function zrz_post_schedule_do_this_daily() {
    $args = array(
        'orderby'          => 'date',//按照时间排序
        'order'            => 'ASC',//升序排列,ID从小到大
        'post_type'        => 'post',//文章类型
        'post_status'      => 'draft',//只检查文章状态是草稿的文章
        'posts_per_page'   => 10,//要发布的数量
     );
     $posts = get_posts( $args );
     if(count($posts) > 0){
         foreach ($posts as $post) {
             $my_post = array(
                 'ID'           => $post->ID,
                 'post_status'   => 'publish',
             );
             wp_update_post( $my_post );
         }
     }
}

请将上面的代码复制到主题的 functions.php 文件

如果时间不准确,请将下面代码也放入 functions.php 文件,刷一下首页,然后删掉即可。

$times = wp_next_scheduled( 'zrz_post_schedule_event' );
wp_unschedule_event( $times, 'zrz_post_schedule_event' );
 
$date = new DateTime( 'tomorrow', new DateTimeZone('Asia/Shanghai') );
$timestamp = $date->getTimestamp();
wp_schedule_event($timestamp, 'daily', 'zrz_post_schedule_event');

你可以通过这种方式进行其他定时任务,比如定时评论、定时通知、定时更新数据等等。

tips:就这没啥用的教程代码居然还需要收费登录可见,真不知道那些鸟人博客主脑子想啥呢?

历史上的今天:
赞(666) 打赏
所有免费资源、福利、电影、破解软件未经允许不得转载:www.wuzuowei.net无作为 » wordpress纯代码实现WP采集到的草稿文章每天定时发布

留下评论 抢沙发

无作为-不仅仅是一种态度

登录/注册广告合作

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏