PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-在Woocommerce中获取并显示相关产品大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经在主题中包含了Woocommerce相关产品,其中包括

<?PHP wc_get_template( 'single-product/related.PHP' ); ?>

这已被复制到我的模板中,并且正在执行.

但是,即使我为此产品添加了各种加价销售,$related_products变量(在循环中使用)也是NULl.为了开始展示这些相关产品,是否还有其他变量在起作用?

解决方法:

您需要的远远不止于此(并且post_id必须是一个产品):

global $product; // If not set…

if( ! is_a( $product, 'WC_Product' ) ){
    $product = wc_get_product(get_the_id());
}

$args = array(
    'posts_per_page' => 4,
    'columns'        => 4,
    'orderby'        => 'rand',
    'order'          => 'desc',
);

$args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(), $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
$args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );

// Set global loop values.
wc_set_loop_prop( 'name', 'related' );
wc_set_loop_prop( 'columns', $args['columns'] );

wc_get_template( 'single-product/related.PHP', $args );

或更短的方式(将为您提供相同的效果):

global $product;

if( ! is_a( $product, 'WC_Product' ) ){
    $product = wc_get_product(get_the_id());
}

woocommerce_related_products( array(
    'posts_per_page' => 4,
    'columns'        => 4,
    'orderby'        => 'rand'
) );

两种方法都经过测试并可以工作……

大佬总结

以上是大佬教程为你收集整理的php-在Woocommerce中获取并显示相关产品全部内容,希望文章能够帮你解决php-在Woocommerce中获取并显示相关产品所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: