VKFS Taxonomy Filter
VKFS Taxonomy Filter - WordPress plugin for taxonomy-based filtering
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/atsushia/vkfs-taxonomy-filter/archive/refs/heads/main.zipVK Filter Search Pro の拡張プラグイン。タクソノミーフィルターブロックで 除外するタームを指定 できるようにします。
概要
VK Filter Search Pro の「タクソノミーブロック」に「除外するタームの設定」パネルを追加します。タクソノミーを選択した後、フロントエンドに表示したくないタームをチェックボックスで選択できます。
動作イメージ
ブロックエディターのサイドバーに「除外するタームの設定」パネルが追加されます。
タクソノミーブロック設定
└── タクソノミー:セミナー分類
└── このブロックのラベル
└── 選択形式
└── 表示順設定
除外するタームの設定 ← このプラグインで追加
└── □ アーカイブ視聴
└── ☑ クローズド ← チェックしたタームはフロントに表示されない
└── □ 受付中
└── ☑ 受付終了
└── □ 開催終了
└── 2 件のタームを除外中
要件
- WordPress 6.6 以上
- PHP 7.4 以上
- VK Filter Search Pro が有効化されていること
インストール
- このフォルダを
wp-content/plugins/に配置する - WordPress 管理画面「プラグイン」から VKFS Taxonomy Filter を有効化する
開発
ビルド環境のセットアップ
npm install
JS のビルド
# 本番ビルド
npm run build
# 開発用ウォッチ(ファイル変更を監視して自動ビルド)
npm run start
ビルド結果は build/ ディレクトリに出力されます。
ファイル構成
VKFS-Taxonomy-Filter/
├── vkfs-taxonomy-filter.php # メインプラグインファイル
├── inc/
│ └── class-vkfs-taxonomy-filter.php # PHP 処理クラス
├── src/
│ └── index.js # エディター拡張 JS(ソース)
├── build/
│ ├── index.js # ビルド済み JS(自動生成)
│ └── index.asset.php # 依存関係(自動生成)
└── package.json
仕組み
エディター側(JavaScript)
blocks.registerBlockTypeフィルターでvk-filter-search-pro/taxonomy-search-proブロックにexcludedTermIds(除外タームIDの配列)属性を追加editor.BlockEditフィルターで「除外するタームの設定」パネルを InspectorControls に追加- タームの一覧は REST API(
/wp-json/vkfs-taxonomy-filter/v1/terms/{taxonomy})から取得 - タクソノミーを変更すると除外リストは自動的にリセット
PHP 側
block_type_metadata_settingsフィルターでexcludedTermIds属性を PHP 側のブロックスキーマに登録(ServerSideRender のバリデーションエラーを防止)pre_render_block/render_blockフィルターでブロックのレンダリングを前後を挟み込むvkfs_taxonomy_custom_settingフィルターにexcludeを追加し、get_terms呼び出し時に指定タームを除外- プルダウン / チェックボックス / ラジオボタンの全選択形式に対応