Amazonで商品を見る セール会場へ

WordPress│特定のプラグインの表示を非表示にする方法

管理画面のプラグイン一覧から指定した行を省く表示例です。非表示にしても更新・停止の権限は失われず、直接操作やWP-CLIなどを防ぐアクセス制御にはなりません。誤操作対策の権限設計と混同しないでください。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

対象と保守担当者を指定する

専用プラグインまたは子テーマfunctions.phpへ追加します。既存PHP内では開始タグを省きます。maintainersに実際の保守担当ユーザーID、hiddenに確認したプラグインの相対パスを設定してください。例示パスのままでは実在プラグインは隠れません。

function waza_hide_plugin_rows($plugins) {
    if (!is_admin() || is_network_admin()) return $plugins;
    // 保守担当者は一覧を確認できるようにする。実際のユーザーIDへ変更。
    $maintainers = array(1);
    if (in_array(get_current_user_id(), $maintainers, true)) return $plugins;
    $hidden = array('example-plugin/example-plugin.php');
    foreach ($hidden as $file) unset($plugins[$file]);
    return $plugins;
}
add_filter('all_plugins', 'waza_hide_plugin_rows');

パスと適用範囲

パスはプラグインフォルダー名/メインPHPファイル名です。ファイル内容の編集は不要です。保守担当者には全件を残し、ネットワーク管理画面には適用しません。Code Snippetsなど、このコードを解除するために必要な管理手段まで隠さないでください。

確認と戻し方

担当者・担当者以外で一覧表示を比較します。行を隠しても更新通知や別の管理機能が残ることがあるため、更新権限を制限できたとは判定しません。権限制限が必要なら、ユーザーの役割と運用上必要な権限を別途見直します。

今回の関数とフックを停止すれば一覧は元に戻ります。事前にファイル編集など別の復旧経路を確認してください。ローカルのフィルター検証と実管理画面の操作確認は別です。旧CSS版と旧外部コード集は今回の修正と未同期です。

  • URLをコピーしました!

設定に不安があるなら

WordPressのセキュリティ対策・保守

セキュリティ設定¥20,000〜、定期自動バックアップの設定¥15,000〜、保守・メンテナンスは月額 ¥15,000〜(税込)。ファイアウォールやSSLの導入もまとめて対応します。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのセキュリティ対策のサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次