2016-08-17 5 views
-2

こんにちは、言語を変更してwordpressでいくつかのコードをやっていますが、elseifのどこかで問題を解決してくれませんか?wordpressテーマの予期せぬelseif

 <?php 
      if(ICL_LANGUAGE_CODE=='en'): 
      $loop = new WP_Query(array( 
       'post_type' => 'shapes_en', 
       'posts_per_page' => -1, 
       'orderby' => 'menu_order', 
       'order' => 'asc', 
       ) 
      ); 
      if ($loop): 
      while ($loop->have_posts()) : $loop->the_post(); 
      elseif(ICL_LANGUAGE_CODE=='he'): 
      $loop = new WP_Query(array( 
       'post_type' => 'shape', 
       'posts_per_page' => -1, 
       'orderby' => 'menu_order', 
       'order' => 'asc', 
       ) 
      ); 
      if ($loop): 
      while ($loop->have_posts()) : $loop->the_post(); 
      endif; 
      ?> 
      <li> 
       <a href="<?php the_permalink()?>"><?php the_post_thumbnail('idustry-thumbnail'); ?></a> 
       <h3><a href="<?php the_permalink()?>"><?php the_title()?></a></h3> 
      </li> 
      <?php endwhile; 
      endif;?> 
+0

「機能しません」とはどういう意味ですか?より具体的にする必要があります。 –

+0

'endwhile;'ステートメントを挿入する必要があります。 –

+0

構文解析エラー:予想外の 'elseif'(T_ELSEIF)/home/darplast/public_html/wp-content/themes/darplast/index.php on line 20 –

答えて

0

while:構文はここwhileブロック停止それ以外の場合が知られていない、endwhile;を必要とします。 endwhile;ステートメントが存在しないため、PHPはelseif;がwhileループ内にあると考えているため、elseif;は予期せぬものです。

The docs

In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.

はこれにあなたのコードを変更

if ($loop): 
    while ($loop->have_posts()): 
     $loop->the_post(); 
    endwhile; 
elseif (ICL_LANGUAGE_CODE == 'he'): 
... 

テンプレートを書くときに代替構文を使用することが必要である場合、私は知りませんが、あなたがテンプレートを作成している場合を除き大文字の括弧で囲んだ通常の構文を使用することをお勧めします。なぜなら、読みやすくすることが多いからです。

if ($loop) { 
    while ($loop->have_posts()) { 
     $loop->the_post(); 
    } 
} 
elseif (ICL_LANGUAGE_CODE == 'he') { 
... 
+0

彼が私に手紙を送った –

+0

構文解析エラー:構文エラー、予期しないファイルの終わり/home/darplast/public_html/wp-content/themes/darplast/index.php on line 55 –

関連する問題