投稿

WooCommerceでマイアカウントのメニューを変更する

This post is written only in Japanese. If you want read it in English, please leave a translation request.

WooCommerceにはマイアカウントと呼ばれる会員専用ページがあります。マイアカウントではデフォルトで以下のリンクが存在します。

  • ダッシュボート
  • ご注文
  • ダウンロード
  • 住所
  • アカウント詳細
  • ログアウト

実際にご覧になりたい方は私たちが用意しているWooCommerceのデモサイトをご覧ください。

メニューをカスタマイズする

さて、実際にWooCommerceを運用し始めると、クライアントワークで特によく言われるのですが、「ダウンロードを消してほしい」ということが言われます。

WooCommerceはデジタルコンテンツのダウンロード販売や、通常の商品にダウンロードファイルを付属することが可能です。しかし、単に通販だけをする場合、このリンクをクリックしてもなにも表示されません。

マイアカウントページ。「登録されたカード」はWooPay.JPによって追加されるもの。

「あってもなくてもいいならあってもいい」と考えることもできますが、「不要なら消してほしい」という要望はとても多いです。

さて、この場合、メニュー自体を消すことは次のフィルターフックを利用することで可能です。

<?php
/**
 * メニューをカスタマイズする
 */
add_filter( 'woocommerce_account_menu_items', function( $menus ) {
  // $menusを知りたかったら、下の行をコメントアウトを外してください。
  // var_dump( $menus );

  // ラベルを変える
  $menus['orders'] = '注文履歴';

  // メニューを削除する
  unset( $menus['downloads'] );
  return $menus;
} );

$menu はスラッグとラベルの配列です。要素を削除すればメニューには表示されません。また、ラベルを変更(ex. 「ご注文」を「注文履歴」に変える)することもできます。

こうしたカスタマイズは特にクライアントワークで必ず発生するので、覚えておきましょう。