WooCommerceの商品詳細ページに表示されるアップセルは、デフォルトでランダム表示になっています。
このランダム表示を通常の順番で表示する方法のスニペットです。
アップセルの表示順をランダムから変更する
アップセルの表示順を変更するフックwoocommerce_upsell_display_args
が用意されているので、こちらに関数を引っ掛けましょう。functions.phpに以下を記述します。
<?php
function my_woocommerce_upsell_display_args( $args ) {
$my_args = array(
'posts_per_page' => $args['posts_per_page'],
'orderby' => 'menu_order', // ここを変更する
'columns' => $args['columns'],
);
return $my_args;
}
add_filter( 'woocommerce_upsell_display_args', 'my_woocommerce_upsell_display_args' );
5行目の「orderby」パラーメータをWp_Query
クラスのorderbyを参考に設定すると、任意の順番で表示可能です。
以下の公式CODEXが参考になります。その他のパラメータを変更するとこで日付順や表示数も制御可能です。