PHP函数参数在Wordpress中始终为null

时间:2011-04-12 18:20:05

标签: php wordpress function

我不是专业的Wordpress PHP开发人员,但我不了解这种情况。我通过静态函数将变量传递给包含数组的$ GLOBALS变量。在静态函数中,该变量始终为NULL,但在进入它之前,它是一个有效类型并打印正常。

的functions.php

$badge_Id = get_comment_meta($comment->comment_ID,"badge_id", true);

   if(strlen($badge_Id) > 0) {
        Cisco_Rewards::add_badge_id($badge_id);
                echo $badge_id; // PRINTS PERFECTLY
   }

rewards.php

class Cisco_Rewards {

static function add_badge_id($badge_id) {
        if(count($GLOBALS['badge_ids']) == 0) {
            $GLOBALS['badge_ids'] = array();
        }
        echo $badge_id; // WONT PRINT, IS NULL
        array_push($GLOBALS['badge_ids'], $badge_Id);
        print_r($GLOBALS['badge_ids']); // ALWAYS HAS NULL VALUES
    }

1 个答案:

答案 0 :(得分:2)

而不是

if(count($GLOBALS['badge_ids']) == 0) {
  $GLOBALS['badge_ids'] = array();
}
echo $badge_id;

var_dump($badge_id); // to check what it contains at the very beginning of the function
if(!is_array($GLOBALS['badge_ids'])) {
  $GLOBALS['badge_ids'] = array();
}