我正在从我的PHP代码中访问WordPress API,包括wp-blog-header.php和使用get_posts()。
当我的PHP代码与WP目录处于同一级别时,这工作正常。例如:
/blog/[..wp files..]
/index.php
在index.php,我有:
require('blog/wp-blog-header.php');
$post = get_posts(...);
并且运作良好。
但是,当我尝试对目录中的代码执行相同操作时,例如:
/blog/[..wp files..]
/folder/index.php
并在文件夹/ index.php我有:
require('../blog/wp-blog-header.php');
$post = get_posts(...);
这总是让我的应用程序重定向到WP安装(wp-admin / install.php)并且不起作用。
有什么想法吗? API可以在目录中使用吗?
博客配置正确,单独工作正常。
编辑:堆栈跟踪显示在文件夹中使用时应用程序重定向到wp_not_installed()的时间
6 0.4052 3402748 require_once( '/usr/www/juanjo/NuevaWebJuanjo/blog/wp-load.php' ) ../class_wordpress.php:11
7 0.4054 3408296 require_once( '/usr/www/juanjo/NuevaWebJuanjo/blog/wp-config.php' ) ../wp-load.php:30
8 0.4063 3487064 require_once( '/usr/www/juanjo/NuevaWebJuanjo/blog/wp-settings.php' ) ../wp-config.php:19
9 1.3650 6103276 wp_not_installed( ) ../wp-settings.php:100
10 1.6258 7676148 wp_redirect( ) ../load.php:408
11 1.6261 7684480 header ( ) ../pluggable.php:890
谢谢!
答案 0 :(得分:0)
对于在wordpress系统外部访问的所有wordpress,您必须包含wp-load.php
include("/absolute/path/to/wp-load.php");
//do whatever you want
答案 1 :(得分:0)
我认为@silent意味着您需要将两者都包括在内才能发挥作用。但是,当我运行WordPress时,我需要两个。
答案 2 :(得分:0)
看看这个http://www.webopius.com/content/139/using-the-wordpress-api-from-pages-outside-of-wordpress
显然添加:
define('WP_USE_THEMES', false);
之前:
require('blog/wp-blog-header.php');
诀窍。