我有一个小问题,为什么我的内联php代码不起作用:
如果我写这样的代码:这是非常丑陋的btw(IMO),它的效果很好。
<?php
$cat = get_terms('logietype');
?>
<section class="paddings">
<div class="container-full">
<?php
foreach ($cat as $catVal) {
echo "<div class='row'>";
echo "<h2 class='logieheader'>".$catVal->name."</h2>";
$postArg = array('post_type'=>'logie','posts_per_page'=>-1,'order'=>'desc',
'tax_query' => array(
array(
'taxonomy' => 'logietype',
'field' => 'term_id',
'terms' => $catVal->term_id
)
));
$getPost = new wp_query($postArg);
global $post;
if($getPost->have_posts()){
while ( $getPost->have_posts()):$getPost->the_post();
echo "<div class='col-md-4 no-padding'>";
echo "<h3 class='logieheader'>".$post->post_title."</h3>";
echo "<p>".$post->post_content."</p>";
echo "</div>";
endwhile;
}
echo '</div>';
}
?>
</div>
</section>
但是当我尝试这个:更清洁(IMO)时,没有任何作用:(
<?php
$cat = get_terms('logietype');
?>
<section class="paddings">
<div class="container-full">
<?php foreach ($cat as $catVal): ?>
<div class='row'>
<h2 class='logieheader'><?php $catVal->name ?></h2>
<?php $postArg = array('post_type'=>'logie','posts_per_page'=>-1,'order'=>'desc',
'tax_query' => array(
array(
'taxonomy' => 'logietype',
'field' => 'term_id',
'terms' => $catVal->term_id
)
));
$getPost = new wp_query($postArg);
global $post; ?>
<?php if($getPost->have_posts()): ?>
<?php while ( $getPost->have_posts()):$getPost->the_post(): ?>
<div class='col-md-4 no-padding'>
<h3 class='logieheader'><?php $post->post_title ?></h3>
<p><?php $post->post_content ?></p>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</section>
任何人都知道为什么一个有效,另一个没有?
非常感谢提前!
答案 0 :(得分:1)
错误是由于以下行:
rm -r -f path
应该是,
<?php while ( $getPost->have_posts()):$getPost->the_post(): ?>
^ see this colon here
答案 1 :(得分:1)
我认为你应该用分号后,像这样:
<?php $catVal->name; ?>
<h3 class='logieheader'><?php $post->post_title; ?></h3>
<p><?php $post->post_content; ?></p>