2014-10-24 3 views
-1

Я обновляю устаревший сайт для клиента. Это был очень старый Wordpress с 2009 года. Много кода смешивается со статическими и динамическими.Wordpress: Pretty Permalink Breaks sidebar PHP

Боковая панель изменяется на разные страницы в зависимости от шаблона страницы.

Это текущая сторона штрих-код

<div id="sidebar"> 
<?php 
    $pageID = $_GET["page_id"]; 
    $sidebar = get_post_meta($pageID, 'sidebar', true); 

    if(is_single()){ 
     $sidebar = 'Blog'; 
    } 

    if(!dynamic_sidebar($sidebar)){ 
    echo "Could not find sidebar"; 
    } 

?> 
</div> 

Когда я изменяю Permalinks к prettypermalinks он ломает боковую панель и получить эту ошибку «Не удалось найти врезку»

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

Есть ли у кого-нибудь идеи? Спасибо

ответ

0

Возможно, это связано с запросом $ _GET, который специально ищет идентификатор страницы, а не что-то вроде пули, или что-то еще в строке запроса после обновления постоянных ссылок.

Попробуйте это вместо этого.

<div id="sidebar"> 
<?php 
    $pageID = get_the_ID(); 
    $sidebar = get_post_meta($pageID, 'sidebar', true); 

    if(is_single()){ 
     $sidebar = 'Blog'; 
    } 

    if(!dynamic_sidebar($sidebar)){ 
    echo "Could not find sidebar"; 
    } 

?> 
</div> 

Кроме того, для дальнейшего использования, сообщение «Не удалось найти боковую панель» на самом деле не «ошибка» - это просто выход, вы получаете от последнего «если».

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