【WordPress】Snow Monkey テーマで在籍キャスト管理プラグイン「krc-cast-manager」を使ってみる

Wordpress,開発

おはようございます。

krc-cast-managerの導入、設定依頼で、

大体は Lightning テーマでご依頼があるのですが、

先日 Snow Monkey での依頼がありましたので、簡単に紹介。

サンプルサイトはこちら

krc-cast-manager については下記の記事を参考にしてください。

【Wordpress】Lightningテーマで在籍キャスト管理プラグイン「krc-cast-manager」を使ってみる

スポンサーリンク

Snow Monkey について

公式サイトより転載

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。情報・知識のオープン化やコミュニティ活動にも取り組んでいます。皆さんのご参加をお待ちしています!

Snow Monkey は年額 16,500円のサブスク型テーマです。

仕様版もあるので試してみたい人はチェックしてみてください。

krc-cast-manager の導入

基本的には Lightning の時と同じで、プラグインをダウンロードしてきて事前準備しアップロードする流れになりますので、

アップロードまでの手順は以前の記事を参考にしてください。

Lightning と異なるのは、キャスト一覧ページや個人ページ、ランキングページなどの設置方法となります。

my-snow-monkeyの導入

Snow Monkey では、子テーマを利用することもできますが、公式でのアナウンスでは子テーマと同等の機能を提供するプラグイン「my-snow-monkey」の利用を推奨しています。

従って my-snow-monkey での導入をしていきます。

Snow Monkey を適用したら、公式サイトより my-snow-monkey をダウンロードしてきてFTPよりアップロードします。

※プラグイン画面からアップロードしても、 FTP でもいいですが、FTPの方を推奨しています。

テンプレートの上書き設定

my-snow-monkey では、いつもの function.php の代わりに「my-snow-monkey.php」ファイルを使って関数などを定義します。

上記ファイルに下記の記述を追加することで、各テンプレートの上書きなどが行えるようになります。

// override ディレクトリ配下にあるファイルで上書きする
add_filter(
	'snow_monkey_template_part_root_hierarchy',
	function( $hierarchy ) {
		$hierarchy[] = untrailingslashit( __DIR__ ) . '/override';
		return $hierarchy;
	}
);

// 実際のページ用の CSS 読み込み
add_action(
	'wp_enqueue_scripts',
	function() {
		wp_enqueue_style(
			'my-snow-monkey',
			untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/style.css',
			[ Framework\Helper::get_main_style_handle() ],
			filemtime( plugin_dir_path( __FILE__ ) )
		);
	}
);

// エディター用の CSS 読み込み
add_action(
	'after_setup_theme',
	function() {
		add_editor_style( '/../../plugins/my-snow-monkey/style.css' );
	}
);

上書き用ディレクトリ「override」、あとは style.css でスタイルを定義できるようにしておきます。

上書き用ファイルの配置

Snow Monkey テーマ本体のディレクトリ構造と同じように、上書きしたいファイルを配置していきます。

今回はカスタム投稿ページを利用するので、

override直下に「archive-cast.php」、「single-cast.php」を設定してそこから各ページを呼び出す形にします。

ディレクトリの構造としては次のような感じです。

override
├─template-parts
│ ├─archive
│ │ └─entry
│ │ └─content
│ ├─common
│ │ └─entries
│ ├─content
│ │ └─entry
│ │ └─content
│ └─loop
└─templates
└─view

Lightningと違い、各テンプレートが細かく分かれているので Snow Monkey 本体の構造、ファイルをよく見て適切な場所にファイルを配置します。

また、コンテンツ部分とレイアウト部分も分かれていたりするので注意が必要です。

ショートコードからのテンプレート呼び出し

ショートコードからのテンプレート呼び出しも、一般的な「get_template_part」ではなく、フレームワークを利用する形にします。

例)my-snow-monkey.php 抜粋

				Framework\Helper::get_template_part('template-parts/loop/entry-summary',
					'cast',
					[
						'_context'        => $args['_context'],
						'_entries_layout' => $args['_entries_layout'],
						'_force_sm_1col'  => $args['_force_sm_1col'],
						'_infeed_ads'     => $args['_infeed_ads'],
						'_posts_query'    => $args['_posts_query'],
					]
				);

 

まとめ

最初はちょっとハマりましたが、Snow Monkey テーマの構造をよく見て理解すれば、出来ないことはないですね。

出来ることが増えるって嬉しいですね。

何かのお役に立てれば。

ではでは。

 

スポンサーリンク


関連するコンテンツ