# 16Deza Block Curator

**Version:** 0.1.12 
**Requires WordPress:** 6.0+  
**Requires PHP:** 7.4+  
**Author:** JuuRokuDezain  

---

## 概要

Block Curator は、Gutenberg ブロックエディターで使用できるブロックを管理者が選択的に制御する WordPress プラグインです。  
日常のサイト更新時によく使う必要なブロックだけを表示し、不要な選択肢を非表示とすることで、迷わずコンテンツを作成できる環境を実現します。

---

## 機能

- ブロックごとにON/OFFをチェックボックスで切り替え
- 登録されているすべてのブロックをカテゴリー別に一覧表示
- カテゴリーごとの「全ON」「全OFF」ボタン
- 「管理者は制限を免除」オプション（クライアントに管理者権限を渡しているケースに対応）
- サイト全体に一律適用
- 日本語対応（翻訳ファイル同梱）

---

## インストール

1. `block-curator` フォルダをまるごと `/wp-content/plugins/` にアップロード
2. WordPressの管理画面 → プラグイン → 「Block Curator」を有効化
3. 設定 → Block Curator から制限するブロックを設定

---

## 設定方法

### 管理者ユーザーの制限を免除する
「管理者はすべてのブロックを使用可能にする」にチェックを入れると、`manage_options` 権限を持つユーザー（管理者）は設定に関わらずすべてのブロックを使用できます。  
**クライアントにも管理者権限を渡している場合は、このチェックを外すことでブロックの制限が有効となります。**

### ブロックの有効/無効
- チェックあり（青）= 有効（エディターに表示される）
- チェックなし（グレー）= 無効（エディターに非表示）

デフォルトはすべて有効です。

---

## 技術仕様

- フック: `allowed_block_types_all`（WordPress公式）
- 設定保存先: `wp_options` テーブル
  - `blocur_disabled_blocks` (array) – 無効化されたブロック名の配列
  - `blocur_exempt_admin` (string '0'|'1') – 管理者免除フラグ
- 他のプラグインが `allowed_block_types_all` で独自リストを返している場合、Block Curatorはそのリストをさらに絞り込む形で動作します（互換性配慮）

---

## ファイル構成

```
block-curator/
├── block-curator.php                   メインファイル
├── includes/
│   └── class-block-curator.php         コアクラス（ブロック制限ロジック）
├── admin/
│   ├── class-block-curator-admin.php   管理画面クラス
│   └── css/
│       └── admin.css                   管理画面スタイル
├── languages/
│   └── block-curator-ja.po             日本語翻訳
└── README.md
```

---

## 更新履歴

### 0.1.12
- 修正: HTMLエスケープ処理欠落箇所 - インラインCSSを wp_strip_all_tags() 関数で出力
- 改善: wp_options 内 option_name のプレフィックスを「block_curator_」から「blocur_」に変更

### 0.1.11
- 修正: インラインの <script> タグを、適切にキューイングされた外部JSファイルに置換
- 修正: HTMLエスケープ処理欠落箇所 - ブロックアイコンを wp_kses() 関数で出力
- 修正: クラス名のプレフィックスが「Blocur_Admin」に更新されていなかった箇所を修正
- 修正: wp_set_script_translations() 関数を admin_enqueue_scripts フックに移動
- 改善: PHP クラス名と関数名を「blocur」プレフィックスで統一
- 改善: JavaScript データオブジェクト名を「bcData」から「blocurData」に変更

### 0.1.10
- 日本語翻訳ファイル更新

### 0.1.9
- バグフィックス: "SoundCloud" does not appear in the Embed category on the settings screen.
- 日本語翻訳ファイル更新

### 0.1.8
- プラグイン名を "16Deza Block Curator" に変更 (公式プラグイン申請にあたり)
- readme.txt を追加 (公式プラグイン申請にあたり)
- 修正: Plugin Check (PCP) でのいくつかの警告箇所
- 翻訳用にphpファイルを更新
- 日本語翻訳ファイル更新

### 0.1.2 - 0.1.7
- 設定画面UIの改善 (block icons, embed variation controls, grid layout)
- プラグイン一覧画面から設定画面へのショートカットリンクを追加
- 設定画面の上部に [保存] ボタンを追加

### 0.1.1
- 日本語翻訳ファイル追加 (languages/ folder with .pot, .po, .mo, .json)

### 0.1.0
- 初回リリース

---

## ライセンス

GPL-2.0-or-later  
https://www.gnu.org/licenses/gpl-2.0.html
