[ PHP ] 新手自己写了一段 Wordpress 的条件判断,请求帮忙看一看是否有误。

2018-10-11 08:31:33 +08:00
 ZiCraft

自己写了一段用于在 Wordpress 文章标题前面显示文章属性字串的判断,因为是新手,所以怕自己写的是错误的,或者是可以优化一下的?看到这么多 else if,我就知道肯定有问题,求大佬帮忙看一看,谢谢啦。

需求

代码



if (is_sticky()) {
	echo '置顶';   
}

else if (has_tag('1')) {
	echo '中国';
}

else if (has_tag('2')) {
	echo '美国';
}

else if (has_tag('3')) {
	echo '德国';
}

else {
	echo 'Category Name';
}

2424 次点击
所在节点    PHP
7 条回复
ZavierXu
2018-10-11 08:33:01 +08:00
Case 了解一下?
ZiCraft
2018-10-11 08:33:50 +08:00
@ZavierXu 谢谢,马上去了解一下。
gbin
2018-10-11 08:49:19 +08:00
直接根据 tag 序号输出就行? Hash Array 了解一下?
DavidNineRoc
2018-10-11 09:12:41 +08:00
如楼上所说:使用映射模式
ZiCraft
2018-10-11 11:57:19 +08:00
感谢各位回答,每人都送上几个铜板已示谢意,虽然不值钱。

发现我真是愚笨,各位提供的方法都研究不透。所以有个不情之请,大家能否贴上几段针对我这个需求的实例代码呢?

另外,需求又多了判断条件(如下)。

<pre><code>
if (is_sticky()) {
echo '置顶';
}

else if (has_tag('7') && in_category('taocan')) {
echo '移动';
}

else if (has_tag('8') && in_category('taocan')) {
echo '联通';
}

else if (has_tag('9') && in_category('taocan')) {
echo '电信';
}

else {
the_category(', ');
}
</code></pre>
ben1024
2018-10-11 12:30:04 +08:00
@ZiCraft

```php
<?php
if (is_sticky()) {
echo '置顶';
}
if (has_tag() && in_category('taocan')) {
$tags_array = get_tags();
array_map(function ($tag) {
switch ($tag) {
case 7:
echo '移动';
break;
case 8:
echo '联通';
break;
case 9:
echo '电信';
break;
}
}, $tags_array);
} else {
the_category(', ');
}
```
glouhao
2018-10-11 12:33:06 +08:00
wordpress 老白用户 mark 一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/496551

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX