[英]Call function in array php
完成編程的新手:)
我在擺弄WordPress主題並遇到障礙。 如果我把它放在archive.php中,
<?php
if (is_category(array( 9, 13, 24,)) {
echo 'Light is GREEN';
}else {
echo 'Light is RED}';
?>
當我進入類別9、13、24時,對於所有其他類別,該部分都工作正常。
現在我有了這個功能,可以從主題選項中獲取類別的ID,在這里我需要回顯“淺綠色”
function am_get_cat_layout_ids()
{
global $am_option;
$catnumend = $am_option['main']['category_onecolumn_hidden']-1;
for($i=0; $i<$catnumend; $i++)
{
$value = $am_option['main']['category_onecolumn_'.$i].',';
}
return $value;
}
如果我回顯$ value而不是返回,我得到類別ID的說2,15,7,34,很好,但是如果我這樣做:
<?php
if (is_category(array(am_get_cat_layout_ids())) {
echo 'Light is GREEN';
}else {
echo 'Light is RED}';
?>
它不起作用。
可以做些什么使其工作?
謝謝Srik
嘗試這個:
function am_get_cat_layout_ids()
{
global $am_option;
$ret = array();
$catnumend = $am_option['main']['category_onecolumn_hidden']-1;
for($i=0; $i<$catnumend; $i++)
{
$ret[] = $am_option['main']['category_onecolumn_'.$i];
}
return $ret;
}
和
if (is_category(am_get_cat_layout_ids()) {
echo 'Light is GREEN';
}else {
echo 'Light is RED}';
}
如果您的am_get_cat_layout_ids()
函數返回am_get_cat_layout_ids()
2, 15, 7, 34,
那么您應該這樣做:
if (is_category(explode(', ',trim(am_get_cat_layout_ids(),','))) {
echo 'Light is GREEN';
}else {
echo 'Light is RED}';
您所制作的是一個包含一個字符串的數組,該字符串具有逗號分隔的數字。 您要構建一個數字數組。
function am_get_cat_layout_ids()
{
global $am_option;
$ids = array(); // create array
$catnumend = $am_option['main']['category_onecolumn_hidden']-1;
for($i=0; $i<$catnumend; $i++)
{
$ids[] = $am_option['main']['category_onecolumn_'.$i]; // add value to array
}
return $ids; // return array
}
您的原始代碼與此等效:
if (is_category(array( "9, 13, 24,")) {
而此新代碼與問題開頭的代碼等效:
if (is_category(am_get_cat_layout_ids()) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.