Доступ к API WordPress в моем приложении PHP - PullRequest
2 голосов
/ 26 октября 2011

Я обращаюсь к API WordPress из моего PHP-кода, включая 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

Спасибо!

Ответы [ 3 ]

0 голосов
/ 26 октября 2011

Я думаю, что @silent означает, что вам нужно включить оба, чтобы он работал.Однако мне нужно и то, и другое, когда я запускаю WordPress.

0 голосов
/ 17 декабря 2013

Взгляните на это 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');

делает свое дело.

0 голосов
/ 26 октября 2011

Для всего WordPress, который доступен вне системы WordPress, вы должны включить wp-load.php

include("/absolute/path/to/wp-load.php");
//do whatever you want
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...