如何在不使用插件的情况下在WP中创建和运行cronjob?

时间:2018-02-01 作者:Quang Hoang

我有个问题,我想知道,需要有人帮忙。

我正在做一个功能,每周和每月向关注者发送电子邮件。目前,我已经编写了一个要使用的函数,但有一点我不知道如何使用cron来运行WP。有人能建议或指导我做什么吗?非常感谢:)

2 个回复
SO网友:wppit

我在我的wppit.com 所以我检查了我的cpanel,发现cronjob导致了这种高负载,因为WordPress必须在各种不同的平台、操作系统和配置上工作,所以不能指望服务器上会有cronjob服务来处理计划任务。这就是为什么WordPress开发人员创建了一个变通方法—wp cron。每当有人加载页面时,就会执行WordPress主文件夹中的php文件。然后检查是否有计划的任务要完成,并在必要时执行。

但是,在某些情况下,此文件可能成为DOS攻击的目标,或者缓存插件可能会干扰其执行,这可能会导致大量服务器负载,或者计划的任务可能无法正确及时地执行。这就是为什么,您可以用一个真正的cron作业来替代这种恒定的文件执行。

首先,您需要禁用每次有人加载您的一个页面时要执行的脚本。为此,请打开wp配置。在WordPress主文件夹中的php文件中,并在“/*行之前添加以下行。就这样,停止编辑!快乐博客。*/”行:1

define(\'DISABLE_WP_CRON\', true);
一旦这样做了,就需要设置一个真正的cron作业并执行wp cron。php文件。你不想太频繁地触发它——对于大多数网站来说,30分钟应该可以。要做到这一点,请登录到您的cPanel并转到位于高级部分的Cron作业工具。

然后,添加每30分钟执行一次的以下命令:1

wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
您需要替换域。com与您的实际域名。Cron作业工具预设了一些最常见的计划,因此您可以从分钟下拉列表中选择每30分钟一次,并在其他计划中放置一个“*”符号。

此处提供更多信息https://www.siteground.com/tutorials/wordpress/real-cron-job/

SO网友:Rick Hellewell

托管位置的控制面板上应该有一个用于添加CRON作业的选项。如果这是自托管的,则需要查找特定于操作系统的信息;问问谷歌。

结束

相关推荐

是否使用WP-Cron对WooCommerce数据进行排序?

我正在用限量版产品建立一个电子商务网站。当产品不再可供购买时,每个Woocommerce产品页面都有一个自定义属性。当产品销售期结束时,“添加到购物车按钮”将被删除。如果原始卖家查看其仪表板页面,我可以显示其活动已结束的通知。但是,管理员需要可视化已完成的产品及其销售统计数据。如果只在原始卖家登录时运行,我不能依赖函数来发送此数据。Logically, do I run a daily WP-CRON job that queries all products, compares the current