在我开始之前,我正在寻求你的帮助,因为我有非常基本的html和css技能,而且绝对没有PHP知识!
我想在category.php模板上显示子类别,在caterogy标题和描述下面。我在stackoverflow上找到了一个完美的代码(我添加了一个div类):
<div class="sub-cat-inline"><?php
// if the page visitor views is a category page
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&hide_empty=0');
echo '<ul>' . $new_cats . '</ul>';
}
}
?>
</div>
但是,在对不包含任何子类别的类别或子类别的页面收费时,会显示此文本:“无类别”。
在上面的php代码中,当没有子类别时是否可以隐藏任何文本?非常感谢
如果有兴趣,下面是用于设置div样式的基本css:
.sub-cat-inline li {
width: 100%;
display: inline;
padding: 10px;
}
.sub-cat-inline {
text-align: center;
}
答案 0 :(得分:0)
您可以像这样使用它:
<div class="sub-cat-inline"><?php
// if the page visitor views is a category page
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&hide_empty=0');
if(!empty($new_cats)){
echo '<ul>' . $new_cats . '</ul>';
}
}
}
?>
</div>
答案 1 :(得分:0)
您可以使用hide_if_empty
参数从列表中排除那些没有附加帖子的类别:
<?php
<div class="sub-cat-inline"><?php
// if the page visitor views is a category page
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&hide_empty=1');
echo '<ul>' . $new_cats . '</ul>';
}
}
?>
</div>
此外,如果未找到任何类别,则wp_list_categories()功能将返回“没有类别”#39;文字(你已经注意到了)。
要更改未找到类别时函数返回的内容,可以使用show_option_none
参数:
<?php
<div class="sub-cat-inline"><?php
// if the page visitor views is a category page
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&hide_empty=1&show_option_none= ');
echo '<ul>' . $new_cats . '</ul>';
}
}
?>
</div>
答案 2 :(得分:0)
有一种使用css的解决方法,作为&#34; No category&#34;默认情况下,text链接到css属性:cat-item-none
使用display:none;隐藏该文本,但我确定有一种方法可以防止该文本与php代码一起显示,对吗?
我尝试将值hide_empty = 0更改为hide_empty = 1,但它没有做任何事情......任何想法?
<div class="sub-cat-inline"><?php
// if the page visitor views is a category page
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&hide_empty=0');
echo '<ul>' . $new_cats . '</ul>';
}
}
?>
</div>