2016-12-23 7 views
1

У меня есть простая функция, что мне нужно, чтобы получить всю почту через категории,
У меня есть две категории Uncategorised с id=1 и bank с id=6WordPress получить все должности в категории функции

У меня есть три поста , bank категория имеет 2 и uncategorised имеет 1 сообщение.

У меня есть PHP-файл как:

cat_post.php

<?php 
global $post; 
$myposts = get_posts(array(
    'posts_per_page' => $noOfPost, 
    'offset' => 1, 
    'category' => $categoryName // set cat here 
    )); 
echo '<div class="recent-post">'; 
if ($myposts) 
{ 
    foreach ($myposts as $post) : 
     setup_postdata($post); 
     ?> 

     <a class="col-xs-3 col-md-2" href="<?php the_permalink(); ?>"> 
     <?php the_post_thumbnail('thumbnail'); ?> 
     </a> 

     <div class="col-xs-3 col-md-10"> 
      <a class="" href="<?php the_permalink(); ?>"> 
       <h2><?php the_title(); ?></h2> 
      </a> 
     <?php the_excerpt() ?> 
      <a href="<?php the_permalink(); ?>">Read Full</a> 
      <br> 
      <a class="" href="<?php comments_link(); ?>"> 
     <?php comments_number('0 Comments', '1 Comments', '% Comments'); ?>. 
      </a> 
     </div> 
     <hr/> 
     <?php 
    endforeach; 
    wp_reset_postdata(); 
} 
echo '</div>'; 

и я использую этот PHP-файл и установить параметры, как:

second_page.php

<div class="tab-content"> 
    <div class="tab-pane active" id="banks"> 
     <?php 
     $categoryName = 6; // sets category 
     $noOfPost = 5; // no of post 
     get_template_part('cat_post', get_post_format()); // gets function from cat_post.php 
     ?> 

    </div> 
    <div class="tab-pane" id="morebank"> 
     <h2>more content</h2> 
    </div> 
</div> 

Он показывает два сообщения из разных категорий, но должен показывать оба сообщения от банк категория.

Кто-нибудь знает, что я делаю неправильно, и почему мой код работает не так, как ожидалось?

Спасибо.

ответ

1

Try используя global переменные так:
в cat_post.php

<?php 
global $post; 
global $categoryName; //access it through a global variable. 
$myposts = get_posts(array(
    'posts_per_page' => $noOfPost, 
    'offset' => 1, 
    'category' => $categoryName // set cat here 
)); 

и установить global $categoryName значения в second_page.php, как например:

... 
<?php 
global $categoryName; 
$categoryName = 6; // sets category 
$noOfPost = 5; // no of post 

Надеется, что это помогает!

+0

Хм, похоже, работает над сообщением, у которого есть комментарии, но если нет комментариев, то он по-прежнему не показывает, но плюс 1 для справки –

+0

@BenjaminOats: можете ли вы сделать один тест, напишите функцию 'get_posts' в файле' second_page.php' и просто распечатать результат, и проверить, что вы получаете желаемый результат или нет? –