0

$page_id++ 表示 wordpress 网站中从 0 到 5 的页面顺序 ID 并递增。

然后我包含一些 HTML,如下所示:

<div class="page_title <?php echo page_item;?>" id="about"><?php the_title()?></div>

第一个 div 类的输出是“page_title 0”。

我想知道的是我是否可以用单词或类替换数字。我试过创建一个数组:

<?php $page_id = array (0 === 'one', 1 === 'two',2 === 'three',3 ==='four',4 ==='five', 5=== 'six')?>

但它只是返回:“page_title Array”

编辑:我也尝试在数组中用 => 替换 ===。

我知道我需要在这里阅读我的语法(甚至逻辑!),但任何帮助/解释或线索都将一如既往地受到赞赏。

4

3 回答 3

1

看起来您实际上并没有引用数组中的项目,而只是引用了数组本身。您是否使用 foreach 循环将这些打印出来?

<?php foreach($page_id as $page_item):?>

   <div class="page_title <?php echo $page_item;?>" id="about"><?php the_title()?></div>

<?php endforeach;?>

或者手动进行:

 <div class="page_title <?php echo $page_id[0];?>" id="about"><?php the_title()?></div>

所以你会这样做,引用键 0 - 5。

于 2013-03-15T15:27:57.937 回答
0

Try something more like:

<?php

    $pageIDs = array(0 => 'one', 1 => 'two'); // and so on... 
    $page_id = $pageIds[$page_id ];

    // ... Other wordpressy stuff...

Essentially, the idea being you grab the value from an array, rather than passing an array as the variable, when you get $page_id in this case, it'll be the string.

于 2013-03-15T15:23:26.700 回答
0

您可以而且实际上应该使用数字以外的东西作为类名。我大约 78% 确定一个类名应该包含至少一个非数字字符,并且应该以字母开头。(这实际上是 ID 的规则,似乎。我没有为类找到一个硬性规则,但是嗯。)

至于如何将数字映射到单词,您应该在数组中查找 id 而不是回显整个内容。

<?php $page_classes = array(...); ?>
...
<div class="page_title <?= $page_classes[$page_id] ?>" id="about">
  <?php the_title()?>
</div>

(注意,如果您在希望打印多个这样的 div 的情况下执行此操作,您应该认真考虑丢失id属性或使其等于您要打印的类名或......某事。 ID 应该是唯一的。)

于 2013-03-15T15:22:56.073 回答