好的,我刚刚使用指南开发了我的第一个自定义Wordpress主题 - 我还是一个菜鸟。我没有使用小部件来填充侧边栏,我想用自己的代码和图像填充它。
所以我想说我想要的第一个侧边栏只显示在主页上,然后我制作的第二个侧边栏显示在每个其他页面上。我可以使用if语句吗?
<?php
if(is_home()){
echo
"<div class="row">
<div class="span3">
<div id="search-box"><img id="search_text" src="http://localhost/Dorsa/wp-content/themes/Bootstrap/img/text_findyourhome.png">
</div>
</div>
</div>
<div class="row">
<div class="span3">
<img class="box_shadow" src="http://localhost/Dorsa/wp-content/themes/Bootstrap/img/box-shadow.png" style="padding-left:0;">
</div>
</div>
<div class="row">
<div class="span3"><div id="news" style="margin-top:275px;margin-bottom:200px">News</div></div>
</div>"
}
else
{
echo
"sidebar 2 code - didn't write it yet"
}
?>
答案 0 :(得分:1)
如果您只想在主页和其他页面中显示一个侧边栏,则可以使用@ChrisHerbert所说的if语句。新的解决方案是创建一个新的模板和侧边栏。
sidebar.php
文件并复制一份。 sidebar-secondary.php
。 <?php get_sidebar(‘secondary’); ?>
修改强>
假设您想要一个侧边栏用于主页并与其他所有侧边栏分开,您可以执行以下操作。
sidebar-secondary.php
。index.php
。这通常包含主页的侧边栏。你会发现一些像<?php get_sidebar() ?>
这样的代码。 page.php
。找到行get_sidebar()
并将其替换为get_sidebar('secondary')
。现在,您的所有页面都将使用辅助侧边栏。如果您的任何页面使用不同的模板,则需要执行相同的操作。single.php
,然后再次找到并将get_sidebar()
替换为get_sidebar('secondary')
。现在,您可以为主页和其他页面设置不同的样式并使用侧栏。
请注意,如果您只想在主页中使用不同的侧边栏,并且在页面的其余部分使用相同的边栏,则还可以在主模板文件index.php
中使用条件。
if( is_home() ){
get_sidebar(); //your main sidebar for homepage
} else {
get_sidebar('secondary'); //your sidebar for other pages
}
答案 1 :(得分:0)
模板肯定是要走的路,但是假设您的“主页”是您的博客页面,您的解决方案应该有效。如果您将主页设置为静态页面(在仪表板的“阅读”部分中),则应使用is_front_page()
功能而不是is_home()
。
我还建议在标记之前使用替代语法并关闭PHP标记,如下所示:
<?php if ( is_home() ) : ?>
<div class="row">
<div class="span3">
<div id="search-box"><img id="search_text" src="http://localhost/Dorsa/wp-content/themes/Bootstrap/img/text_findyourhome.png">
</div>
</div>
</div>
<div class="row">
<div class="span3">
<img class="box_shadow" src="http://localhost/Dorsa/wp-content/themes/Bootstrap/img/box-shadow.png" style="padding-left:0;">
</div>
</div>
<div class="row">
<div class="span3"><div id="news" style="margin-top:275px;margin-bottom:200px">News</div></div>
</div>
<?php else: ?>
<!-- sidebar 2 code - didn't write it yet" -->
<?php endif; ?>