Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果获取,则隐藏\u类别()不返回任何结果_Php_Wordpress - Fatal编程技术网

Php 如果获取,则隐藏\u类别()不返回任何结果

Php 如果获取,则隐藏\u类别()不返回任何结果,php,wordpress,Php,Wordpress,我将根据类别列出相关页面。这是我用来列出所有相关类别的。我试图做的是隐藏整个块,如果它不返回任何类别。我不知道如何使用foreach来实现这一点 <h3>Related Category</h3> <ul> <?php foreach((get_the_category()) as $catCS) { if($catCS->parent == 4){ ?> <li><a href="<?ph

我将根据类别列出相关页面。这是我用来列出所有相关类别的。我试图做的是隐藏整个块,如果它不返回任何类别。我不知道如何使用foreach来实现这一点

<h3>Related Category</h3>
<ul>
<?php foreach((get_the_category()) as $catCS) { 
    if($catCS->parent == 4){ ?> 
        <li><a href="<?php echo get_permalink(46); ?><?php echo $catCS->slug; ?>"><?php echo $catCS->cat_name; ?></a></li>  
<?php }
    } ?>
</ul>
相关类别

不确定您是否知道,但是WordPress有一个获取父类别的命令
获取\u category\u parents
,因此如果您使用该命令,您可以这样使用它:

<?php
$result = get_category_parents($cat, true, '</li><li>');
$result = substr($result, 0, -4);
if(!is_wp_error($result))
{
?>
    <h3>Related Category</h3>
    <ul>
        <li><?php echo $result; ?>
    </ul>
<?php
}
?>

可能有更好的方法,但这应该有效。

检查它返回的对象的长度。相应地处理它。@user1272433请参见第一个示例,它要干净得多。
<?php
# save the result
$categories = array();
# fill $categories if any match
foreach ((get_the_category()) as $cat)
{
    if($cat->parent == 4)
    {
        $categories[] = $cat;
    }
}

# print nothing if $categories is empty
if (!empty($categories))
{
?>
<h3>Related Category</h3>
<ul>
<?php
foreach($categories as $catCS)
{
?>
    <li><a href="<?php echo get_permalink(46); ?><?php echo $catCS->slug; ?>"><?php echo $catCS->cat_name; ?></a></li>  
<?php
}
?>
</ul>
<?php
}
?>