Wordpress PHP if заявление, чтобы обнаружить URL и специфическую для сервера страницу header.php - PullRequest
0 голосов
/ 29 июня 2011

В WordPress я хотел бы показать пользовательский header.php, если URL содержит определенную строку (в данном случае / support / также включить / support / forums /).Я посмотрел вокруг и попробовал много разных комбинаций, но не могу заставить его работать.Ниже приведен код, который я имею, любая помощь будет принята с благодарностью!используйте стандартные вызовы WordPress, потому что это просто слаг, а не пост / категория / .etc.

Спасибо !!

Ответы [ 4 ]

1 голос
/ 29 июня 2011

Еще один очень похожий способ будет:

<?php $uri_segments = explode( '/', $_SERVER['REQUEST_URI'] );
if ( in_array('support', $uri_segments) ) { get_header('xxxx'); }else{ get_header(); }
?>
0 голосов
/ 30 июня 2011
  1. Длина сравниваемой строки, support не 5 символов, поэтому оператор if всегда ложен.

  2. TheURI обычно начинается с / в позиции 0, поэтому включите его в строку для сравнения или начните сравнение в позиции 1.

Я бы использовал:

if (substr($_SERVER['REQUEST_URI'], 0, 9) !== '/support/') {
0 голосов
/ 29 июня 2011

Предположим, что ваш URI всегда имеет строку 'support' в этой позиции (сначала), ваш код выглядит нормально, я не вижу там никакой ошибки. Но помните, что аргумент функции get_header () - это суффикс, который вы должны добавить к имени файла. Итак, если у вас есть:

get_header('test');

Ваш заголовочный файл должен иметь имя: header-test.php

Кроме того, чтобы быть уверенным, что вы всегда найдете строку, даже если она меняет положение в URI, вы можете сделать это следующим образом:

$params= explode('/',$_SERVER['REQUEST_URI'] );

if(in_array('support', $params)) {
    get_header('support');
} else {
    get_header();
}
0 голосов
/ 29 июня 2011

Вы забыли свой код? Ничего не появляется.

В любом случае $_SERVER['QUERY_STRING'] - это значение, которое вы ищете, затем вы можете использовать PHP-функции для работы со строками, такие как explode() или, что еще лучше, strpos(), чтобы найти и отреагировать на все, что вам нужно, узнать больше о функции взорвать страницу руководства PHP и strpos Страница руководства PHP и около зарезервированная переменная _SERVER

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