提示されているリンクの1と2が、「お支払いへ進む」ボタンの出力処理自体を変更するカスタマイズ方法のようです。ただ、リンク3ではフィルターを使って「カート」ボタンのテキストだけをサクッと変更しているので、「お支払いへ進む」ボタンにも同じようなフィルターが用意されている事を期待してしまいます。リファレンスを検索します。
Hook Reference | WooCommerce 2.6.x Code Reference
https://docs.woocommerce.com/wc-apidocs/hook-docs.html
裏切られます。仕方が無いのでリンク1に従います。
woocommerce_button_proceed_to_checkout
という関数が「お支払いへ進む」ボタンを出力するためのもので、ユーザーが同名の関数を定義していた場合はそちらを、なければデフォルトの関数が定義され使用されるようです。
デフォルトのwoocommerce_button_proceed_to_checkout
関数の内容は、wc_get_template( 'cart/proceed-to-checkout-button.php' );
の1行。目的はボタンテキストの変更だけなので、このwc_get_template
の結果を置換して出力すればよさそうですね。wc_get_template
はテンプレートを直接出力する関数で返り値がないので、バッファリングで変数に取り込みます。まとめると次のようなコードになると思います。
php
1if ( 予約ページか判定() ) {
2 function woocommerce_button_proceed_to_checkout() {
3 ob_start(); // バッファリング
4 wc_get_template( 'cart/proceed-to-checkout-button.php' );
5 $template = ob_get_clean();
6 echo str_replace('お支払いへ進む', '予約を申し込む', $template);
7 }
8}
何か見落としがあるかもしれませんが、適宜修正をお願いします。基本的には独自のwoocommerce_button_proceed_to_checkout関数を用意してなんとかする、という方向になると思います。wc_get_templateにもフックが用意されているようですが、そちらを利用する場合新しくテンプレートを作らないといけないので修正箇所は2箇所に増えます。
参考
woocommerceリポジトリのwoocommerce_button_proceed_to_checkout検索結果
上:woocommerce_proceed_to_checkout
アクションのタイミングでwoocommerce_button_proceed_to_checkout
が実行される
下:デフォルトのwoocommerce_button_proceed_to_checkout
関数
https://github.com/woocommerce/woocommerce/search?utf8=%E2%9C%93&q=woocommerce_button_proceed_to_checkout
Translations < Japanese < Development (trunk) < GlotPress - WordPress
https://translate.wordpress.org/projects/wp-plugins/woocommerce/dev/ja/default?filters%5Bterm%5D=%E3%81%8A%E6%94%AF%E6%89%95%E3%81%84%E3%81%B8%E9%80%B2%E3%82%80&filters%5Buser_login%5D=&filters%5Bstatus%5D=current_or_waiting_or_fuzzy_or_untranslated&filter=Filter&sort%5Bby%5D=priority&sort%5Bhow%5D=desc
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/10 00:30