wp_is_theme_directory_ignored()


WordPressのwp_is_theme_directory_ignored()関数は、指定されたテーマディレクトリが無視されるべきかどうかを判定するために使用されます。この関数は、テーマのスキャンや更新時に特定のディレクトリを除外する場合に役立ちます。

構文

wp_is_theme_directory_ignored( string $theme_dir );

引数の説明:

  • $theme_dir(string) — チェックするテーマディレクトリのパス。

例1: 無視されるテーマディレクトリの確認

この例では、指定されたテーマディレクトリが無視されるかどうかを確認します。

if ( wp_is_theme_directory_ignored( get_template_directory() ) ) { echo 'このテーマディレクトリは無視されます。'; }

例2: カスタムテーマディレクトリのチェック

カスタムテーマディレクトリが無視されるかどうかを確認します。

$theme_path = WP_CONTENT_DIR . '/themes/custom-theme'; if ( wp_is_theme_directory_ignored( $theme_path ) ) { echo 'カスタムテーマディレクトリは無視されます。'; }

例3: 無視されるディレクトリのリストに追加

テーマディレクトリを無視リストに追加する方法です。

add_filter( 'wp_theme_directories', function( $dirs ) { $dirs[] = WP_CONTENT_DIR . '/themes/ignored-theme'; return $dirs; } );

例4: 無視リストからディレクトリを削除

無視リストから特定のテーマディレクトリを削除します。

add_filter( 'wp_theme_directories', function( $dirs ) { return array_diff( $dirs, [ WP_CONTENT_DIR . '/themes/ignored-theme' ] ); } );

例5: 無視リストの確認

無視リストに含まれるディレクトリを確認します。

$ignored_dirs = apply_filters( 'wp_theme_directories', [] ); print_r( $ignored_dirs );

例6: 無視リストのカスタマイズ

無視リストをカスタマイズして、特定の条件でディレクトリを除外します。

add_filter( 'wp_theme_directories', function( $dirs ) { if ( some_condition() ) { $dirs[] = WP_CONTENT_DIR . '/themes/custom-ignored'; } return $dirs; } );

例7: 無視リストのリセット

無視リストをリセットして、デフォルトの状態に戻します。

add_filter( 'wp_theme_directories', function( $dirs ) { return []; } );

注意点

  • この関数は、テーマディレクトリが無視リストに含まれているかどうかを確認するために使用されますが、無視リスト自体はフィルターフックwp_theme_directoriesを通じてカスタマイズ可能です。
  • 無視リストに追加されたディレクトリは、テーマのスキャンや更新時に除外されます。

関連機能: