Skip to content

WordPress plugin for functional theme development

Notifications You must be signed in to change notification settings

synchrovision/catpow

Repository files navigation

概要

CatpowはWordPressでサイト固有のオリジナルCMSのテーマを制作するためのプラグインです。

カスタム投稿・カスタムフィールド・カスタムカテゴリ・カスタムロール等の設定情報をテーマが設定ファイルとして持つことで、サイト固有のデザインと機能が一体になったテーマの開発を効率化します。

導入

このページから最新のリリースzipファイルをダウンロードしてWordPressの管理画面からプラグインとしてインストールしてください

機能

設定ファイルでカスタム投稿等を簡単設定

テーマ内のconfig/system_config.phpに以下のように配列でカスタム投稿・カスタムフィールド・カスタムカテゴリの構成を記述することで簡単にそれらを設定できます

$post_types=[
	'my_post_type'=>[
		'label'=>'カスタムポスト',
		'taxonomies'=>[
			'my_taxonomy'=>['label'=>'カスタム分類']
		],
		'meta'=>[
			'my_custom_field'=>['type'=>'textarea','label'=>'カスタムフィールド'],
		]
	]
];

テーマ内のSCSSを自動でコンパイル

SCSSのコンパイルにコマンドを実行する必要はありません、管理者としてログインしている時にページを閲覧した時、そのページに使われているcssに対応するscssファイルに更新があればそのscssはコンパイルされ、cssは更新されます。

Catpow対応テーマ・拡張プラグインのJSXをコンパイル

カスタムブロックの開発するのであれば、CatpowにはJSXと翻訳JSONファイルのコンパイラが備えられています。プラグイン内のjsx_compilerディレクトでnpm run watchを実行することでcatpowから始まる名前を持つテーマとプラグインの中にあるJSXファイルとブロックの翻訳ファイルの更新を監視してコンパイルします。JSXはWordPressが内蔵するReactを利用するものとしてコンパイルされます。

テーマからプラグインの機能を簡単に拡張

Catpowの多くの機能がテーマかプラグインに特定のファイルやクラスが存在することをトリガーにしています。カスタムブロック、カスタムフィールドのタイプ、APIのエンドポイントなどの追加・拡張に登録の処理を行う必要はありません。テーマ内に所定の命名規則でファイル・クラスを作成するだけこれらを拡張することができます。

沢山のブロックからサイトに必要なものだけ有効に

Catpowには50以上ブロックが実装されていますがこの中から有効化されるのはテーマにblocks/[ブロック名]のディレクトリが存在するものだけであり、このディレクトリに置かれたfront_style.cssがページ内でそのブロックが使われている時だけ読み込まれるようになります。また、ほとんどのブロックはテーマでcssを定義することを前提としており、プラグインからcssが読み込まれることはなく、CSSのセレクタの優先度をプラグインと競うことはありません。