2013-03-15 17 views
0

$ page_id ++表示wordpress网站中的页面顺序ID从0到5,包括在内并增加。打印PHP值或文字,而不是其相应的增量数字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阵列”

编辑:我也试着在阵列与替换= ===>。

我知道我需要阅读我的语法(甚至逻辑!)在这里,但任何帮助/解释或线索,即使将始终赞赏。

+0

可能要检查你的$ PAGE_ID阵列,因为它可能包含'0 => false,1 => false,2 => false,3 => false,4 => false,5 => false。使用'=>'而不是'==='。 – castis 2013-03-15 15:20:08

+0

'=>'是使用该表示法定义数组的唯一方法。因为(int)1不是严格等于(字符串)之一,所以'1 ==='one''只是将一个布尔型FALSE赋值给该数组槽。 – 2013-03-15 15:30:50

回答

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

0

你可以,实际上应该,使用除数字之外的东西作为类名称。我大约有78%的人确信类名至少应包含一个非数字字符,并且应以字母开头。 (这实际上是ID的规则,看起来,我没有找到硬件规则的类,但呃)

至于如何映射数字到单词,你应该查找你的id在你的而不是回应整个事情。

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

(请注意,如果你在你想到哪里去打印不止一个这样的格的情况做这个,你应该认真考虑丢失id属性或使其等于你的类名打印出或...什么ID应该是唯一的)

0

尝试更多的东西,如:。

<?php 

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

    // ... Other wordpressy stuff... 

从本质上讲,这个想法被你从数组抢值,而不是传递一个数组作为变量,当你在这种情况下获得$ page_id时,它会是字符串。