0

我创建了一个使用 Twitter Bootstraps 轮播的自定义帖子类型。我做了一些修改,似乎无法将“活动”类添加到第一个元素。

我要修改的地方是第 53 行 Pastebin 代码

编辑:所以我正在按照本教程创建我的自定义帖子类型,并且我正在使用 Twitter Bootstraps 轮播创建主页旋转器。到目前为止,我能够引入图像、标题和摘录。当我在旋转木马的导航上向左或向右单击时,旋转器也在起作用,尽管我似乎无法将“活动”类添加到我应该说的第一个元素或新帖子中。我环顾四周,尝试了 for 循环(我的 PHP 技能不好),我的 for 循环似乎不起作用。我也尝试在 for 循环中使用计数器,但也没有飞行。如果有人可以指导正确的方向,我的逻辑可能会出错,我很高兴。

谢谢。

4

2 回答 2

0

抛开代码的糟糕布局......

if您正在谈论的语句永远不会评估TRUE,因此不会添加该类。

!$count % 1本质上转换$countTRUEorFALSE然后执行% 1操作...

逻辑表明了这一点(int > 0) == TRUE。因此,TRUE如果$count == 0您离开% 1.

但是,由于您有% 1(输出除法运算的其余部分),因此它的计算结果为假。这是因为TRUE( !$countwhen的值$count == 0) 等于1(ie bool(TRUE) == int(1))1 % 1 == 0并且因此FALSE

您可以不% 1使用或使用% 2(或任何大于 的数字1)。

此外,您似乎没有在代码中的任何地方增加计数器......您需要在每个循环结束时使用类似$count++or的东西$count += 1来增加它,或者至少您需要将它作为IF语句的一部分进行增加,以便它不适用于每个后续循环,例如:

if(!$count){
    echo "...";
    $count++;
}
于 2013-07-16T20:49:17.613 回答
0

你在这里有几个潜在的问题。

我猜你可能有运算符优先级问题。在您的代码中:

if(!$count % 1) echo 'active';

!在运算符之前处理%。因此,如果您在 中具有非零值$count,则本质上您将这样做:

if(false % 1) echo 'active';

我猜这不是你想要的。

使用括号使您的操作顺序正确:

if(!($count % 1)) echo 'active';

话虽如此,您似乎也对如何使用模数运算符有一个逻辑问题。这里的模数1可能不会为您做任何事情,就好像(我假设)$count是一个整数值,除以一时永远不会有余数,因此您的条件将始终是:

if(!0) echo 'active';

当然,它总是会评估为真,这首先破坏了条件的意义。

于 2013-07-16T20:35:56.467 回答