WordPress采集文章后,定时发布纯代码

  • A+
所属分类:建站相关

代码添加到当前主题的 functions.php最后一个?>前面即可。

  1. /**
    * 定时发布 插件
    */
    if(!function_exists('add_action')){
        header('Status 403 Forbidden');
        header('HTTP/1.0 403 Forbidden');
        header('HTTP/1.1 403 Forbidden');
        exit();}
    /**
    * 定义发布时间间隔 单位分钟
    * WPMS_DELAY
    */
    define('WPMS_DELAY',1);
    define('WPMS_OPTION','wp_missed_schedule');
    function wpms_replace(){
        delete_option(WPMS_OPTION);
    }
    register_deactivation_hook(__FILE__,'wpms_replace');
    function wpms_init(){
        remove_action('publish_future_post','check_and_publish_future_post');
        $last=get_option(WPMS_OPTION,false);
        if(($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return;
        update_option(WPMS_OPTION,time());
        global$wpdb;
        /**
         * 获取需要发布的文章,draftpublish状态
         */
        $scheduledIDs=$wpdb->get_col("SELECT`ID`FROM`{$wpdb->posts}`"."WHERE("."((`post_date`>0)&&(`post_date`<=CURRENT_TIMESTAMP()))OR"."((`post_date_gmt`>0)&&(`post_date_gmt`<=UTC_TIMESTAMP()))".")AND`post_status`='draft'LIMIT 0,1");
        if(!count($scheduledIDs))return;
        foreach($scheduledIDs as$scheduledID){if(!$scheduledID)continue;
            wp_publish_post($scheduledID);}
    }
    add_action('init','wpms_init',0);

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

私密评论