由于在cron cPanel文件中加载核心文件,WordPress.org不允许我的插件

时间:2014-09-25 作者:Bhuvnesh Gupta

我制作了一个插件并尝试在wordpress上安装。org但Wordpress给我的错误消息是##直接调用核心加载文件是不正确的。

我在插件中使用了一个cron文件。这个cron也可以通过CPanel设置。这就是为什么我必须包括\'wp-config.php\' 我将此作为

include \'../../../wp-config.php\';
我的cron文件路径是这样的

https://www.abc.com/wp-content/plugins/klicktip/cron_execute.php?redirect=1
请帮助我如何在wordpress中包含wp配置文件。org允许我的插件安装在wordpress上。

提前感谢!

2 个回复
SO网友:lippoliv

我认为这是错误的方式。您可以考虑创建wp_schedule_event 然后运行http://www.abc.de/wp-cron.php 根据cPanel Cron的说法,这应该会起作用,而且在WordPress的“想法”中会是一种更好的方式。

-Edit-

创建cron.php (或任何你想调用的文件)在你的插件。而不是从主php文件中包含该cron。php文件。

if (wp_next_scheduled(\'myActionRunCron\') === FALSE) {
    wp_schedule_event(time(), \'hourly\', \'myActionRunCron\');
}
然后向该操作注册一个操作处理程序myActionRunCron

add_action(
    \'myActionRunCron\',
    \'myCronAction\'
);
cron.php-文件中,放置一个名为myCronAction的函数。就是这样。

function myCronAction() {
    // do some stuff
}
然后,此操作将每小时通过WP运行。您可以通过修改wp_schedule_event-呼叫

可以在这里找到如何在cPanel中配置Cronjobon Hostgator

SO网友:Mark Kaplun

你不应该试图包括wp-config.php 或插件中的任何其他加载程序文件

决不能通过绕过WP初始化过程的直接url访问插件。

编写插件的方法是检查URL是否有特定的参数,并且只有当它存在时,您的代码才能完成它的工作。

现在您可以将cron设置为wget 特制的URL,您就完成了。

结束