Я хотел бы показать 6 рекомендуемых товаров из моего магазина woocommerce в своем шаблоне home-page.php. После некоторых исследований я обнаружил, что правильный способ сделать это - через пользовательский цикл (я не хочу использовать шорткоды, потому что я хотел бы добавить дополнительные классы для стилизации и т. Д.), А также обнаружил, что ключ, который woocommerce использует для Рекомендуемые продукты - _featured. Я собрал код ниже, чтобы отобразить любые продукты, которые я выбрал для показа в своем магазине, но это не работает ... Любая помощь приветствуется.
<?php
$args = array(
'post_type' => 'product',
'stock' => 1,
'showposts' => 6,
'orderby' => 'date',
'order' => 'DESC' ,
'meta_query' => array(
array(
'key' => '_featured',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<li>
<?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="65px" height="115px" />';
?>
<h3><?php the_title(); ?></h3>
<?php
echo $product->get_price_html();
woocommerce_template_loop_add_to_cart( $loop->post, $product );
?>
</li>
<?php
endwhile;
wp_reset_query();
?>
loop
woocommerce
featured-post
steamfunk
источник
источник
var_dump( get_meta_values( '_featured', 'product' );
которого функцияget_meta_values
поддерживается пользовательской функцией, описанной в этом ответеОтветы:
Измените ваши аргументы так:
Если вы зайдете в wp-content / plugins / woocommerce / includes / class-wc-shortcodes.php (@ 595), вы сможете узнать, как это делается для коротких кодов WC.
источник
Это изменилось в WooCommerce 3.0. Это не просто meta_query, но теперь включает tax_query. Аргументы сейчас:
Смотрите woocommerce / includes / class-wc-shortcodes.php
источник
wc_placeholder_img_src
вместоwoocommerce_placeholder_img_src
.Рекомендуемые товары Loop in WooCommerce 3
источник
Согласно WooCommerce Wiki :
WooCommerce предлагает использовать
wc_get_products()
илиWC_Product_Query()
вместоWP_Query()
илиget_posts()
.Я написал сообщение с кодом, который использовал для достижения того, чего вы хотите, здесь: https://cfxdesign.com/create-a-custom-woocommerce-product-loop-the-right-way/
источник
Я знаю , что это довольно старое, но я просто разделил альтернативное решение здесь , и я думаю , что это может помочь людям достичь эту тему тоже.
Вместо использования
meta_query
илиtax_query
вы также можете использовать wc_get_featured_product_ids () :Я надеюсь, что это помогает!
источник
Основано на: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query
Я бы попробовал:
внешний цикл:
в петле:
источник
если вы посмотрите на базу данных в
wp_postmeta
таблице, вы увидите,meta_key
будет_featured
иmeta_value
будетyes
илиno
вместо значения0
или1
записиyes
илиno
источник
источник