2016-08-07 2 views
0

これは私のコードです。それはarray_chunk()を使用して3つのグループに結果を分割するので、私はそれぞれ.rowに3つの列しか持たない。これは通常、foreach内のforeachのためですか?

<?php 
    $blogusers = get_users('exclude=1,12'); //WordPress's get_users() 
    $split = array_chunk($blogusers,3); 

    // Array of WP_User objects. 
    foreach ($split as $user) { 

     echo '<div class="row">'; 


      foreach ($user as $details){ 

      // get user profile picture or default to a plain one 
      if (get_field('show', 'user_'.$details->ID)){ 
       $img = get_field('profile_pic','user_'.$details->ID); 
      } 

      echo 
      //output each user 
      '<div class="columns small-4"> 
       <div class="profile"> 
       <div class="profile-image-wrap">  
        <img src="'.$img.'" class="team-image"> 
        <a href="" class="profile-hover-link"><i class="fa fa-bars fa-bars fa-3x"></i></a>  
       </div>  
       <div class="profile-details-wrap"> 
        <h4>'.$details->display_name.'</h4> 
        <h5>'.the_field('title', 'user_'.$details->ID).'</h5> 
        <div class="hr-wrap"> 
        <hr class="team-hr"> 
        </div>         
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam massa quis mauris sollicitudin commodo.</p> 
        <a class="view" href="">view profile</a> 
       </div> 
       </div> 
      </div>';    
      } 
     echo '</div>'; 
     } 

問題は、このライン

<h5>'.the_field('title', 'user_'.$details->ID).'</h5>

以下に見られるように、それは<h5>タグに出力を挿入しないです。

enter image description here

私はそのライン上でダブルとシングル引用符を使用してみましたが、それはそれを修正しません。

どうすればこの問題を解決できますか?

答えて

2

Advanced Custom Fields pluginを使用しているとします。 docs for the_fieldを見ると、それが表示されます

指定したフィールドの値を表示します。この機能は、echo get_field($field_name);

とまったく同じです。あなたの場合、関数はフィールドの値を返し、印刷するのではありません。したがって、行を

<h5>'.get_field('title', 'user_'.$details->ID).'</h5> 

に変更してください。行こうとしています。

あなたの場合の問題は、文字列を作成してからブラウザに出力することです。このビルドフェーズでは、the_fieldに電話をかけていますが、これは独自のechoです。だから、タイトルはdiv全体の前に表示されます。

+1

あなたは私にそれを打つ... – Rasclatt

+0

ああ、良いキャッチ! – ProEvilz

関連する問題