bool_from_yn()
は、’Y’ または ‘N’ という文字列を受け取り、それに対応する真偽値(boolean)を返すシンプルなユーティリティ関数です。
特に、古い WordPress の設定値やデータベースから取得したオプション値の判定に使われます。’Y’ は true
、’N’ は false
を返し、それ以外の値は false
として扱われます。
目次
機能の説明
どんな関数か?
- 引数として
'Y'
または'N'
を受け取り、boolean 型(true
またはfalse
)を返します。 - 大文字小文字を区別せず、
'y'
もtrue
、'n'
もfalse
として扱われます。
使用される場面
- オプション値が
'Y'
/'N'
形式で保存されているケース。 - 管理画面の設定や、DBに保存されたカスタム値の判定に使われます。
シンプルなコード例
$flag = bool_from_yn( 'Y' ); // true
$flag2 = bool_from_yn( 'N' ); // false
使い方の説明
bool bool_from_yn( string $yn );
引数
$yn
(string):'Y'
または'N'
(または'y'
/'n'
)
戻り値
true
: 引数が'Y'
または'y'
の場合false
: それ以外(空文字、null、'N'
、'n'
、その他の文字列)
判定の例
var_dump( bool_from_yn( 'Y' ) ); // true
var_dump( bool_from_yn( 'y' ) ); // true
var_dump( bool_from_yn( 'N' ) ); // false
var_dump( bool_from_yn( 'nope' ) ); // false
var_dump( bool_from_yn( '' ) ); // false
一緒に使うことが多い関数・タグ
get_option()
WordPressオプション値が 'Y'
または 'N'
で保存されている時に:
$is_enabled = bool_from_yn( get_option( 'my_plugin_enabled' ) );
if ( $is_enabled ) {
// 機能を実行
}
追加情報で取得したい場合
この関数は非常に小規模で、複雑なデータ変換は不要です。ただし、より柔軟な真偽値判定を行いたい場合は、以下のように拡張することもあります。
より多くの真偽値候補を扱いたい場合
function bool_from_custom_flag( $value ) {
return in_array( strtolower( $value ), [ 'yes', 'y', 'true', '1' ], true );
}
この関数を利用してのカスタマイズ例
管理画面の設定保存後の処理に使う
if ( bool_from_yn( $_POST['enable_feature'] ?? 'N' ) ) {
// 機能をONにする処理
}
プラグインの設定オプションの読み込みに使う
$show_ads = bool_from_yn( get_option( 'myplugin_show_ads' ) );
if ( $show_ads ) {
echo '<div class="ad-banner">広告を表示</div>';
}
想定されるトラブル
想定外の文字列が渡されると常に false
解決方法
'Y'
/'y'
以外の入力はすべてfalse
になる仕様。入力値の検証や補完処理を別途行う必要があります。- より柔軟な判定が必要な場合は独自関数でラップするのがおすすめです。
Q&A
まとめ
bool_from_yn()
は'Y'
または'N'
の文字列をtrue
/false
に変換する WordPress 組み込み関数。- データベースなどから取得した
'Y'
/'N'
形式の値を扱う時に便利。 - RSSやプラグインオプション、旧システムとの互換性維持にも活用できる軽量なユーティリティ関数です。
コメント