オリジナルプラグイン作成

カスタム投稿タイプを作る3 〜オリジナルプラグイン化〜

functions.phpに書いて脱プラグインできた所ですが、Theme Checkプラグインでエラーになってしまいます。そこで、オリジナルプラグインを作ります。
オリジナルプラグイン化する事でクライアント受けも上々。

オリジナルプラグインを作る

プログラムが苦手なデザイナーやコーダーの方でも、前回のカスタム投稿タイプを作る2 〜functions.php編〜が分かるレベルなら、今回のオリジナルプラグイン作りは楽勝です。

<?php
/*
Plugin Name: (プラグインの名前)
Plugin URI: (プラグインの説明と更新を示すページの URI)
Description: (プラグインの短い説明)
Version: (プラグインのバージョン番号。例: 1.0)
Author: (プラグイン作者の名前)
Author URI: (プラグイン作者の URI)
Text Domain: (プラグインのテキストドメインを設定)
Domain Path: (翻訳ファイルへのパス 例: /languages/)
License: (ライセンス名の「スラッグ」 例: GPL2)
*/

3行目のPlugin Nameのみ書かれていればプラグインとして動作します。
今回は、サイト独自のプラグインのため他のプラグインと重複しなければ日本語でも大丈夫です。

公式プラグインディレクトリで公開する場合
英語で作成し別途翻訳ファイルを用意する必要があります。またプラグイン名やファイル名などにも気をつける必要があります。

カスタム投稿をプラグイン化する

上記の内容で必要な項目を書き、続きに前回のカスタム投稿タイプを作る2 〜functions.php編〜functions.phpに追記した内容を丸っとコピーしてきてこのようにします。

<?php
/*
Plugin Name: WPQWオリジナルプラグイン
Plugin URI: https://wpqw.jp
Description: お知らせ(slug:info)用カスタム投稿機能
Version: 1.0
Author: wpqw
Author URI: https://profiles.wordpress.org/wpqw
License: GPL2
*/

function wpqw_custom_post_type(){
	register_post_type(
		'info',
		array(
			'label'=> 'お知らせ',
			'public' => true,
			'hierarchical'=> true,
			'has_archive' => true,
			"show_in_rest" => true,
			'supports' => array(
				'title',
				'editor',
				'thumbnail',
				'excerpt',
				'trackbacks',
				'custom-fields',
				'comments',
				'revisions',
				'author',
				'post-formats',
			),
		)
	);
	register_taxonomy(
		'categorize',
		'info',
		array(
			'label' => 'カテゴリー',
			'public' => true,
			'hierarchical'=> true,
			'show_ui' => true,
			'show_admin_column' => true,
			'show_in_rest' => true,
		)
	);
	register_taxonomy(
		'tags',
		'info',
		array(
			'label' => 'タグ',
			'public' => true,
			'show_ui' => true,
			'show_admin_column' => true,
			'show_in_rest' => true,
		)
	);
}
add_action( 'init', 'wpqw_custom_post_type' );

導入サイトのpluginsフォルダ内で重複しないファイル名をつけて、文字コードUTF-8で保存します。
フォルダに入れるかそのままphpファイルをpluginsフォルダに設置し、管理画面のプラグインで有効にすれば完成です。
プラグインを有効にする前にfunctions.phpの該当するコードは削除しておく必要があります。

使い回ししやすように、フル機能版を作っておくことでクライアントワークの時間短縮&プラグインリストに自社名が載り信頼度もアップです。

Codex

近日公開

今回使わなかった、register_post_type()register_taxonomy()の他のパラメータについても近日中に解説します。