WordPressでテンプレート/プラグイン/関数の作成方法(超簡易版)
WordPressでテンプレートとプラグインの作り方、合わせて関数の追加について簡単に書いてみます。
テンプレート、プラグインはそれぞれphpファイルにヘッダを付けることで、非常に簡単に作成、導入することができます。関数はfunction.phpで簡単に追加することができます。
- プラグインの作成/導入方法
a. 管理画面での表示
b. 設置方法
c. shortcode APIを使用した作成例 - テンプレートの作成/導入方法
- 関数の追加方法
プラグインにするphpファイル上部に、以下のプラグインに関する情報を記述をします。
/*
Plugin Name: プラグイン名
Plugin URI: プラグインのサイトURL
Description: プラグインの説明
Author: 投稿者名
Version: プラグインのバージョン
Author URI: 投稿者のサイトURL
*/
ソース内に記述した内容は、以下のようにWordpressのプラグイン管理画面に反映されます。
① Plugin Name: プラグイン名
② Plugin URI: プラグインのサイトURL
③ Description: プラグインの説明
④ Author: 投稿者名
⑤ Version: プラグインバージョン
⑥ Author URI: 投稿者のサイトURL
/wp-content/plugins内に作成したphpファイルを入れます。任意でプラグインのディレクトリを作成すると管理がしやすいと思います。
これでWordpress側ではプラグインと認識され、上記a のような形で「プラグインの管理」画面に表示されます。
投稿時の入力を劇的に簡略化できる便利な shortcode API を使った簡単なプラグイン作成例を書いてみます。
以下の例では用途はあまりないのですが、記事のidを指定して、タイトル、投稿日時またはその両方を出力するものを書いてみます。
/*
Plugin Name: MaxarQuartz-ShortCodeSample
Plugin URI: http://quartz.maxar.jp
Description: get the entry title and date.
Author: maxar
Version: 0.0
Author URI: http://quartz.maxar.jp
*/
function mx_shortcode_handler( $atts ) {
$data = shortcode_atts( array( 'get' => '', 'id' => '' ), $atts );
$post_data = get_post( $data['id'] );
if( !$post_data ){ return 'not found.'; }
$title = $post_data->post_title;
$date = $post_data->post_date;
if ( $data['get'] == 'title' ) { $data = $title; }
elseif ( $data['get'] == 'date' ) { $data = $date; }
else { $data = ''. $title. ' ('. $date. ')'; }
return $data ;
}
add_shortcode( 'MX-ShortCode', 'mx_shortcode_handler' );
投稿編集上では以下のように取得したいものによって記述を行います。
・指定したいポストIDの投稿日時
[MX-ShortCode get="date" id = 取得したいid番号]
・指定したいポストIDのタイトル
[MX-ShortCode get="title" id = 取得したいid番号]
・指定したいポストIDのタイトルと投稿日時
[MX-ShortCode id = 取得したいid番号]
・not Foundを出力
[MX-ShortCode]
shortcode APIの仕様は以下のリンクを参照してください。
shortcode API
また、以下のポストが非常に詳しく書かれています。
http://tenderfeel.xsrv.jp/wordpress/reference/195/
ページ編集画面で選択できるテンプレートの作成と導入方法を書いてみます。作成と導入は非常に簡単です。
テンプレートにするphpファイルに以下のヘッダを加えます。
/*
Template Name: 任意のテンプレート名
*/
Template Nameは実際に選択する時に表示される名前になります。
/wp-content/theme内の使用してるテーマディレクトリに、上記ヘッダを加えたphpファイルをアップします。ファイル名はTemplate Nameと同じにする必要はなく任意で付けることができます。
これでページ編集画面上のテンプレート選択に追加されます。
関数の追加は/wp-content/theme/使用しているテーマ/function.phpを利用します。
任意の関数(function)を追加することによって、その他の場所から関数を呼び出すことが出来ます。
例:カテゴリのリストをアルファベット名順に取得する関数
functions.php
function list_cat(){
return wp_list_categories('orderby=name&echo=0')
}
呼び出し時
echo list_cat();
wp_list_categoriesについては以下を参照してください。
wp_list_categories