2017-07-25 10 views
0

WordPressページテンプレート内にポストカルーセルを作成しましたが、他のすべてのPHP(拡張カスタムフィールドのコンテンツなど)はブロックされます。 wp_debugはエラーを表示せず、コード内でエラーを見つけることができません。ブートストラップポスト他のPHPをページテンプレートにブロックする

以下

私はカスタムポストタイプから最近の投稿でカルーセルを作成するために使用しているコードです:私は完全にそれ以下のすべてのPHPは、仕事/ロードを行いスライダーを削除すると

が、私はように見えることはできませんコードで間違いを見つけてください。

<div class="carousel-inner" role="listbox"> 
<?php 
    $i = 2; 
    global $post; 
    $args = array( 
      'numberposts'  => -1, 
      'post_type'   => 'work', 
      'orderby'   => 'date', 
      'order'    => 'ASC', 
    ); 
    $myposts = get_posts($args); 
    if($myposts): 
      $chunks = array_chunk($myposts, $i); 
      $html = ""; 
      foreach($chunks as $chunk) { 
      ($chunk === reset($chunks)) ? $active = "active" : $active = ""; 
      $html .= '<div class="item '.$active.'">'; 
      foreach($chunk as $post) { 
       $html .= '<div id="timeline-item" class="col-lg-6 col-md-6 col-sm-6 col-xs-6"><div><h6 style="text-align: left;">'; 
       $html .= get_the_date('Y'); 
       $html .= '</h6><h2 style="text-align: left;">'; 
       $html .= get_the_title(); 
       $html .= '</h2><p style="text-align: left;">'; 
       $html .= get_post_field('post_content'); 
       $html .= '</p></div></div>'; 
      }; 
      $html .= '</div>';     
      }; 
      echo $html;    
     endif; 
?> 
</div> 
+0

「他のすべてのPHP」がブロックされるのはどういう意味ですか?あなたのerror_logには何かがありますか? – delboy1978uk

+0

たとえば、<?php the_field( 'stalk-me'); ?>は、バックエンドに追加できるコンテンツを表示するが、何も表示しない。スライダ全体を削除すると、コンテンツが表示されます。 – imrafaelhi

+0

hmm。あなたはそこに完全なスクリプトを持っていますか? – delboy1978uk

答えて

2

$postを上書きしています。ワードプレスでnever override $post
この部分を交換してみてください。

foreach($chunk as $slide) { 
      $html .= '<div id="timeline-item" class="col-lg-6 col-md-6 col-sm-6 col-xs-6"><div><h6 style="text-align: left;">'; 
      $html .= get_the_date('Y', $slide); 
      $html .= '</h6><h2 style="text-align: left;">'; 
      $html .= get_the_title($slide); 
      $html .= '</h2><p style="text-align: left;">'; 
      $html .= get_post_field('post_content', $slide); 
      $html .= '</p></div></div>'; 
     }; 

これで残りの問題が解決するかどうかはわかりません。かもしれない。
少なくとも、あなたのコードは少しきれいになりません。

EDIT 完全なスクリプトを見ると、これはおそらく問題です。

行109 if(have_rows('skill-bars')はあなたが壊した間違った$postをとります。

+0

よく目撃された! – delboy1978uk

+0

ありがとう!これは確かに動作します。 私は$ postを上書きする可能性を認識していなかったので、教訓を学びました! – imrafaelhi

+0

オプションもあります。 [WP_Query](http://codex.wordpress.org/Class_Reference/WP_Query)を使用することです。そして、array_chunckの代わりに[モジュロ](https://alvinalexander.com/php/php-modulus-operator-syntax-examples) – janw

関連する問題