[WooCommerce]マイアカウントの各ページタイトルを任意のテキストに変更する

  • 更新日:
  • 公開日:

WooCommerceのマイアカウントの各ページは動的に生成されているため、管理画面からページタイトルの変更ができません。プログラムコードを記述する必要があります。

というわけで、マイアカウントの各ページタイトルを任意のテキストに変更するスニペットをメモ。

マイアカウントの各ページタイトルを任意のテキストに変更

以下のコードをテーマのfunctions.phpなどに貼り付けます。

function my_the_title( $title, $id ) {
    if ( is_wc_endpoint_url( 'orders' ) && in_the_loop() ) {
        $title = 'My Orders';
    }
    elseif ( is_wc_endpoint_url( 'downloads' ) && in_the_loop() ) {
        $title = 'My Downloads';
    }
    elseif ( is_wc_endpoint_url( 'edit-account' ) && in_the_loop() ) {
        $title = 'My Account Details';
    }
    elseif ( is_wc_endpoint_url( 'edit-address' ) && in_the_loop() ) {
        $title = 'My Addresses';
    }
    elseif ( is_wc_endpoint_url( 'payment-methods' ) && in_the_loop() ) {
        $title = 'My Payment Methods';
    }
    elseif ( is_wc_endpoint_url( 'lost-password' ) && in_the_loop() ) {
        $title = 'My Lost Password';
    }
    return $title;
}
add_filter( 'the_title', 'my_the_title', 20, 2 );

WooCommerce自体もthe_titleのフックに関数を登録しているので、念のためadd_filterのプライオリティ値を「20」にして優先度を上げています。(WooCommerce側のプライオリティ値はデフォルトの10です。)

各々WoCommerceの設定で指定しているエンドポイントのページ毎に、$titleの文字列を適宜変更して使ってみて下さい。

補足ですが、「マイアカウント」のページは設定した固定ページのタイトル変更で可能です。

参考ページ

以下ページが参考になりました:
Change & Rename WooCommerce Endpoints in My Accounts Page

こちらのページでは独自のエンドポイント追加方法なども紹介しているので助かりますね。

2017年7月19日追記

WooCommerce Subscriptionsを使うとマイアカウントに新たに「Subscriptions」という項目が現れます。しかし、上記のコードではこのページタイトルだけ変更できません。プラグインの中身を見てみると、どうやら故意的にフックで変更できないようにされており、専用フックすら用意されていませんでした

ですので、以下のようにテキストで判定して変更してやりましょう。

function my_the_title( $title, $id ) {
    
    if ( in_the_loop() && is_account_page() ) {
        if ( 'Subscriptions' == $title ) {
            $title = '購読';
        }
    }
    
    return $title;
}
add_filter( 'the_title', 'my_the_title', 20, 2 );

4行目でハードコーディングしている「Subscriptions」というテキストは現在日本語翻訳されていないので英語になっています。将来日本語対応されたり、Loco Translateなどで独自に翻訳している場合は4行目の「Subscriptions」を適宜変更する必要があります。

マイアカウントページのメニュー名も変更する場合はこちらの記事をご参考下さい。


それにしてもWooCommerceの日本語情報は少ないです。作成するECサイトが小規模ならWelcartが日本語情報もありますし使いやすいのですが、ある程度の規模ですと(特に多言語対応なら)WooCommerceがオススメです。

デフォルトでレスポンシブ対応、ダウンロード商品対応、拡張プラグインが豊富、開発者向けにカスタマイズしやすいプログラム構造になっている、と良い点が多いです。

書いた人

Symbol Mark

Ryoichi(しつ)

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

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

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

うぇぶ: @s_ryone