我需要使用if语句来检测当前正在查看的类别页面是否来自从wordpress中提取的类别列表。我不能使用静态列表,因为这个列表可能会随着管理员改变而改变。
<?php
$args = array(
'orderby' => 'name',
'parent' => 8,
'taxonomy' => 'category'
);
$categories = get_categories( $args );
foreach ( $categories as $category1 ) { ?>
<?php if (is_category(<?php echo get_cat_name("$category1->term_id;"); ?>)) : ?>
<p>This is the text to describe category A</p>
<?php else : ?>
<p>This is the text to describe category B</p>
<?php endif; ?>
}?>
这是我到目前为止,如果我使用静态列表,但是当我尝试使用get_cat_name获取is类别时,它会产生错误500。
感谢。
答案 0 :(得分:3)
由于此行,您收到500错误:
<?php if (is_category(<?php echo get_cat_name("$category1->term_id;"); ?>)) : ?>
应该只是:
<?php if (is_category(get_cat_name($category1->term_id))) : ?>
echo
用于将字符串发送到输出缓冲区(换句话说,将文本输出到浏览器)。您不需要echo
值到另一个函数中。此外,将值传递给函数时,可以直接发送变量($category1->term_id
)。
当您尚未关闭之前的代码时,您也不需要打开<?php
代码。