wordpress 默认为于当天00:00定时发布

要实现 WordPress 默认将文章定时发布设置为当天 00:00,而非即时发布,我们需要创建一个小插件。这可以通过 WordPress 的 save_post 钩子来实现,该钩子在文章保存时触发。我们可以使用这个钩子来修改文章的发布时间。

下面是一个简单的示例插件,展示了如何实现这一目标:

  1. 创建插件文件

在你的 WordPress 安装的 wp-content/plugins 目录下创建一个文件夹,例如 scheduled-publish-00-00。然后在该文件夹内创建一个文件,例如 scheduled-publish-00-00.php

  1. 编辑插件文件

scheduled-publish-00-00.php 文件中添加以下代码:

<?php
/*
Plugin Name: Scheduled Publish at 00:00
Description: Automatically schedules posts to be published at 00:00 on the same day.
Version: 1.0
Author: Your Name
*/

function schedule_post_at_midnight($post_id) {
    // Check if this is a revision or an auto-save
    if (wp_is_post_revision($post_id) || defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }

    // Get the post type
    $post_type = get_post_type($post_id);
    
    // We only want to modify posts
    if ($post_type !== 'post') {
        return;
    }

    // Get the current time
    $current_time = current_time('timestamp');

    // Get the current date at 00:00
    $midnight = strtotime('today midnight', $current_time);

    // Schedule the post if it is not already scheduled
    if (get_post_status($post_id) !== 'future') {
        wp_update_post(array(
            'ID' => $post_id,
            'post_date' => date('Y-m-d H:i:s', $midnight),
            'post_date_gmt' => gmdate('Y-m-d H:i:s', $midnight),
            'post_status' => 'future'
        ));
    }
}

add_action('save_post', 'schedule_post_at_midnight');
  1. 激活插件

登录到你的 WordPress 管理后台,导航到 “插件” 页面,找到 “Scheduled Publish at 00:00” 插件并激活它。

代码解析:

  • Plugin Header: 插件头部信息,包括名称、描述、版本和作者。
  • schedule_post_at_midnight 函数: 这个函数将在每次保存文章时触发。它会检查当前是否是文章类型,并且当前文章是否不是修订版本或自动保存。如果满足条件,它会将文章的发布时间设置为当天的00:00,并将文章状态设为”future”(未来发布)。
  • add_action(‘save_post’, ‘schedule_post_at_midnight’): 通过 save_post 钩子将 schedule_post_at_midnight 函数与文章保存操作关联起来。

注意事项:

  • 该插件会在每次保存文章时将其发布时间设置为当天的00:00。如果你有其他需要更精细控制的发布时间需求,可以根据实际情况修改逻辑。
  • 确保服务器的时区设置正确,以避免发布时间不准确的问题。

这样,你的 WordPress 网站就会自动将新文章的发布时间设定为当天的00:00。

HTML

HTML5 多媒体

上一篇

HTML

HTML5可以简单地开发应用

下一篇