2015-12-03 3 views
0

У некоторых проблем с блогом wordpress. Я пытаюсь показать сообщения с определенными категориями на основе раздела сайта, с которого пришел пользователь. Все работает, кроме «query_posts» внутри оператора if/else. У меня есть следующий PHP:Проблема с query_posts внутри оператора if

<?php 
/* 
Template Name: Blog 
*/ 
get_header(); ?> 


<?php 
// Find out if the user came to the blog from 'Experienced' or 'College' section of the site 
$came_from = wp_get_referer(); 
// Show posts with categories based on where the user came from 
if (strpos($came_from,'experienced') !== false) { 
    $text = 'test'; 
    query_posts('cat=experienced-professionals'); 
    // wp_reset_query(); 
} else { 
    $text = 'heyo'; 
    query_posts('cat=college-students'); 
    // wp_reset_query(); 
} 
?> 

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

<div style="background:red;width:100%;height:200px;"></div> 

<div id="container"> 
    <div id="content" role="main"> 

     <h1 class="entry-title"><?php the_title(); ?></h1> 
     <p><?php echo $text; ?></p> 
     <?php print_r($came_from); ?> 
    </div><!-- #content --> 
</div><!-- #container --> 

<?php endwhile; ?> 
<?php endif; ?><!--end the entire loop--> 

<?php wp_reset_query(); ?> 

<?php get_footer(); ?> 

Я знаю свою переменную Referer и если/другое заявление работает потому, что изменения переменных $ текста, как это должно на основе раздела сайта я получаю в блоге с. Однако, как бы я ни попал в блог, на странице отображаются все сообщения и игнорируется категория query_posts внутри статута if/else. Кто-то может помочь?

ответ

1

Nevermind понял это ... надеюсь, что это поможет кому-то еще! Исправлено:

<?php 
/* 
Template Name: Blog 
*/ 
get_header(); ?> 


<?php 
// Find out if the user came to the blog from 'Experienced' or 'College' section of the site 
$came_from = wp_get_referer(); 
// Show posts with categories based on where the user came from 
if (strpos($came_from,'experienced') !== false) { 
    $text = 'test'; 
    $queryCategory = 'experienced-professionals'; 
    // wp_reset_query(); 
} else { 
    $text = 'heyo'; 
    // query_posts('cat=college-students'); 
    $queryCategory = 'college-students'; 
    // wp_reset_query(); 
} 
?> 

<?php query_posts(array ('category_name' => $queryCategory)); ?> 

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

<div style="background:red;width:100%;height:200px;"></div> 

     <div id="container"> 
      <div id="content" role="main"> 

       <h1 class="entry-title"><?php the_title(); ?></h1> 
       <p><?php echo $text; ?></p> 
       <p><?php echo $queryCategory; ?></p> 
       <?php print_r($came_from); ?> 
      </div><!-- #content --> 
     </div><!-- #container --> 

<?php endwhile; ?> 
<?php endif; ?><!--end the entire loop--> 

<?php wp_reset_query(); ?> 

<?php get_footer(); ?>