简单的PHP问题:基于用户的条件CSS类

时间:2011-01-13 06:15:27

标签: php css wordpress if-statement

如果评论是由管理员做出的话,我正在使用此代码为评论框显示不同的样式类

<li class="<?php if ($comment->user_id == 1) $oddcomment = "authorstyle"; echo $oddcomment; ?>"></li>

管理员有user_id = 1.现在,如果我想添加user_id 5和6,我将如何编辑此代码?

7 个答案:

答案 0 :(得分:2)

您可以使用||运算符(表示或):

if ($comment->user_id == 1 || $comment->user_id == 5 || $comment->user_id == 6)

或者您可以使用in_array:

if (in_array($comment->user_id, array(1, 5, 6))

哪个看起来更好,更易于维护。 :)

答案 1 :(得分:2)

处理这种情况的一种(可能)强大的方法是询问用户标识是否是一组用户标识之一,因此作为一个条件是相当微不足道的:

in_array($comment->user_id, array(1,5,6))

显然,您正在开发某种权限系统,因此您最好想出一种从身份中抽象用户权限的方法,并验证用户是否拥有某些权限或状态而不是在每个地方检查为了上述状态。

执行此操作的一种方法可能是将用户分配给管理员组,然后针对该组进行检查,而不是针对所有ID。更好的是,您可以考虑在论坛上设置一定数量的属性,例如has_style_xyz,然后在条件中检查has_style_xyz

答案 2 :(得分:0)

您可以使用以下内容:

<li class="<?php
  if ($comment->user_id == 1)
     $oddcomment = "authorstyle";
  if ($comment->user_id == 2)
     $oddcomment = "somethingelse";
  if ($comment->user_id == 3)
     $oddcomment = "blahbalh";
 echo $oddcomment; ?>"></li>

......依此类推,适用于多种风格。

<li class="<?php
  if ($comment->user_id == 1 || $comment->user_id == 4 || $comment->user_id == 5)
     $oddcomment = "blahbalh";
 echo $oddcomment; ?>"></li>

...用于具有一种风格的多个ID。

答案 3 :(得分:0)

只需在if语句中使用OR||

<li class="<?php if ($comment->user_id == 1 || $comment->user_id == 5 || $comment->user_id == 6) $oddcomment = "authorstyle"; echo $oddcomment; ?>"></li>

答案 4 :(得分:0)

您可以尝试此代码

<?php 
if ($comment->user_id == 1) 
   $oddcomment = "authorstyle"; 
else($comment->user_id == 5)
    $oddcomment = "authorstyle2"; 
else($comment->user_id == 6)
    $oddcomment = "authorstyle3"; 
?>

<li class="<?php echo $oddcomment; ?>"></li>

答案 5 :(得分:0)

您可以通过简单的方式执行以下操作:

     <?php
        $liStyles[1] = 'authorstyle';
        $liStyles[5] = 'somestyle';
        $liStyles[6] = 'someotherstyle';
     ?>



 <li class="<?php echo $liStyles[$comment->user_id]; ?>"></li>

答案 6 :(得分:0)

我建议不要使用用户的ID来确定他们的管理员状态,因为这样你就必须手动添加/删除每个用户的ID。

这个网站正是您想要做的。

http://buildinternet.com/2009/09/automatically-highlight-admin-comments-in-wordpress/