プラグインElementorのelementor/settings/tools/rollback/is_valid_rollback_versionフィルタの使用方法・解説

概要

elementor/settings/tools/rollback/is_valid_rollback_versionフィルタは、Elementorプラグインのバージョン管理に関する機能を拡張するために使用されます。このフィルタを利用することで、特定の条件に基づいてロールバック可能なバージョンを検証するカスタムロジックを実装できます。このフィルタは、以下のような機能を実装する際によく使われます。

  1. 特定のテーマやプラグインとの互換性チェック
  2. サイト固有の条件を考慮したバージョン制限
  3. ユーザー権限に応じたロールバックオプションの制御
  4. バージョン履歴機能の拡張
  5. ベータ版や開発版の取り扱い制御
  6. サポートされていないバージョンに対する警告メッセージの表示

構文

フィルタは以下の構文で定義されます。

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', 'your_callback_function', 10, 2);

パラメータ

このフィルタは以下のパラメータを受け取ります。

  • $is_valid: 現在のバージョンがロールバック可能かどうかを示す真偽値(boolean)。
  • $version: ロールバックするバージョン番号(string)。

戻り値

  • このフィルタは、真偽値を返します。trueならばロールバックが許可され、falseならばロールバックが拒否されます。

使用可能なバージョン

  • Elementorバージョン: 3.0.0以降
  • WordPressバージョン: 5.0以降

この関数のアクションでの使用可能性

アクション 使用可能性
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

サンプルコード

サンプルコード 1

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', function($is_valid, $version) {
    // バージョン2.0.0へのロールバックは許可しない
    return $version !== '2.0.0';
});

このコードは、バージョン2.0.0へのロールバックを拒否し、他のバージョンについてはロールバックを許可します。

サンプルコード 2

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', function($is_valid, $version) {
    // プラグインのアップデート時のバージョンチェック
    if (version_compare($version, '3.0.0', '<')) {
        return false;
    }
    return true;
});

このコードは、バージョン3.0.0未満のバージョンへのロールバックを拒否します。

サンプルコード 3

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', function($is_valid, $version) {
    // 特定のユーザー権限のみロールバックを許可
    if (!current_user_can('administrator')) {
        return false;
    }
    return true;
});

このコードは、管理者ユーザーのみがロールバックを行えるように制限します。

サンプルコード 4

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', function($is_valid, $version) {
    // 最新バージョン以外へのロールバックを許可
    $latest_version = '3.5.0'; // 最新バージョンを指定
    return version_compare($version, $latest_version, '<');
});

このコードは、最新バージョンより古いバージョンへのロールバックを許可します。

サンプルコード 5

add_filter('elementor/settings/tools/rollback/is_valid_rollback_version', function($is_valid, $version) {
    // 特定のテーマでロールバックを制限する
    if (wp_get_theme()->get('Name') === '特定のテーマ名') {
        return false; // 特定のテーマではロールバックを禁止
    }
    return true;
});

このコードは、特定のテーマを使用している場合にロールバックを禁止します。

これらのサンプルは、elementor/settings/tools/rollback/is_valid_rollback_versionフィルタの使用方法を示しており、各コードがどのようにロールバックの許可ロジックを変更できるかを理解するのに役立ちます。

この関数について質問する


上の計算式の答えを入力してください