2016-04-28 8 views
0

У меня есть маленький вопрос, почему мой встроенный PHP код не работает:Wordpress рядный PHP не работает

Если я написал такой код: что очень некрасиво кстати (ИМО), он прекрасно работает.

<?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> 

Каждый имеет ни малейшего представления, почему один работает, а другой нет

? !

Большое спасибо заранее

+2

Было бы легче помочь вам, если вы (1) сказал нам, что вы пытаетесь (2) подчеркнул, что отличается между фрагментами кода, (3) объяснил, что вы подразумеваете под «ничего не происходит», и (4) включал любые сообщения об ошибках из вашего журнала ошибок. Прямо сейчас, ваш вопрос находится под угрозой падения и закрытия. –

+0

Отсутствует эхо и точка с запятой в ' name?>', ' post_title?>' И ' post_content?>' –

ответ

1

ошибка из следующей строки:

<?php while ($getPost->have_posts()):$getPost->the_post(): ?> 
                 ^see this colon here 

Должно быть,

<?php while ($getPost->have_posts()):$getPost->the_post(); ?> 
+0

Не работает неудачно :( –

+0

Oh wauw Я глуп, забыл на самом деле эхо в тегах php: D –

+0

@FrankLucas Пожалуйста, примите ответ, если он решит вашу проблему. * Приветствия! * :-) –

1

Я думаю, вы должны поставить точку с запятой после, как это:

<?php $catVal->name; ?> 
<h3 class='logieheader'><?php $post->post_title; ?></h3> 
<p><?php $post->post_content; ?></p> 
Смежные вопросы