有一个工作代码可以从 facebook 中提取一篇文章,将其解析为组件并将其添加到站点数据库中。
有一个缺点 - 它现在挂在前端,并且在我访问站点/更新时开始工作 - 它有效。
我怎样才能让它在“后台”的后端工作?
在代码中,输入您需要转向从 FB 提取信息并每小时处理一次的函数的时间。
场景如下:我在 facebook 上发布了新闻,一个小时后,WordPress 代码本身会定期检查并将新闻添加到数据库中(如果有的话)。比方说,该网站是通过 facebook 填充的,而无需对该网站进行任何其他操作!
谁知道这件事?
更新
插件文件中的代码 ****-admin.php
add_filter('cron_schedules', 'add_weekly_cron_schedule');
function add_weekly_cron_schedule($schedules)
{
$schedules['five_min'] = array(
'interval' => 300
);
return $schedules;
}
if (!wp_next_scheduled('my_task_hook')) {
wp_schedule_event(time(), "five_min", 'my_task_hook');
}
// добавляем крон хук
add_action('my_task_hook', 'my_task_function');
function my_task_function()
{
wp_mail('mypost@mail.com', 'Статья новая', 'Запланированное письмо от WordPress.'); // информирую сам себя что крон сработал
$post_data = array(
'post_title' => 'название статьи',
'post_content' => 'тело',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(0)
);
wp_insert_post($post_data);
}
在服务器上注册
/usr/bin/wget -qO- /home/toys4k00/домен/cbc/wp-cron.php?doing_wp_cron
添加到 wp-config.php
define('DISABLE_WP_CRON', true);
define('ALTERNATE_WP_CRON', true);
刚才我注意到您的 wget 命令是如何编写的。是的,它只是不适用于本地文件!
您需要指定网址:
但这还不够。日志中出现“无法执行二进制”消息。为什么?是的,因为 cron 在最小环境中运行。要让命令在 cron 中运行,您需要像这样运行它:
选项经过测试和工作。我有 CentOS,在其他系统上,您需要查看用户的主文件夹并查看配置文件的名称。也许,例如,
.profile。也可以直接通过php调用:
此外,php 不需要安装配置文件。此选项也已经过测试并且有效。