如何在WordPress上的PHP中添加一个类到第一个元素?

时间:2013-07-16 20:05:20

标签: php wordpress loops

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

我试图修改的地方是第53行 Pastebin code

编辑:所以我跟着这个tutorial来创建我的自定义帖子类型,我正在使用Twitter Bootstraps轮播创建一个主页旋转器。到目前为止,我能够引入图像,标题和摘录。旋转器的作用就像我在旋转木马的导航上单击左侧或右侧一样,但事实上我似乎无法将类“主动”添加到我应该说的第一个元素或新帖子中。我环顾四周,尝试循环(我的PHP技能不好),我的for循环似乎没有用。我也试过在for循环中使用计数器,但也没有。如果有人可以指导正确的方向,我的逻辑可能会消失,我很乐意欣赏它。

感谢。

2 个答案:

答案 0 :(得分:0)

这里有几个潜在的问题。

我猜你可能有运营商优先问题。在你的代码中:

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

!将在%运算符之前处理。因此,您在$count中有一个非零值,您实际上将这样做:

if(false % 1) echo 'active';

我猜的不是你想要的。

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

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

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

if(!0) echo 'active';

当然,这将总是评估为真,这首先打破了有条件的地步。

答案 1 :(得分:0)

抛开代码的不良布局......

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

!$count % 1基本上将$count转换为TRUEFALSE,然后执行% 1操作......

逻辑规定(int > 0) == TRUE。因此,如果您离开TRUE,您的代码将在第一个循环($count == 0)上评估为% 1

但是,由于您有% 1(输出除法运算的余数),因此它的计算结果为false。这是因为TRUE!$count$count == 0的值)等于1(即bool(TRUE) == int(1))和1 % 1 == 0因此{ {1}}。

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

此外,您似乎没有在代码中的任何位置递增计数器...您需要在每个循环结束时使用1$count++或至少等内容递增计数器您需要将其作为$count += 1语句的一部分递增,以便它不适用于每个后续循环,如:

IF