当前位置:首页 > WordPress > WordPress预定发表日志时出现Missed Schedule错误的解决方法

WordPress预定发表日志时出现Missed Schedule错误的解决方法

时间:2010-01-4 14:13  分类:WordPress  评论数:2 条  

摇钱树博客使用的就是WordPress程序,WordPress有一个非常好的功能,就是预定发表日志,有了这个功能,你就可以一天写好几篇日志,然后让其慢慢发表出来。可是,在本博客升级成WordPress2.9版本后,当使用预定发表日志时,却出现了Missed Schedule错误。在网络上找了好久,终于,找到了解决方法。

其实,解决WordPress预定发表日志时出现Missed Schedule错误的方法其实很简单,就是下载安装一个Scheduled插件,WordPress插件如何安装,就不用我多说了吧。这个插件是由5ubliminal开发的,可是,不知道什么原因,原作者的下载页面已经打不开了,大家可以直接将下面这段代码另存为Scheduled.php文件。

<?php
/*
Plugin Name: Scheduled M.I.A.s
*/
// —————————————————————————–
define(‘PLUGIN_SCHEDULEDMIAS_DELAY’, 15); // Minutes .. change as you wish
define(‘PLUGIN_SCHEDULEDMIAS_OPTION’, ‘_5ub_scheduled_mias’); // Option name
// —————————————————————————–
function _5ubliminal_Replacements_Deactivate(){
    // Drop last update time on deactivate
    delete_option(PLUGIN_SCHEDULEDMIAS_OPTION);
}
register_deactivation_hook(__FILE__, ‘_5ubliminal_Replacements_Deactivate’);
// —————————————————————————–
function _5ubliminal_ScheduledMIAs_Init(){
    // I disable internal cron jobs for post publishing completely
    // … Comment the line below to let WordPress try do its job before we kick in
    remove_action(‘publish_future_post’, ‘check_and_publish_future_post’);
    // Let’s see if enough time passed from last publish
    $last = get_option(PLUGIN_SCHEDULEDMIAS_OPTION, false);
    if(($last !== false) && ($last > (time() – (PLUGIN_SCHEDULEDMIAS_DELAY * 60))))
        return; // Too little time passed, bail here
    // Update to the current time
    update_option(PLUGIN_SCHEDULEDMIAS_OPTION, time());
    // Global $wpdb object
    global $wpdb;
    // Find MIA post_IDs, try both LOCAL datetime and GMT datetime
    $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` = ‘future’”
    );
    if(!count($scheduledIDs)) return; // None found … bail
    foreach($scheduledIDs as $scheduledID){
        if(!$scheduledID) continue; // Just in case
        // Publish each post_ID the WordPress friendly way
        wp_publish_post($scheduledID);
    }
}
add_action(‘init’, ‘_5ubliminal_ScheduledMIAs_Init’, 0); // 0 Priority filter
// —————————————————————————–
?>


分享到:



标签: ,

转载请保留出处 - http://www.moneytreeblog.net/wordpress/wordpres-missed-schedule-plugin.html

上一篇:

下一篇:

相关日志

更多推荐阅读

  • 暂无推荐文章

2 条评论

  1. 双木杉子 说道:

    very good 谢谢分享