2012-02-27 2 views
2

Я разрабатываю плагин Wordpress, и у меня есть некоторые проблемы с $_SERVER['HTTP_HOST'].

Это указывает на то, что совершенно неверно. Я называю это из своего каталога плагинов в моей установке Wordpress, и это связано с http://www.richmindonline.com/testenvironment/wp-admin/www.richmindonline.com

Правильный путь для этого, я предполагаю, должен быть просто http://www.richmindonline.com/testenvironment. Можно ли обрезать это или каким-то образом создать перенаправление в моем файле плагина?

Я думаю, мне не нужно отправлять код для этого. Пожалуйста, дайте мне знать, если вы хотите, чтобы я опубликовал часть кода.

UPDATE

Вот мой файл .htaccess в корневой директории этой установки, если это поможет.

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /testenvironment/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /testenvironment/index.php [L] 
</IfModule> 

# END WordPress 
+0

Как вы используете эту переменную? – Gumbo

+2

Хост никогда не имеет в нем директории. Вы действительно должны видеть «www.richmindonline.com». И, да, вам обязательно нужно отправить _a testcase_. –

+0

Подумайте, есть ли какие-то.htaccess файлы возиться со значением. –

ответ

1

Если вы хотите, чтобы указать на файл в каталоге плагинов, один из способов, которыми я регулярно делать это, чтобы использовать функцию plugins_url, где в следующем примере ' yourfile.php «будет заменен с уникальным значением, в данном случае„process.php“:

$new_variable = plugins_url('yourfile.php', _FILE_); 

Это установить переменную (для большинства Wordpress устанавливает) в» http://YOURDOMAIN.com/wp -поперечник/плагины/yourfile.php. Тем не менее, хорошая вещь об использовании функции plugins_url заключается в том, что если у кого-то есть нестандартная установка Wordpress и плагины находятся в другой папке, функция все равно может определить, где находится правильный PHP-файл.

Если файл PHP, который вы хотите найти, находится в подпапке, просто измените «yourfile.php» на «subfolder/yourfile.php».

Если я неправильно понимаю, что вы пытаетесь выполнить, и вам просто нужен базовый url, Wordpress может использовать функцию home_url(). См. (Http://codex.wordpress.org/Function_Reference/home_url).

Другой способ добраться до файла в папке плагина - использовать plugin_dir_url().

Пример:

$new_variable = plugin_dir_url(_FILE_) . 'yourfile.php'; 

Затем в форме, использование:

<action = "<?php echo $new_variable; ?>"> 

Все различные функции URL-адреса описаны здесь: http://codex.wordpress.org/Function_Reference/site_url.

+0

Крис, я думаю, что я могу использовать home_url в файлах шаблонов. Неужели я ошибаюсь? –

+0

Да, я пытаюсь вызвать baseurl установки, и это должен быть динамический вызов, так как каталог пользователей всегда будет другим –

+0

Крис, это делает это !!! Позвольте мне протестировать другую установку, и я продолжу и прошу ответить. Мой плохой для предположения home_url() был полезен только для файлов шаблонов. –

0

Ну, из того, что я помню, HTTP_HOST предоставляется клиентом.

Вы всегда можете обрезать его функцией или использовать $ SERVER ['SERVER_NAME'] и некоторые другие ухищрения.

0

Вы можете попробовать это

$_SERVER['PATH_INFO'] 
+0

это просто указывает на то же место, я просто попробовал. –

+0

где вы разместили код? – Dips

+0

Исправление, что на самом деле делает его еще хуже. Вот что я показываю, когда я его заменяю '$ _SERVER [' SERVER_NAME '] '. Я получаю' http: // www.richmindonline.com/home2/fortehom/public_html/richmindonline' –

Смежные вопросы