如何使多个页面ID更简单(数组?)

时间:2013-12-04 02:39:08

标签: wordpress

以下简单代码:

<?php
    $callout_1 = '1';
    $callout_2 = '3';
    $callout_3 = '5';
?>
<ul>
    <li><h3 class="title"><?php echo get_the_title($callout_1); ?></h3></li>
    <li><h3 class="title"><?php echo get_the_title($callout_2); ?></h3></li>
    <li><h3 class="title"><?php echo get_the_title($callout_3); ?></h3></li>
</ul>

我在<li>标签中有很多东西,但都具有相同的结构,上面的示例只是一个例子。任何人都可以帮我把它变得更容易吗?

编辑:谢谢您的回答泰米尔语,您能帮我解决另一个问题吗?如果1然后回显text 1,如果2则回显text 2 ...

2 个答案:

答案 0 :(得分:1)

使用数组存储页面ID

尝试

<?php $callout = array('1', '3', '5'); ?>
<ul>
<?php 
foreach($callout as $call) { 
?> 
<li><h3 class="title"><?php echo get_the_title($call); ?></h3></li> 
<?php } ?>

答案 1 :(得分:1)

您可以创建关联数组。它是一个具有key =&gt;值对的多个数组。通过密钥访问值。

 `$callouts = array(array('id'=>1, 'text'=>'text1'), array('id'=>2, 'text'=>'text2'),array('id'=>3, 'text'=>'text3'));`

所以现在循环时你可以打印id和文本。

foreach( $callouts as $call ) {
   echo '<li><h3>'.get_the_title($call['id']).'</h3></li>';
   echo '<p>'.$call['text'].'</p>';
}

如果你必须获取值并存储在数组中:

$ids = array('1','2','3');
$callouts = array();
foreach($ids as $id ){
  $title = get_the_title($id);
  if( $id == 1)
    $text = 'Text 1';
  elseif($id == 2)
    $text = 'Text 2';
  else
   $text = '';
  $callouts[] = array('id'=>$id, 'title'=>$title, 'text'=>$text);
}

要进行打印,您可以使用单个数组打印所有内容。

foreach( $callouts as $call ){
   echo '<li><h3>'.$call['id'].'<h3></li>';
   echo '<li><h3>'.$call['title'].'<h3></li>';
   echo '<li><h3>'.$call['text'].'<h3></li>';
}

希望这有帮助