当前位置: 首页 > 知识库问答 >
问题:

PHP:没有子类别时隐藏子类别

卫胜
2023-03-14

在我开始之前,我请求您的帮助,因为我有非常基本的html和css技能,而且绝对没有php知识!

我想在目录标题和描述下面category.php模板上显示子类别。我在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;
}

共有3个答案

陆涵畅
2023-03-14

使用css有一个变通方法,因为默认情况下,“无类别”文本链接到css属性:cat item 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>
梁建德
2023-03-14

你可以这样使用它:

<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>
殷功
2023-03-14

您可以使用hide\u if\u 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()函数将返回“no categories”文本(正如您已经注意到的)。

若要更改未找到类别时函数返回的内容,可以使用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=&nbsp;');
        echo '<ul>' . $new_cats . '</ul>';
    }
}
?>
</div>
 类似资料:
  • 我正在使用内置的woocommerce类别小部件,目前它同时显示类别和子类别。 我通过以下代码排除了一个类别: 但是小部件仍然显示它的子类别。 链接:http://tithaty.com.br/?post_type=product 隐藏的类别是Coleções(我配置为父级),我想隐藏它的子类别,当前的和将来添加的子类别。 Colecao teste是一个子类别的例子。 有什么想法吗? 非常感谢。

  • 问题内容: 我的代码中的子类别有些麻烦。 我的期望: 面包店 罐头食品 乳制品 肉 子类别 子类别 … 子类别 糖果和零食 子类别 子类别 … 子类别 MYSQL表架构: 分类: id类别名称url类型 结果:http : //www.picupload.us/images/454result.png 谢谢您的时间,福克斯·桑克(Fox Sank) 编辑: 这是桌子 问题答案: 我尝试这段代码,它

  • 我目前有一个代码片段,其中对于每个类别,它将找到子类别: 将递归获取一个类别的子级: 目前,使用,只检索子类别的子类别,因此如果每个子类别都有自己的子类别,则不会将其保存到子类别中。 我如何显示子子类别给我们的子类别? 我想用我的代码做的是获取一个父级,获取它的子级,然后将这些子级中的每一个视为父级,递归地获取它的子级,但是我的JSON输出并没有反映这一点。只有父对象有子对象-子对象没有子对象(尽

  • 问题内容: 我想在选择 列表(下拉列表)中显示类别,子类别和子子类别,就像WordPress在其管理面板中显示的方式一样。 首先看一下我的数据库表(tb_categories)- 数据库表 我想要以下HTML格式的输出- 输出 两项“无”和“未分类”在代码中进行了硬编码。我 想知道如何 使用选择列表选项以层次结构顺序显示类别及其子类别。 我正在尝试使用自我连接的以下sql查询。这 是- And t

  • 有一个类别,具有以下(重要)属性: 我正在尝试实现类别/子类别的概念。一个类别可以有零个或多个子类别。一个类别只能有一个父类别(可以为null)。对于顶级类别,parentCategory=null。 现在,我有一个所有类别的列表,

  • 我正试图通过WoodPress主题中的一个函数从woocommerce获取产品类别,我已经做到了: 这将按层次列出所有顶级类别及其下的子类别,但我有子类别(子类别)的子类别,因此如何列出这些子类别。