V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZiCraft
V2EX  ›  PHP

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

  •  
  •   ZiCraft · 2018-10-11 08:31:33 +08:00 · 2474 次点击
    这是一个创建于 2235 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    需求

    avatar

    代码

    
    
    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';
    }
    
    
    第 1 条附言  ·  2018-10-11 11:55:15 +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>
    7 条回复    2018-10-11 12:33:06 +08:00
    ZavierXu
        1
    ZavierXu  
       2018-10-11 08:33:01 +08:00   ❤️ 1
    Case 了解一下?
    ZiCraft
        2
    ZiCraft  
    OP
       2018-10-11 08:33:50 +08:00
    @ZavierXu 谢谢,马上去了解一下。
    gbin
        3
    gbin  
       2018-10-11 08:49:19 +08:00 via Android   ❤️ 1
    直接根据 tag 序号输出就行? Hash Array 了解一下?
    DavidNineRoc
        4
    DavidNineRoc  
       2018-10-11 09:12:41 +08:00   ❤️ 1
    如楼上所说:使用映射模式
    ZiCraft
        5
    ZiCraft  
    OP
       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
        6
    ben1024  
       2018-10-11 12:30:04 +08:00   ❤️ 1
    @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
        7
    glouhao  
       2018-10-11 12:33:06 +08:00 via Android
    wordpress 老白用户 mark 一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:57 · PVG 19:57 · LAX 03:57 · JFK 06:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.