以下简单代码:
<?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
...
答案 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>';
}
希望这有帮助