我正在为客户更新旧网站。这是2009年的一个非常古老的wordpress。许多代码混合了静态和动态。
根据页面模板,侧边栏会根据不同的页面进行更改。
这是当前的条形码
<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>
当我将固定链接更改为prettypermalinks时,会打破侧边栏并出现此错误“无法找到侧边栏”
当我将永久链接更改回默认值时,它会再次起作用。
有没有人知道这个问题?感谢
答案 0 :(得分:0)
这可能是由于$ _GET请求专门查找页面ID而不是slug,或更新永久链接后查询字符串中的内容。
试试这个。
<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>
同样为了将来参考,&#34;找不到侧边栏&#34;消息实际上不是&#34;错误&#34; - 它只是你从最后一次获得的输出&#34; if&#34;。