概要
validate_theme_requirements フィルタは、テーマが現在の環境に対応しているか調べるために使用されます。このフィルタを使用することで、開発者はテーマが適切に動作するかどうかを確認し、必要な条件を満たしているかを検証することができます。具体的には以下の機能が実装されることが多いです。
- 特定のPHPバージョンの確認
- 必要なプラグインのインストール状況の確認
- テーマの依存性の検証
- サーバーソフトウェアのバージョン確認
- テーマカスタマイザーのサポートチェック
- 高度なカスタムフィールドのサポートの確認
- サポートされている画像エディタのチェック
- テーマが推奨する設定張力の確認
構文
add_filter('validate_theme_requirements', 'your_function_name', 10, 2);
パラメータ
$valid(bool): テーマが要件を満たしているかどうかのフラグ$theme(object): テーマに関する情報を含むオブジェクト
戻り値
- (bool) テーマが要件を満たす場合は
true、それ以外はfalse
関連する関数
使用可能なバージョン
このフィルタは、WordPress 3.4 以降で使用可能です。
コアファイルのパス
/wp-includes/theme.php
サンプルコード
サンプルコード 1
add_filter('validate_theme_requirements', 'check_php_version', 10, 2);
function check_php_version($valid, $theme) {
if (version_compare(PHP_VERSION, '7.4', '<')) {
$valid = false;
}
return $valid;
}
このサンプルコードは、PHPのバージョンが7.4以上であるかどうかを確認し、それに基づいてテーマの要件を検証します。引用元: https://developer.wordpress.org/reference/hooks/validate_theme_requirements/
サンプルコード 2
add_filter('validate_theme_requirements', 'check_required_plugins', 10, 2);
function check_required_plugins($valid, $theme) {
// 必要なプラグインがインストールされているか確認
$required_plugins = ['plugin-one/plugin-one.php', 'plugin-two/plugin-two.php'];
foreach ($required_plugins as $plugin) {
if (!is_plugin_active($plugin)) {
return false;
}
}
return $valid;
}
このサンプルコードは、指定されたプラグインがインストールされていて有効化されているかを確認します。引用元: https://developer.wordpress.org/reference/hooks/validate_theme_requirements/
サンプルコード 3
add_filter('validate_theme_requirements', 'check_wp_version', 10, 2);
function check_wp_version($valid, $theme) {
if (version_compare(get_bloginfo('version'), '5.0', '<')) {
return false;
}
return $valid;
}
このサンプルコードは、WordPressのバージョンが5.0以上であるかどうかを確認します。引用元: https://developer.wordpress.org/reference/hooks/validate_theme_requirements/
サンプルコード 4
add_filter('validate_theme_requirements', 'check_server_software', 10, 2);
function check_server_software($valid, $theme) {
if (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') === false) {
return false;
}
return $valid;
}
このサンプルコードは、サーバーソフトウェアがApacheであることを確認します。引用元: https://developer.wordpress.org/reference/hooks/validate_theme_requirements/
サンプルコード 5
add_filter('validate_theme_requirements', 'check_theme_support', 10, 2);
function check_theme_support($valid, $theme) {
if (!current_theme_supports('custom-background')) {
return false;
}
return $valid;
}
このサンプルコードは、テーマがカスタム背景をサポートしているかどうかを確認します。引用元: https://developer.wordpress.org/reference/hooks/validate_theme_requirements/
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
非推奨または削除されたバージョン
特に情報はありません。