我正在尝试为我的WordPress主题编写一个PHP函数,它将返回给定帖子的类别数。我正在使用两个文件:functions.php
和header.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
显示为空。也许我一直在看它太久但我无法弄清楚原因。
答案 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
在哪里被分配?