Wordpress循环导出类别列表到php echo

时间:2011-07-05 23:26:01

标签: php wordpress loops categories

我对wordpress循环感到有些困惑,我想知道是否有人可以提供帮助。

我需要运行一个Wordpress循环,但只能从每个帖子中获取类别名称/ id(要么很好),并将所有这些变量作为一个php项目,我可以在页面中稍后回显。

用于类别列表过滤系统,但我只想显示在该页面上显示的已发布的类别。

循环也是动态的,所以我不能只是硬代码排除/包含,我需要在一起回显所有数字的值。

我希望这是有道理的!任何有想法的人都会很酷。谢谢!

1 个答案:

答案 0 :(得分:0)

我会像{...}}那样使用get_the_category函数。

<?php
// before you begin the wordpress loop
$category_array = array();
?>

<?php
// from *within* the wordpress loop
foreach((get_the_category()) as $category) { 
    if (!in_array($category->cat_name, $category_array)) {
        $category_array[] = $category->cat_name;
    }
}
?>

<?php
// after the wordpress loop is finished
echo implode(",", $category_array);
?>

此代码基本上创建一个新的(空)数组,以便对于当前页面中的每个类别,检查您是否已将该类别名称添加到数组中,如果没有,请继续添加它。然后,当循环结束时,回显出逗号分隔的类别名称字符串。 (当然,如果你想要一个逗号和空格“,”或任何其他分隔符,你可以更改分隔符。)

Codex文章提供了有关您可以使用该功能执行的其他操作的更多信息。希望有所帮助。

修改:修复了实施问题,因为我忘了这将在您使用循环列出许多帖子的页面上使用。 (您需要从wordpress循环外部初始化数组,然后在循环完成后回显结果)。