2014-03-30 166 views
5

我创建使用WordPress没有任何插件或任何第三方放置在接受PARAMS和直接通过WordPress的 - 制作简单的Web服务

require_once('../wp-load.php'); 
连接到WP数据库站点根只是简单的PHP文件一个简单的Web服务的最佳实践

,并通过

global $wpdb, $live_site; 
$data = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '".$sessionData['userID']."' AND meta_key='last_login_time'")); 

查询从数据库中的所有数据现在每一件事情进行得很顺利,但包括WP-load.php文件将加载所有WP站点已安装的所有插件和大量的PHP文件包含真的不需要。

我需要一种方式, “Web服务” 的实施YAGNI(You aren't gonna need it)

基本上如何包括全球WPDB $,$ live_site以增强;和所有WP函数没有加载任何其他不必要的文件?

+4

为什么同一句话中是否有“wordpress”和“best practices”? –

+1

为什么在[tag:wordpress]问题中编写“最佳实践”? – Ocramius

+0

您是否考虑过[BackPress](http://backpress.org/),它为Web应用程序提供了WordPress核心功能? –

回答

0

以上所有的答案是非常有帮助的,但在我的情况不适合,因为我需要一种无需加载所有WP插件,主题加载从数据库中的数据,并没有

require_once('../wp-load.php'); 

require_once('../wp-config.php'); 
实际设置

require_once('../ wp-setting.php');

只是我在根站点文件夹包含Redbeanphp lib和config.php文件,我的PHP文件看起来像:

require_once('config.php'); 
require_once 'vendor/rb.php'; 
global $live_site; 

R::setup('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASSWORD); 
$categories = R::getAll('select * from wp_term_taxonomy WHERE parent = 4); 

我希望帮助任何一个真的这很简单:)

1

我建议你看看WordPress REST API这是proposed for Core inclusion in WordPress 3.9。这样你就不需要破解自己的东西,但会得到一个由WordPress开发人员维护的测试良好的API。 从你读过wordpress.com的家伙想要将他们自己的API迁移到核心,他们将确保没有可怕的性能问题袭击他们的服务器。

1

This talk在WordPress中有很多关于现代开发的有用信息,但最相关的主题是this plugin,它会生成一个只读的JSON API。