真的不确定这里发生了什么,但这只是不起作用!有人对此有任何想法吗?
我试过这个:
if(article_custom_field('product-type') !== '') {
if(article_custom_field('product-type') == 'cd') return $productType = 'cd';
if(article_custom_field('product-type') == 'audio') return $productType = 'headphones';
if(article_custom_field('product-type') == 'video') return $productType = 'facetime-video';
if(article_custom_field('product-type') == 'download') return $productType = 'save';
if(article_custom_field('product-type') == 'book') return $productType = 'book';
} else {
$productType = 'eye-open';
}
而且:
if(article_custom_field('product-type') === 'cd') {
$productType = 'cd';
} elseif(article_custom_field('product-type') === 'video') {
$productType = 'facetime-video';
} elseif(article_custom_field('product-type') === 'audio') {
$productType = 'headphones';
} elseif(article_custom_field('product-type') === 'download') {
$productType = 'save';
} elseif(article_custom_field('product-type') === 'book') {
$productType = 'book';
} else {
$productType = 'eye-open';
}
旨在改变这一点:
<span class="product-type">
<img src="<?php echo theme_url('/assets/glyphicon-' . $productType . '.png'); ?>" width="25" alt="Product Type" class="img-responsive">
<?php echo article_custom_field('product-type'); ?>
</span>
关于我做错了什么以及为什么这段代码对我不起作用的任何想法?无论我将'article_custom_field('product-type')设置为什么,我仍然会'睁眼'。这是什么交易?
这是'article_custom_field()'函数:
function article_custom_field($key, $default = '') {
$id = Registry::prop('article', 'id');
if($extend = Extend::field('post', $key, $id)) {
return Extend::value($extend, $default);
}
return $default;
}
答案 0 :(得分:2)
您的初始if
条款正在测试该值是否为空白,否则它将返回“开启”状态,因此您将始终获得“睁眼”状态。值。
尝试使用switch-case
结构并在函数末尾返回。
$cField = article_custom_field('product-type');
switch (trim($cField)){
case 'cd':
$productType = 'cd';
break;
case 'audio':
$productType = 'headphones';
break;
case 'video':
$productType = 'facetime-video';
break;
case 'download':
$productType = 'save';
break;
case 'book':
$productType = 'book';
break;
default:
$productType = 'eye-open';
break;
}
return $productType;
答案 1 :(得分:0)
花了很多年的时间试图找出这是什么,
然后它刚刚发生在我身上。
我FORGOT将switch / if语句放在while循环中。 DUH - 新秀的错误!