0

*is_page()* を使用して、1 つのテンプレート ファイルに 2 つの異なるコンテンツを表示しようとしています。このコードは次のようになります。

<?php

    if ( is_page('news') ) {

        // Insert HTML/PHP for News - code shown below
    }
    else ( is_page('review') ){

         // Insert HTML/PHP for Review - code shown below
    }
?>

これは私にはうまくいきません...理由がわかりませんか?以下に挿入しようとするニュース/レビューコードを示しました

ニュースの HTML/PHP

<div class="news">
  <?php query_posts('cat=-89');?>
  <?php while ( have_posts() ) : the_post(); ?>
  <article class="summary">
    <div class="content_wrap cont_page ">
      <header>
        <h2> <a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?> </a></h2>
        <p> <span class="author">
          <?php the_author() ?>
          </span><br />
          <span class="date">
          <?php the_date(); ?>
          </span> 
      </header>
      <div class="entry-content">
        <?php the_excerpt(); ?>
               <?php include('share.php')?> 
      </div>
      <aside class="right">
        <?php the_post_thumbnail(); ?>
      </aside>
    </div>
  </article>
  <?php
  <?php endwhile; ?>
</div>

レビュー用 HTML/PHP

<div class="review">
  <?php query_posts('cat=89,246,247,248');?>
  <?php while ( have_posts() ) : the_post(); ?>
  <article class="summary 
  <?php

  // Custom posts stylings
if ( has_post_format( 'video' )) {
    echo 'video';
} elseif ( in_category('orange') ) {
    echo 'orange';
} else {
    echo 'white';}
?>


  ">
    <div class="content_wrap cont_page ">
      <div class="entry-content">
        <?php  if ( has_post_format( 'video' )) {
    // Get the video URL and put it in the $video variable
                        $videoID = get_post_meta($post->ID, 'video_url', true);
                        // Echo the embed code via oEmbed
                        echo '<iframe src="http://player.vimeo.com/video/'.$videoID.'?title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff" width="405" height="285" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'; 
                    //  echo '<iframe src="http://player.vimeo.com/video/'.$videoID.'" width="405" height="285" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
            }
                else the_post_thumbnail();

 ?>
      </div>
      <aside class="right">
        <header>
          <h2> <a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?> </a></h2>
        </header>
        <div class="entry-content">
          <?php the_excerpt(); ?>
        </div>
        <?php include('share.php')?>
      </aside>
    </div>
  </article>
  <?php

// DISABLED/S default format

// get_template_part( 'content', get_post_format() ); ?>
  <?php endwhile; ?>
</div>
4

1 に答える 1

0

is_page() のパラメーターとしてページ ID を使用すると、より正確になります。ある時点でページ名を編集すると、コードが失敗する可能性があります。

if(is_page(10)) { 
    // do something
  } else if (is_page(20)) {
    // do something
  } else { 
    // do something else
}

これはタイプミスだと確信していますが、以下の行はelse ifである必要があります。

else ( is_page('review') ){

また、両方のテンプレートの後に、余分な開いた php 中括弧があります。

于 2012-05-24T03:04:02.767 に答える