【问题标题】:Wordpress switch statementWordpress 切换语句
【发布时间】:2014-08-21 16:01:16
【问题描述】:

任何人都可以帮助我使用 wordpress 3.9.2 的 switch 语句吗?

用户在前端登录,然后根据用户 ID 回显链接。

下面的代码使用 if else,理想情况下我想使用 switch 语句,因为从长远来看会有更多的用户。

谢谢,

<?php
$user_id = get_current_user_id();
if ($user_id == 1) {
    echo '<p><a href="/page1/">My Area 1</a></p>'; }
elseif ($user_id == 2) {
    echo '<p><a href="/page2/">My Area 2</a></p>';
}
elseif ($user_id == 3) {
    echo '<p><a href="/page3/">My Area 3</a></p>';
} else {
}

?>

【问题讨论】:

    标签: php wordpress switch-statement


    【解决方案1】:
    switch($user_id) {
    case 1:
        echo '<p><a href="/page1/">My Area 1</a></p>';
        break;
    case 2:
        echo '<p><a href="/page2/">My Area 2</a></p>';
        break;
    case 3:
        echo '<p><a href="/page3/">My Area 3</a></p>';
        break;
    default:
        // Do anything
        break;
    }
    

    【讨论】:

    • 谢谢你,但它没有得到 user_id :(
    【解决方案2】:

    我会提出一种不同的方法,而不是使用条件检查。

    构建一个数组,如:

    $arr = array( array( "url1", "str1" ), array( "url2", "str2" ), array( "url3", "str3" ) );
    

    然后根据用户 ID,您会像这样回显:

    $user_id = get_current_user_id();
    echo '<p><a href="'.$arr[$user_id][0].'">'.$arr[$user_id][1].'</a></p>';
    

    这允许您针对任意数量的用户进行扩展。为了使代码更高效,您可以将数组存储在数据库中,并在需要时拉取它。

    【讨论】:

    • 对这个解决方案非常感兴趣!
    • 我以用户 ID 1 身份登录,但获得了 str2?那是对的吗?谢谢,
    • 因为数组以0开头,$arr[0]表示user1,$arr[1]表示user2。您可以为$arr[0] 放置一些虚拟值或将$user_id-1 传递给数组。
    • 如果它满足您的要求,如果它被接受作为答案,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多