2015-11-17 3 views
0

Как я могу получить первые три идентификатора ТОЛЬКО продуктов в категории с woocommerce?Как я могу получить первые три post_id в woocommerce?

"<?php echo $post->ID; ?>", "<?php echo $post->ID; ?>", "<?php echo $post->ID; ?>" 

Это работает только для моего первого идентификатора продукта, я не могу получить идентификатор второго и третьего продуктов.

Вы можете мне помочь?

Спасибо заранее,

С уважением.

+0

что действительно содержит $ пост? – Lino

+0

Куда вы пытаетесь их вытащить? Вам нужно создать запрос, который возвращает набор сообщений, которые вы затем перекроете в разделе кода. Вы бы не вручную создали их как встроенный фрагмент кода, как вы делали выше. Хотя вы могли бы, но в этом случае вы явно указали бы нужные идентификаторы. (Но опять же, почти не нужно было этого делать) – Madivad

ответ

1

Вы можете использовать функцию get_posts wordpress для достижения своей цели.

$args = array(
    'post_type' => 'product', 
    'post_status' => 'publish', 
    'posts_per_page' => '3', 
    'orderby' => 'ID', 
    'order' => 'ASC', # Keep ASC for First 3 products or keep DESC for Latest 3 products as required 
); 
$products = get_posts($args); 

foreach($products AS $product){ 
    echo $product->ID; # You will get different product ids here 
} 

Для получения более подробной информации см https://developer.wordpress.org/reference/functions/get_posts/

0

Попробуйте использовать это:

<?php 
     $args = array('post_type' => 'product', 'posts_per_page' => 3, 'product_cat' => 'your_cat', 'orderby' => 'desc'); 
     $loop = new WP_Query($args); 
     while ($loop->have_posts()) : $loop->the_post(); global $product; ?> 

      <div 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); ?>"> 

        <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); ?> 

      </div> 

<?php endwhile; ?> 
<?php wp_reset_query(); ?> 

Я надеюсь, что это будет работать для вас.

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