WordPressのバージョン情報を自動的に最新版に偽装する

概要説明

カスタマイズの影響でWordPressのコアアップデートができない場合は、バージョン情報を非表示にするか偽装を行うことで旧バージョンを使っていることを隠蔽することができます。実装が行えるかを試しに作ってみた処理なのですが効果については未知数です。

functions.php
/*----------------------------------------------------
 WordPressのバージョン情報を自動的に最新版に偽装する
----------------------------------------------------*/
if ( !function_exists( 'disguise_generator' ) ){
    // 既存のバージョンを非表示
    remove_action( 'wp_head', 'wp_generator');

    function disguise_generator() {

        // APIから最新版のバージョンを取得
        $wp_version = '';
        $core = @file_get_contents('https://api.wordpress.org/core/version-check/1.7/?locale=ja');
        if ( $core ) {
            $core_ary = json_decode($core);
            if ( isset($core_ary->offers['0']->version) ) {
                $wp_version = $core_ary->offers['0']->version;
            }
        }

        if ( $wp_version != '' ) {
            // 最新版のバージョンを出力
            echo '<meta name="generator" content="WordPress '.$wp_version.'" />';
        }
    }
    add_action('wp_head', 'disguise_generator');
}

 

ソースから動作確認

<meta name="generator" content="WordPress 6.4.2" />

最新版のバージョンが表示されていれば実装完了です。

WordPressバージョンを非表示にしたい場合はこちら

キャッシュ機能を使う場合

functions.php
$wp_version = '';
$cache = get_db_cache('wp_version', '86400');
if ( $cache === false ) {
    $core = @file_get_contents('https://api.wordpress.org/core/version-check/1.7/?locale=ja');
    if ( $core ) {
        $core_ary = json_decode($core);
        if ( isset($core_ary->offers['0']->version) ) {
            $wp_version = $core_ary->offers['0']->version;
            set_db_cache('wp_version', $wp_version);
        }
    }
} else {
    $wp_version = $cache;
}

上記のキャッシュ有りの記述に変えることでAPI通信処理は1日1回になります。

WordPress Developer Resources

関連機能

  1. 特定のURLの場合にリダイレクトさせる

  2. WordPressページの右クリックと画像のコピー操作を禁止させる

  3. WordPress 画像をリファラ判定を行い自サイトからのみ表示可能にする&PHPファイルの直接参照を禁止

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

大人になって
人との距離感がわかるようになると
衝突をすることすら避けるようになる

葬送のフリーレン
by ザイン

Profile

PAGE TOP
Amazon プライム対象