MENU

bool_from_yn()

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

'YES'true になりますか?

なりません。'Y' または 'y' のみが true

配列や数値は?

無効。常に false。文字列 'Y' / 'y' のみ有効です。

値が null の時は?

false になります。

まとめ

  • bool_from_yn()'Y' または 'N' の文字列を true / false に変換する WordPress 組み込み関数。
  • データベースなどから取得した 'Y' / 'N' 形式の値を扱う時に便利。
  • RSSやプラグインオプション、旧システムとの互換性維持にも活用できる軽量なユーティリティ関数です。
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次