我想在WordPress中创建一个计数器插件,计数器可以使用php在特定日期,日期,周或月增加到当前日期的x数字。
Wordpress cron 的问题在于您无法将其设置为特定日期,您必须指定一个 inverval(以秒为单位(。因此,如果您希望它每 12 个月运行一次 - 您必须每 30.4375 天运行一次,即 2629800 秒。
您可以阅读推荐的文档,但对于快速解决方案,您可以使用计划 Cron 作业事件生成器,对于每月运行的事件,它会生成以下代码:
// Scheduled Action Hook
function every_month_cron_hook( ) {
}
// Custom Cron Recurrences
function custom_cron_job_recurrence( $schedules ) {
$schedules['every_month'] = array(
'display' => __( 'every_month_label', 'textdomain' ),
'interval' => 2629800,
);
return $schedules;
}
add_filter( 'cron_schedules', 'custom_cron_job_recurrence' );
// Schedule Cron Job Event
function custom_cron_job() {
if ( ! wp_next_scheduled( 'every_month_cron_hook' ) ) {
wp_schedule_event( time(), 'every_month', 'every_month_cron_hook' );
}
}
add_action( 'wp', 'custom_cron_job' );
如果你想从特定日期开始 - 只需根据自己的喜好更改开始wp_schedule_event(time()..
行 - 此参数指定您希望事件发生的第一次时间。这必须采用 UNIX 时间戳格式。
最好的解决方案是使用Unix cron(如果可用(,这为您提供了最大的灵活性。
你可以看看 Wordpress Cron 这是来自Wordpress的一个很好的文档。试一试,如果你遇到一些麻烦,就回到这里;) 调度 WP Cron 事件
基本上,您定义函数并将其挂接到操作。 然后使用wp_schedule_event来计划它。一开始可能会令人困惑,但并不难。希望对您有所帮助。