プラグインの翻訳を適用中のテーマのみで変更したい時のカスタマイズ方法

WooCommerceの翻訳を自分の意図したものに変えたい時は翻訳ファイル自体を子テーマ化して変更する方法もありますが、受託開発でテーマにインクルードしたい場合もあります。
その時はテーマのfunctions.phpへ下記コードを追加することで可能となります。



add_filter( 'gettext', function( $translation, $text, $domain ) {
if ( 'woocommerce' == $domain ) { //プラグインのテキストドメインを指定
switch ( $text ) {
case 'Register': // 原文
$translation = 'アカウント登録';
break;
}
}
return $translation;
}, 10, 3 );

WooCommerceでお客様情報にカスタムフィールドを追加する時の注意点

WordPressを簡単にECサイトにできるプラグインである、WooCommerceのお客様情報に追加でカスタムフィールドを加えた時の備忘録です。

下記をfunctions.phpに追記するとユーザーの性別・誕生日・趣味を追加することができます。

functinos.php

// 新規登録画面とユーザ情報にフォームを追加する


add_action( 'woocommerce_edit_account_form', 'my_woocommerce_edit_account_form' );
add_action( 'woocommerce_register_form', 'online_add_user_form' );
function my_woocommerce_edit_account_form() {

	$user_id = get_current_user_id();
	$user = get_userdata( $user_id );
	if ( !$user )
		return;
	$gender = get_user_meta( $user_id, 'gender', true );    	         //ユーザー性別
	$birthday = get_user_meta( $user_id, 'birthday', true );    	     //ユーザー誕生日
	$hoby = get_user_meta( $user_id, 'hoby', true );             //趣味
?>
	<fieldset>
		<legend>ユーザー追加情報</legend>
		<p class="form-row form-row-thirds">
			<label for="gender">性別</label>
			<select name="gender" value="<?php echo esc_attr( $gender ); ?>" class="input-gender" >
			<option value="<?php echo esc_attr( $gender ); ?>"><?php echo esc_attr( $gender ); ?></option>
			<option value="男性">男性</option>
			<option value="女性">女性</option>
			<option value="不確定">不確定</option>
			</select>
		</p>
		<p class="form-row form-row-thirds">
			<label for="birthday">誕生日</label>
			<input type="date" name="birthday" value="<?php echo esc_attr( $birthday ); ?>" class="input-birthday" />
		</p>
		<p class="form-row form-row-thirds">
			<label for="hoby">趣味</label>
			<input type="text" name="hoby" v-model="selected" value="<?php echo esc_attr( $hoby ); ?>" class="input-hoby" />
		</p>
	</fieldset>

<?php
} // end function


// 新規登録画面とユーザ情報の変更時にDBへ保存

add_action( 'woocommerce_save_account_details', 'my_woocommerce_save_account_details' );
add_action( 'woocommerce_created_customer', 'my_woocommerce_save_account_details' );
function my_woocommerce_save_account_details( $user_id ) {

	update_user_meta( $user_id, 'gender', htmlentities( $_POST[ 'gender' ] ) );					 //ユーザー性別
	update_user_meta( $user_id, 'birthday', htmlentities( $_POST[ 'birthday' ] ) );				 //ユーザー誕生日
	update_user_meta( $user_id, 'hoby', htmlentities( $_POST[ 'hoby' ] ) );				 //趣味
} // end function

注意点

通常のWordPressユーザーにカスタムフィールドを追加する実装は過去におこなったことがあったのですが、WooCommerceのアクションフックがよくわからず手間取りました。
新規作成の時とマイアカウントからWooCommerceのお客様情報を変更する時の両方に反映するために、フォーム追加時には “woocommerce_edit_account_form” と “woocommerce_register_form” をフックを追加し、保存時には “woocommerce_save_account_details” と “woocommerce_created_customer” の両方を加えました。

今年に入って2度目の視覚障害

寝れないなーと思って画面が大きくなったiPhoneでファイナルファンタジータクティクスをやっていたら、今年に入って2度目の視覚障害が訪れました。

00:51から00:56までの5分間いつものようにじわじわと暗くなり数分で真っ暗になると光も何も感じなくなります。

目の周りのマッサージはあまり効果はなさそうで、少し体動かしたりスクワットをすると状態が回復してくるような気がします。

普段からあまり小さい事でも悩まないタイプなのですがさすがにこれはちょっぴり答える…。
久々にあまり小さい事でも悩まないタイプなのですがさすがにこれはちょっぴりこたえる…。

久々に症状について検索してみると、自立神経の問題がありそうな感じがします。

今年に入って1回目の視覚障害の時は3月の終わり頃で仕事もプライベートも忙しく、体がだいぶこたえているときにこたつで寝たら症状が出ましたし、今日も睡眠不足 (CLのせいで) なのうえに仕事が立て込んでいたので体の休息と自立神経のバランスが取れてないのかもしれません。

Yahoo!の知恵袋に僕と同様の症状を6年間続けている人の投稿がありました。

僕の目も数年間続いてしまうのかと思うとちょっとナーバスになります。

運動して自律神経を整えなきゃいけないな!とりあえず寝ます。

https://m.chiebukuro.yahoo.co.jp/detail/q1481964284