未定义的变量输出

时间:2013-12-23 15:53:05

标签: php

我从wordpress主题调试模式中收到以下错误。可能是一个非常简单的修复,但我不知道该怎么做。

  

UNDEFINED VARIABLE:OUTPUT ....第34行($ output variable)

$categories = get_the_category();
if($categories) {
    foreach($categories as $category) {
        $output .= '<a href="'.get_category_link( $category->term_id ).'" class="btn-standard-blog" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
    }
}
echo $output;

1 个答案:

答案 0 :(得分:3)

$output仅在满足IF声明的条件时才存在。否则,您正在尝试使用尚未定义的变量。在您的情况下尤其如此,因为循环的第一次迭代尝试将值添加到不存在的值,因此此错误将始终出现在此代码中。

您可以通过声明此变量没有值然后在适当时修改它来解决此问题。

<?php 
$output = '';
$categories = get_the_category();
    if($categories) {
        foreach($categories as $category) {
            $output .= '<a href="'.get_category_link( $category->term_id ).'" class="btn-standard-blog" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
    }
}
echo $output; ?>