如何从外部php文件插入帖子?

时间:2017-01-20 作者:Moti Winkler

我在根目录中有一个php文件,我看到了从外部php文件插入帖子的示例,但由于某些原因,它对我不起作用,wp_insert_post() 始终返回0

那有什么问题?我怎样才能修复它?

我试图构建一个Cron作业文件,以便最终从XML文件插入新的帖子

非常感谢。

CronJob。php:

<?php 

require_once  \'./wp-load.php\';

$new_post = array(
    \'post_title\' => \'My New Post\',
    \'post_content\' => \'Lorem ipsum dolor sit amet...\',
    \'post_status\' => \'publish\',
    \'post_date\' => date(\'Y-m-d H:i:s\'),
    \'post_author\' => \'3\',
    \'post_type\' => \'post\'
);
$post_id = wp_insert_post($new_post);

var_dump($post_id); die; // Return  int(0)

2 个回复
SO网友:Ravi Shinde

最好的方法是在主题函数中编写上述代码。php。通过这种方式,您将可以访问所有WP内置函数、挂钩、操作等。

然后使用Cronjob调度程序插件-https://wordpress.org/plugins/cronjob-scheduler/ 定期运行函数。

SO网友:Deepak Singh

你应该确保wp-load.php 当您要在WordPress安装之外的PHP文件中设置WordPress环境时,正在正确加载。

没有任何函数可以在WordPress环境之外获取它。您必须手动设置它,具体取决于您的目录结构。

您应该首先定义WordPress路径,如下所示

define( \'WPPATH\', dirname(dirname(__FILE__)) . \'/wordpress/wp-load.php\' );

require_once (WPPATH);
在这里,你必须发出回声dirname(dirname(__FILE__)) 并相应地匹配WordPress根目录URL,因为它将服务器更改为服务器。

相关推荐

Wordpress wp-cron not working

Cron未按预期工作。如果我安排帖子或事件管理器事件,如果在发布时间之后访问站点,则不会发布。如果我去http://somedomain.tld/wp-cron.php?doing_wp_cron 它为空,而调试设置为打开。它应该是空的还是应该显示一些错误(如果有)?错误日志为空。WP Crontrol插件显示cron作业。有没有提示下一步要检查什么?