記事本文を改行コードを区切り文字として分割し、引数で指定した数のみ表示するという簡単なプラグイン作りながら、プラグインの登録方法、動作の仕組みについて確認してみました。
参考サイト
http://www.phpcmsframework.com/2012/10/a-step-by-step-procedure-to-develop.html
1)プラグインのディレクトリ、ファイルを用意
・”wp-content/plugins/プラグインのディレクトリ名”などの名前でディレクトリを用意します。
・上記ディレクトリ内にプラグインの処理を行うphpファイルを用意します。上記PHPファイル以外にJavascript、CSS、htmlファイルをインクルードすることも出来ます。
・プラグインをダウンロードできるようにする場合は、read.txtファイルを用意してプラグイン名やプラグインの動作内容等記述して表示させる事が出来ます。
例)
ここではwp-content/plugins/explugin1を作成します。
2)プラグインコードを記述
・ファイル名をプラグイン名にしたファイルを作成します。
“explugin1.php”
例として下記コードを記述します。
<?php
/*
Plugin Name: Example Plugin1
Plugin URI: http://example.com/
Version: Current Version
Author: Name please
Description: What does your plugin do and what features does it offer…
*/
?>
3)管理画面で上記プラグインの情報が表示されることを確認
管理画面のプラグイン一覧でプラグインの情報表示される事を確認します。
プラグイン名:Example Plugin1
説明:What does your plugin do and what features does it offer…
4)プラグインファイル作成
プラグインファイルに下記記述を追加します。
<?php function explugin1_excerpts_content( $limit ) { $content = explode( "\n", get_the_content(), $limit ); if ( count( $content ) >= $limit ) { array_pop( $content ); $content = implode(" ",$content).'...'; } else { $content = implode(" ",$content); } $content = preg_replace('/\[.+\]/','', $content); $content = apply_filters('the_content', $content); return $content; } ?>
※apply_filters(‘the_content’, $content);
第1引数の’the_content’は、データベースから取得した投稿コンテンツを画面に出力する前に適用されるフィルターフックで、第2引数の投稿コンテンツを内容を取得・加工してブラウザに表示します。
5)管理画面でプラグインを有効にします。
6)single.phpを修正
single.phpのthe_content()の部分を4)のプラグインファイルで定義したexplugin1_excerpts_contentを使って下記のように置き換えます。記事本文を改行コード20個分以内しか表示しないようにします。
echo explugin1_excerpts_content(20);
これで、single.php内のexplugin1_excerpts_content(20);によってプラグイン内の関数が実行され、記事本文の長さが制限されるようになります。