• 解決済 sgel

    (@sgel)


    Paid Memberships ProをLocoTranslateを使用して日本語化していましたが、
    チェックアウトページの下記について、

    (1) “The price for membership is”(左記文言を含む文字列ではなく、左記のみの文字列)
    (2) “You are logged in as USERNAME. If you would like to use a different account for this membership, log out now.”

    LocoTranslateで設定した翻訳文が反映されず、
    また(1)はそもそも該当する文字列がpoファイル上に存在しないため、開発者に問い合わせたところ、

    (1)について、下記を案内されました。
    https://www.paidmembershipspro.com/hook/pmpro_level_cost_text/

    しかし、以下のソースには、“The price for membership is”を含む文字列は存在しますが、“The price for membership is”のみの文字列は見当たりません。
    この場合もフィルターフックは有効なのでしょうか。
    https://github.com/strangerstudios/paid-memberships-pro/blob/master/includes/functions.php

    フィルターフックについてあまり分かっておらず、どのように記述すべきか手探りの状態です。

    (2)についてはまだ開発者から明確な回答が得られていない状態です。

    まずは(1)のフィルターフックの記述についてご教示いただけましたら幸いです。
    よろしくお願い申し上げます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 sgel

    (@sgel)

    追記です。
    (2)については別のアドオン内の記述が影響していることがわかり、(しかしこちらもLoco Translateの記述が反映されなかったため、直接ファイル内の記述を変更することで対処しました)

    (1)について、下記のフィルターフックをテーマのfunction.phpに記述しましたが、フロントエンドのページには反映されていない状況です。
    https://sevengenerations.or.jp/course/membership-account/membership-checkout/

    function my_pmpro_cost_text_example( $r, $level, $tags, $short ) {
    if ( $level->id == 1 ) {
    $r = ‘このメンバーシップレベルのアカウント登録料は無料です。’;
    }
    return $r;
    }
    add_filter( ‘pmpro_level_cost_text’, ‘my_pmpro_cost_text_example’, 10, 4 );

    引き続き、修正すべき点などお分かりになりましたらご教示いただけましたらありがたいです。
    よろしくお願い申し上げます。

    トピック投稿者 sgel

    (@sgel)

    子テーマに記述していたものを、親テーマのfuncition.phpに記述することで期待通りの結果が得られました。

    子テーマに記述していたものを、親テーマのfuncition.phpに記述することで期待通りの結果が得られました。

    WordPressは仕様上、
    cssなどのファイルは 親テーマ → 子テーマ の順で読み込みを行いますが、
    functions.phpに関しては 子テーマ → 親テーマ の順で読み込みを行います。

    ですので、親テーマ内functions.phpの記述を子テーマで上書きしたい場合は実行を遅らせる必要があります。
    add_filterの第3引数($priority=実行順)がデフォルトの10なので11以上の数字(99など)にすれば子テーマで上書きできるはずです。

    詳しくは 関数リファレンス/add filter – WordPress Codex 日本語版 を参照してください。

    • この返信は3年、 1ヶ月前にmoyo55が編集しました。
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Paid Memberships Proの文言変更(フィルターフック)」には新たに返信することはできません。