2016-04-24 2 views
0

У меня есть posttype, к которому у меня есть шаблоны страниц, назначенные с использованием шаблона страницы пользовательского posttype плагина, так что мои сообщения с вложениями img в posttype отображаются с использованием определенного шаблона. В моем header.php у меня есть кодне удалось выполнить эхо-пользовательский заголовок, если страница

if (is_page_template ('page-book.php')) 
       { $currenturl=$_SERVER['REQUEST_URI']; 
        $booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
        $booktitle = str_replace("-", " ", $booktitle); 
        $booktitle = strtoupper($booktitle); 
        echo $booktitle; 
       } 

но отголоски URL поста в названии вместо обычая эхо

как я получить его повторить собственный титр

ответ

0

Эта линия $currenturl = $_SERVER['REQUEST_URI']; вашего кода только возврата строка, которая является частью URL.

Например, данный url http://mybooks.com/books/title возвращает /books/title, а при попытке заменить его пустой строкой ничего не заменяет, потому что функция str_replace не находит соответствия.

Для вас, чтобы получить заднюю часть URL, вы можете использовать basename

Например

echo basename($currenturl); 

Она возвращает последнюю часть URL и что

title.

0

Ваш код, похоже, работает для меня. Попробуйте остроумие эти решения:

Решение 1:

$currenturl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
$booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
$booktitle = str_replace("-", " ", $booktitle); 
$booktitle = strtoupper($booktitle); 
echo $booktitle; 

или попробовать отладки его с чем-то вроде этого:

Решение 2:

$currenturl = "http://mybooks.com/books/this-is-the-book-title"; 
$booktitle = str_replace("http://mybooks.com/books/", "", $currenturl); 
$booktitle = str_replace("-", " ", $booktitle); 
$booktitle = strtoupper($booktitle); 
echo $booktitle; 
Смежные вопросы