Wordpress php函数不返回值

时间:2014-01-01 03:59:34

标签: php wordpress function

我正在尝试为我的WordPress主题编写一个PHP函数,它将返回给定帖子的类别数。我正在使用两个文件:functions.phpheader.php

functions.php 的内容:

/**
*   Category count for a given post (post ID) excluding given excludecats (array).  
*   @return number
*/
function bl_cat_count($pid,$excludedcats) {
    $cat_count = 0;
    //$count = 0;
    $categories = get_the_category($pid);
    foreach($categories as $category) { 
        $cat_count++;
        if ( in_array($category->cat_ID, $excludedcats) ) {
            $cat_count--;
        } 
    }
    var_dump($cat_count);
    return $cat_count;
}

header.php 的内容:

$pid = $thumbnail->ID;
$excludedcats = array(1,85);
bl_cat_count($pid,$excludedcats);                          
var_dump($cat_count);
if ( $cat_count > 0 ) {
  // do something
}
该函数的

var_dump显示正确的值。从header.php致电但是var_dump显示为空。也许我一直在看它太久但我无法弄清楚原因。

2 个答案:

答案 0 :(得分:2)

像这样更改 header.php ......

$cat_count=bl_cat_count($pid,$excludedcats);                          
var_dump($cat_count);


为什么抛出空?

这是因为您没有将bl_cat_count()返回的值分配给$cat_count变量。此外,$cat_count变量的范围在该函数内,即bl_cat_count()

答案 1 :(得分:0)

看看这个:

$pid = $thumbnail->ID;
$excludedcats = array(1,85);
bl_cat_count($pid,$excludedcats);                     
var_dump($cat_count);
if ( $cat_count > 0 ) {
  // do something
}

所以bl_cat_count是函数吗?并且$cat_count包含函数的返回结果?那么$cat_count在哪里被分配?