在WordPress之外插入帖子的最有效方式是什么?

时间:2014-03-07 作者:achairapart

我需要通过插入帖子PHP 在Wordpress环境之外(但在同一台服务器上),我正在寻找最有效的方法来做到这一点。

我在考虑两种解决方案:

1) 如前所述,使用XML-RPChere

2) 加载WordPress core需要wp-load.php 然后使用wp_insert_post()

哪一个使用更少的资源?我只需要在数据库中插入一篇新帖子,我不需要任何插件、主题等支持。有一种更黑客的方法可以做到这一点吗?

非常感谢。

4 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

If you\'re on a remote server, XMLRPC最好,但需要登录详细信息

If you\'re in a PHP script on the same server, wp-load.php 最好(XMLRPC将涉及各种请求)

If you\'re in a bash or CLI script, WP CLI最好,例如:

wp post create --post_type=page --post_status=publish --post_title=\'A future post\' --post-status=future --post_date=\'2020-12-01 07:00:00\'

More on WP CLIs create post command

If you\'re crazy, 一个快速、廉价的原始SQL插入不会触发所需的所有挂钩和API调用,这是与插件、缓存等最不兼容的选项

If you\'re even crazier, 您可以写出一个WXR文件,然后运行WordPress导入程序

If you\'re patient, 将其作为RSS提供,并让WordPress使用聚合插件将其拉入

如果你头脑清醒,那么一开始就不会有任何外部脚本,你将构建一个插件,使用WP-AJAX-API,而不是为表单处理程序等创建一个专用文件。

Unless 你处于某种Symfony或Zend设置中,你的问题表明你正在做一些可怕的错误。

如果你are 然而,在这种情况下,有这样的库,例如:

https://github.com/kayue/KayueWordpressBundle

除其他外。

如果不是你,我会这么说wp-load.php 可能是最安全、最兼容的方式,它不需要昂贵的http请求。这也是大多数库将如何实现它,这也是我将如何实现它。

但请记住,在WordPress中插入/创建帖子本身就是一件昂贵的事情。您可以减少负载,但除非您运行的站点没有插件或帖子,并且只包含hello world示例帖子和页面,否则它永远不会是一个快速的操作。

SO网友:TheDeadMedic

哪一个使用较少的资源?

都不是,真的。

我不需要任何插件、主题等支持。

我想你已经回答了你自己的问题。采用后一种技术(wp-load.php).

SO网友:birgire

有没有一种更老套的方法?

根据Wiktionary <“黑客”是指:

设计不当的变通方法

您可以直接通过SQL或甚至生成.sql 文件并将其直接导入数据库;-)

这条路可能会变得不灵活,甚至泥泞不堪,但却有点粗俗

但总的来说,我会选择数字2).

SO网友:WpMania.Net

由于您在同一台服务器上,为什么不做一个定制的sql quary,我认为它将比使用wp load加载核心文件使用更少的服务器资源。php

结束

相关推荐

Show previous month's posts

我已经设法在1月份浏览了本月的帖子,但我正在努力在去年12月获得上个月的帖子。我想这就是问题所在,那就是2014年,而我所追求的职位是2013年(12月)。如果有人能发现问题,我将不胜感激。我浏览了大量的例子,抄本和WordPress论坛,但没有找到任何有用的东西。 <!-- PREVIOUS MONTH NEWS --> <?php $prevMonth = date(\'M\', mktim