[WooCommerce]アップセルの表示順をランダムから変更する

  • 更新日:
  • 公開日:

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が参考になります。その他のパラメータを変更するとこで日付順や表示数も制御可能です。

関数リファレンス/WP Query – WordPress Codex 日本語版

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone