Как получить корневой URL WordPress (ABSPATH меняется на каждой странице) - PullRequest
6 голосов
/ 30 мая 2011

У меня установлен WordPress по адресу:

http://example.com/wordpress/

Находясь на домашней странице, константа ABSPATH выводит именно это, но когда вы переходите на другую страницу, например:

http://example.com/wordpress/contact

АСПАТ также превращается в:

http://example.com/wordpress/contact

Вопрос в том, как мне получить фактический корень (выделен жирным шрифтом) независимо от того, на какой странице я нахожусь - без жесткого кодирования?

Меня немного смущает, почему ABSPATH меняет значение, не являются ли константы неизменными после их определения?

Спасибо!

Ответы [ 4 ]

4 голосов
/ 22 ноября 2012

У меня была такая же проблема на странице администратора.Мало того, что вам нужно избегать вставки дополнительной папки, WP может быть установлен в самой папке.

Вот способ, хотя и несколько запутанный и написанный для ясности, который вносит коррективы для этих различных элементов.,Это также позволяет избежать проблем DIRECTORY_SEPARATOR:

if (!defined(PLUGINUPDATEMGR_DOMAIN)) 
    define("PLUGINUPDATEMGR_DOMAIN", strtolower( $_SERVER['HTTP_HOST'] ) );

$wprootbase = strtolower( site_url() );

$wprootstart = strpos( $wprootbase, PLUGINUPDATEMGR_DOMAIN ) + 
    strlen( PLUGINUPDATEMGR_DOMAIN  ); // + 1 to strip the leading slash/backslash

$wprootend = strlen( $wprootbase );

$wproot = substr( $wprootbase, $wprootstart, $wprootend );

echo "Local WP path = '" . $wproot . '"';

Встряхнуть, не перемешать, вывод:

Local WP path = '/wp/wordpress-3.4.2" 

Конечно, YMMV = ;?)

3 голосов
/ 30 мая 2011

вы можете использовать Site_url(); ...:)

0 голосов
/ 20 февраля 2015

Правильный ответ:

<?php echo esc_url( home_url( '/' ) ); ?>

Вот текст, потому что у меня должно быть не менее 30 символов

0 голосов
/ 23 декабря 2012

ABSPATH возвращает абсолютный путь к файлу php на сервере, например / var / www / wordpress /, проверьте вашу установку WordPress.

Ответом на вашу проблему является использование:

site_url ()

или

bloginfo ()

Как упоминалось выше.

Вы также можете использовать

$ var = get_bloginfo ('wpurl');

Чтобы получить значение в переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...