WooCommerce相关产品每页加载随机帖子

时间:2018-11-02 作者:HeyImArt

我开始有点发疯了,我肯定错过了一些可怕的事情,但我已经尝试了很多解决方法。

我的问题是:我想在每个产品下有6个相关产品。(了解一个类别中是否有6种以上的产品)

我目前有相关的产品抢占它的共享类别。但当我加载一个产品时,它可能会显示1个相关产品,或4个,或3个。每次装载的相关产品数量不同。非常奇怪。

这是我的密码。

if ( ! defined( \'ABSPATH\' ) ) {
  exit;
}

global $product, $woocommerce_loop;

if ( empty( $product ) || ! $product->exists() ) {
  return;
}

if ( ! $related = $product->get_related( 6 ) ) {
  return;
}

$cats_array = array(0);

// get categories
$terms = wp_get_post_terms( $product->id, \'product_cat\' );

// select only the category which doesn\'t have any children
foreach ( $terms as $term ) {
  $children = get_term_children( $term->term_id, \'product_cat\' );
  if ( !sizeof( $children ) )
  $cats_array[] = $term->term_id;
}

$args = apply_filters( \'woocommerce_related_products_args\', array(
  \'post_type\'            => \'product\',
  \'ignore_sticky_posts\'  => 1,
  \'no_found_rows\'        => 1,
  \'posts_per_page\'       => 6,
  \'orderby\'              => $orderby,
  \'post__in\'             => $related,
  \'post__not_in\'         => array( $product->get_id() ),
  \'tax_query\' => array(
    array(
        \'taxonomy\' => \'product_cat\',
        \'field\' => \'id\',
        \'terms\' => $cats_array
    ),
  )
) );


$products                    = new WP_Query( $args );
$woocommerce_loop[\'name\']    = \'related\';
$woocommerce_loop[\'columns\'] = apply_filters(\'woocommerce_related_products_columns\', 6);
如果任何人有任何建议,将不胜感激。非常感谢。

1 个回复
最合适的回答,由SO网友:Mohammad Tajul Islam 整理而成

您需要更改$orderby的值。也许$orderby的当前值是rand

\'orderby\'              => $orderby,
现在需要根据需要更改**orderby=>\'\'**的值。例如

\'orderby\' => \'title\'
\'orderby\' => \'menu_order title\'
\'orderby\' => \'comment_count\'
\'orderby\'   => \'meta_value_num\'
\'orderby\'   => \'title menu_order\'
Order & Orderby Parametersorderby (string | array) - Sort retrieved posts by parameter. Defaults to \'date (post_date)\'. One or more options can be passed.

随机顺序。您还可以使用“RAND(x)”,其中“x”是整数种子值。注意,“orderby”rand需要有一个“order”参数才能工作

  • “ID”-按邮政ID排序。请注意大写
  • “名称”-按职位名称排序(post slug)。(“post\\u name”也可接受。)
  • 更多详细信息https://codex.wordpress.org/Class_Reference/WP_Query

    结束

    相关推荐