2011-06-30 11 views
-2

文は3つの条件がある場合は、次の:このコードは、私のページを破っているいくつかの理由3つの条件を持つこのPHP if文で何が問題になっていますか?

<?php if (is_archive()) : ?> 

    <?php $topic_tag_term = get_query_var('term'); ?> 

    <?php // Display the top topics of current forum 
     $args = array(
      'post_type' => 'topic', 
      'posts_per_page' => '3', 
      'topic-tag' => $topic_tag_term, 
      'r_sortby' => 'highest_rated', 
      'r_orderby' => 'desc', 
      'order' => 'DESC' 
     ); 
    ?> 

    <?php $term = $wp_query->queried_object; ?> 
    <p>The following are a list of topic tagged as <strong><?php echo $term->name ?></strong>.</p> 

    <?php if (bbp_current_user_can_access_create_topic_form()) : ?> 

     <a id="new-entry" href="<?php echo home_url('/'); ?>/create-topic">Start a new topic</a> 

    <?php endif; ?> 

<?php if (is_page_template()) : ?> 

    <?php // Display the top topics of current forum 
     $args = array(
      'post_type' => 'topic', 
      'posts_per_page' => '3', 
      'r_sortby' => 'highest_rated', 
      'r_orderby' => 'desc', 
      'order' => 'DESC', 
      'meta_key' => '_bbp_reply_count', 
      'meta_value' => '1', 
      'meta_compare' => '<' 
     ); 
    ?> 

<?php else : ?> 

    <?php // Display the top topics of current forum 
     $args = array(
      'post_type' => 'topic', 
      'posts_per_page' => '3', 
      'post_parent' => $post->ID, 
      'r_sortby' => 'highest_rated', 
      'r_orderby' => 'desc', 
      'order' => 'DESC' 
     ); 
    ?> 

<?php endif; ?> 

を。

それの何が問題になっているのですか?

+5

ディスプレイ(ビュー)にアプリケーションロジックを混在させないでください。それは*醜いです* –

+0

@alexchencoなぜ私はdownvotedになったのですか? – alexchenco

+0

@yi_H表示しますか?あなたは次のようなものを意味しますか? '以下は、タグ付きのトピックのリストです '? – alexchenco

答えて

5
<?php if (is_page_template()) : ?> 

<?php elseif (is_page_template()) : ?> 

少なくともこれは私が見ることができるエラーであるべきです。

+0

いいえ、その前に 'endif'を付けてはいけません。 – locrizak

+0

@locrizak:私が見る限り、入れ子にされた' if'を閉じます。 –

+0

私はそれを今すぐ見る – locrizak

1

if (testcase)の後のコロンはその場所にはいけません。悪気here

が、すべてのライン上のすべてのものを<?php ?>はちょうどナンセンスです:私は、マニュアルを確認してくださいあなたが?

の使用を混乱さだと思いません。

+0

私はWordpressのテンプレートに取り組んで、すべてが ''を持っているように見えます。私はちょうどコーディングスタイルに従っています。 – alexchenco

+0

コロンは有効です。これは制御構造*の代替構文です:http://php.net/manual/en/control-structures.alternative-syntax.php。テンプレートによく使用されます。 –

+0

@フェリックスキングポイント、私を修正していただきありがとうございます。 @alexchenco gotcha。 Wordpressで働いたことはありません。ちょうどあなたがそれを過度に殺したように見えました - それはあなたのためのテンプレートだと思います;) – T9b

0

この行には最後にセミコロンがありません。

<strong><?php echo $term->name ?></strong> 
+1

ここでセミコロンは必要ありません。 –

関連する問題