2012-05-23 2 views
0

Я пытаюсь использовать * is_page() * для отображения для отображения 2 разного содержания в одном файле шаблон .. мой код это выглядит какis_page() для отображения различного содержания WordPress поста с помощью файл шаблона

<?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 для News

<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> 
+0

is_page() чувствителен к регистру. Поэтому названия страниц должны точно совпадать. Вместо этого попробуйте использовать идентификатор страницы. – Jrod

+0

эта часть в порядке, это синтаксис для использования somereason внутри оператора if: -/ – MonteCristo

ответ

0

Использовать идентификатор страницы в качестве параметра для вашего is_page(), чтобы быть более точным. Вы можете отредактировать имя страницы в какой-то момент, а затем ваш код не удастся.

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

Я уверен, что это была опечатка, но линия ниже должна быть еще, если:

else (is_page('review')){ 

Кроме того, после того, как в шаблонах, у вас есть дополнительные открытые скобки PHP ,

+0

синтаксис для somereason can not use внутри оператора if? – MonteCristo

+0

Пока вы правильно открываете и закрываете скобки php, вы можете использовать где угодно. Можете ли вы вставить свой код, чтобы показать, где он не работает? – anuragbh

Смежные вопросы