2015-06-30 2 views
-1

У меня есть следующий фрагмент кода:Wordpress get_posts категории

$args = array(
    'posts_per_page' => -1, 
    'category'   => 7, 
    'orderby'   => 'name', 
    'order'   => 'ASC', 
    'post_type'  => 'product' 
); 

$posts = get_posts($args);var_dump($posts); 

Это должен вернуть один пост, я знаю, что в этой категории, но это не так. Если я откажусь от аргумента категории, я получу все продукты, поэтому я знаю, что это должно нормально работать. Если я изменю категорию на 1 и выберу свой пользовательский тип (продукт), я получу свои сообщения по умолчанию.

Не могу понять, что в этом плохого. Может ли кто-нибудь определить, в чем проблема?

+0

Может -1 избирателю скажите, пожалуйста, почему он downvoted? То же самое для закрытого голосования? –

ответ

1

Если вы хотите, чтобы выполнить то же самое, но с WP_Query. Это получает тип сообщения «Продукт» с «posts_per_page» для количества сообщений и «product_cat» для категории продукта. Надеюсь это поможет!

EDIT: Если вы хотите, чтобы сделать это по-своему, может быть, вместо «категории» попробовать «product_cat»

<ul class="products"> 
    <?php 
     $args = array('post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => 'shoes', 'orderby' => 'rand'); 
     $loop = new WP_Query($args); 
     while ($loop->have_posts()) : $loop->the_post(); global $product; ?> 

      <h2>Shoes</h2> 

       <li class="product">  

        <a href="<?php echo get_permalink($loop->post->ID) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>"> 

         <?php woocommerce_show_product_sale_flash($post, $product); ?> 

         <?php if (has_post_thumbnail($loop->post->ID)) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="300px" height="300px" />'; ?> 

         <h3><?php the_title(); ?></h3> 

         <span class="price"><?php echo $product->get_price_html(); ?></span>      

        </a> 

        <?php woocommerce_template_loop_add_to_cart($loop->post, $product); ?> 

       </li> 

    <?php endwhile; ?> 
    <?php wp_reset_query(); ?> 
</ul><!--/.products--> 
+0

Product_cat сделал трюк! Спасибо за вашу помощь!! :) –

+1

Нет проблем! Хорошего дня! @MichielStandaert – Blake

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