プラグイン customizable-post-listings の操作マニュアル このマニュアルは Wordpress のプラグイン customizable-post-listings ver.3.0.1 をベースに作成し た CPL 日本語版 (ver.2.0.1) を対象に作成されたものです 目次 1. インストール法...2 2. 基本的スクリプトの説明...3 A. テンプレート関数の説明...3 B. パーセント変換タグの説明...4 3. 具体的使用例...7 A. 記事の要約を表示する...7 B. 最近更新された記事...8 C. 最近掲載されたコメント...8 D. カテゴリー毎に全ての記事を表示...9 E. サイドバーに記事の抜粋を表示...10 F. 関数を使用してフォントの体裁を変更する例...11 G. 記事のリストを表形式に表示する...12 H. 題名のポップアップ ウィンドウに記事の抜粋を表示させる...12 I. カテゴリー / サブカテゴリーの表題を独自に取り出す...14 1
1. CPL 日本語版のインストール 1. CPL 日本語版をインストールします 以下のファイルをマウスでクリックすると保存ウィンドウが開きますので 適当なディレクトリに保存してください CPL 日本語版 ver 2.0.1 2. このファイルを解凍すると マニュアル CPL_manual_ver2.0.1.pdf とディレクトリ customizable-post-listings が作成されます このディレクトリにある readme_jp_2.0.1.txt ファイルにおいて使用条件を確認した上で customizable-post-listings をディレクトリごと Wordpress の wp-content/plugins/ にコピーしてください 3. admin でログインして プラグイン で 使用する を選択して CPL を有効にします 設定 - CPL でオプションを設定しますが さしあたりデフォルトのままで結構です マニュアルを通読してから各設定を行ってください ( 注 ):CPL を記事やページで使用する場合には プラグイン phprun が必要になります インストールについては 次の記事を参照してください プラグイン runphp のインストール 2
2. 基本的スクリプトの説明 A. テンプレート関数の説明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <ul> <?php c2c_get_recent_posts( $num_posts = 5, $format = "<li>%post_date%: %post_url%</li>", $categories = '', $orderby = 'date', $date_format = 'm 月 d 日 ', $include_passworded_posts = false, $extra_sql_where_clause = '' );?> </ul> 説明 1. 箇条書きの指定です ol を指定すれば番号表示となります 2. $num_posts : 表示する記事の数を指定します この場合は 5 件です 全部表示したい場合には $num_posts = のように書き換えます 3. $format : 表示するフォーマットを指定します % 変換タグの間に文字列や HTML タグを埋め込むことができます この例では 記事の投稿日と題名 (URL 付き ) を表示する設定です 4. $categories : カテゴリーの ID を指定します 空の場合には全てのカテゴリを表示します カテゴリーを複数表示したい場合には ID をコンマ ( またはスペース ) で区切って指定します 例えば $categories = 3,10,11 など 逆に特定のカテゴリーを外したい場合には その ID の前にマイナスをつけ記述します 例えば $categories = -2,3,5 とすれば ID が 2,3,5 のカテゴリが表示から除かれます デフォルトは全カテゴリーです ( 注 ) 5. $orderby : 並べ替えの基準となる項目を指定します この場合には投稿日が指定されています 使用可能なオプションは ID, date ( 投稿日時 ), modified ( 更新日時 ), name, title (ABC 順 日本文字は正確に反映されない ) です デフォルトは date です 6. $order : 並べ替えの順位を指定します DESC は降順 ASC は昇順となります デフォルトは DESC です 7. $offset : 記事の表示を最初のものから指定した数だけ除外します 記事の表示数を指定しないと無効になります デフォルトは 0 です 3
8. $date_format : 日付 時刻のフォーマットを指定します ここでは 月と日だけの表示になっていますが m 月 d 日 H 時 i 分 のように指定すれば時刻も表示してくれます 9. $authors :author の ID をスペースで区切って指定します デフォルトは ( 全指定 ) です 10. $post_type : 記事検索の際に 対象とされる記事のタイプをスペースで区切って指定します オプションは post, page, attachment です デフォルトは post です page を含めてリスト表示したい場合に便利です 11. $post_status : 検索の際に 対象とされる記事のステータスをスペースで区切って指定します オプションは publish( 公開済み ), draft, private, pending, future( 未公開 ) です デフォルトは publish です 12. $include_passworded_posts: パスワードを指定した記事を表示するかどうかを指定します 表示は true 非表示は false を指定します デフォルトは false です ( 注 ):$category をデフォルト ( 全カテゴリー指定 ) で使用し 新しい順に記事を表示しようとすると 古い順に表示されてしまう不具合が生じます この場合には $categories = - というように指定してやれば 全カテゴリーについて新しい順に表示されます 詳しくは 次の記事を参照してください CPLで日付の古い順に表示されてしまう不具合について B. パーセント変換タグの説明 以下は テンプレート関数の変数 $format の引数として使用できる % 変換タグの説明です 日本語版に特有な内容については [] 内に記述してあります %allcomments_count% : 特定の記事に寄せられたコメント + ピンバック + トラックバックの数の合計を表示 %allcomments_fancy% : 全てのコメントの付帯情報を表示 %comments_count% : 特定の記事に関するコメントの数を表示 %comments_count_url% : 特定の記事に関するコメントの数を表示 コメント欄のトップにリンク %comments_fancy% : 特定の記事のコメントの付帯情報を表示 %comments_fancy_url% : 特定の記事のコメントの付帯情報を表示 コメント欄のトップにリンク %comments_url% : コメント欄のトップにリンクされた URL を表示 %comments_url% : 記事のタイトルを表示 記事のパーマリンクのコメント欄のトップにリンク %last_comment_date% : 最新のコメントの日時を表示 %last_comment_excerpt% : 特定の記事に関する最新のコメントの抜粋を表示 [ 日本語版を使用する場合には 表示語数を Comment excerpt words で指定することができます ] 4
%last_comment_excerpt_url% : 特定の記事に関する最新のコメントの抜粋を表示 そのコメントへリンク %last_comment_id% : 特定の記事に関する最新のコメントの ID を表示 %last_comment_time% : 特定の記事に関する最新のコメントの投稿時刻を表示 %last_comment_url% : 特定の記事に関する最新のコメントへの URL を表示 %last_commenter% : 特定の記事に関する最新のコメントの投稿者を表示 %last_commenter_url% : 特定の記事に関する最新のコメントの投稿者へのリンク ( 投稿者がリンクを提供している場合 ) を表示 %pingbacks_count% : 特定の記事に関するピンバックの数を表示 %pingbacks_fancy% : トラックバックの付帯情報を表示 %post_author% : 記事の投稿者のネーム ( 投稿者の指定したネーム ) を表示 %post_author_count% : 特定の記事の投稿者の投稿した記事の数を表示 %post_author_description% : 投稿者の付帯情報を表示 %post_author_email% : 記事投稿者の e-メールアドレスを表示 %post_author_firstname% : 記事投稿者のファースト ネームを表示 %post_author_id% : 記事投稿者の ID を表示 %post_author_lastname% : 記事投稿者のラスト ネームを表示 %post_author_login% : 記事投稿者のログイン ネームを表示 %post_author_nickname% : 記事投稿者のニックネームを表示 %post_author_posts% : 記事投稿者の全ての記事がリストされているページにリンク %post_author_url% : 記事投稿者のリンク名を表示 ( 投稿者が提供している場合 ) %post_subcategories% : [ サブカテゴリの題名を取得 - 日本語版のみ ] %post_subcategories_url% : [ サブカテゴリの題名を取得 ( リンク付き )- 日本語版のみ ] %post_pacategories% : [ 親カテゴリの題名を取得 - 日本語版のみ ] %post_pacategories_url% : [ 親カテゴリの題名を取得 ( リンク付き )- 日本語版のみ ] %post_categories% : 記事のカテゴリー名を表示 %post_categories_url% : 記事の所属しているカテゴリー名を表示 そのカテゴリーのアーカイブにリンク %post_content% : 記事の全内容を表示 (<p> 及び <br> タグを除去 ) %post_content_full% : 記事の全内容を表示 (<p> 及び <br> タグを維持 ) %post_content_upto_more% : <!--more--> のセパレータまでの記事を表示 more セパレータが挿入されていない場合には何も表示されません %post_date% : 記事の投稿された日時を表示 %post_excerpt% : 記事の抜粋を表示 (<p> 及び <br> タグ除去 ) [ 日本語版では 語数を Excerpt words で指定できます この場合 半角文字も全角文字も 1 字として数えられます ] 5
%post_excerpt_full% : 記事の抜粋を表示します (<p> 及び <br> タグを維持 ) [ 日本語版の場合には 語数は Excerpt length で指定できるようにしてあります HTML タグは除去されます ] %post_excerpt_short% : 抜粋の語数を指定して表示します ( サイドバーなどの限られたスペースに使用する場合など ) [ この % タグは 日本語ではうまく働きません %post_excerpt% タグを使用してください ] %post_guid% : 記事の GUID を表示 %post_id% : 記事の ID を表示 %post_lat% : 記事の latitude を表示 %post_lon% : 記事の longitude を表示 %post_modified% : 記事の最新更新日時を表示 %post_name% : 記事のネームを表示 (aka slug) %post_status% : 特定の記事のポストステータスを表示 %post_tags% : 記事のタグ名を表示 %post_tags_url% : 記事のタグ名を表示 そのタグのアーカイブにリンク %post_time% : 記事の投稿時を表示 %post_title% : 記事のタイトルを表示 %post_type% : 記事のタイプを表示 %post_url_popup% :[ 記事の抜粋をポップアップウィンドウに表示する- 日本語版のみ ] %post_url% : 記事の URL を表示 %post_url% : 記事のタイトルを表示 記事のパーマリンクページにリンク %post_url_short% : 短縮形にカスタマイズしたタイトルを表示 記事のパーマリンク ページにリンク %trackbacks_count% : 特定の記事のトラックバック数を表示 %trackbacks_fancy% : トラックバックの付帯情報を表示 6
3. 具体的使用例 以下は 私が試みた表示方法の幾つかの例です 参考にしてください カテゴリ ID などは本サ イトに特有なものですので適宜変更してください A. 記事の要約を表示する <ol> <?php c2c_get_recent_posts( $num_posts = '5', $format = "<li>%post_url%<br> 掲載日時 :%post_date%<br> 分類 :%post_categories_url%<br>%post_content_upto_more%</li>", $categories = '3,11,30', $orderby= 'date', $date_format = 'Y 年 m 月 d 日 H 時 i 分 ', $include_passworded_posts = false );?> </ol> %post_content_upto_more% を指定すると 記事の先頭から more までの内容を抽出して表示してくれます 記事の題名や投稿日と共に記事の要約を表示したい場合には便利な機能です カテゴリーは Wordpress 自宅サーバー アメリカ経済( 本サイトの場合 ) の 3 カテゴリーに絞ってあります 読んでほしいジャンルをアッピールするのに便利です このテンプレート関数は 次のように省略して書くことができます <ol> <?php c2c_get_recent_posts(5, "<li>%post_url%<br> 掲載日時 :%post_date(y 年 m 月 d 日 H 時 i 分 )%<BR> 分類 :%post_categories_url%<br>%post_content_upto_more%</li>", "3,11,30");?> </ol> デフォルトの変数と値は省略することができます 値のある変数も順番が間違っていなければ その変数の記述も省略することができます 日付 % 変換タグは %post_date(y 年 m 月 d 日 H 時 i 分 )% のように 準関数として使用することが可能です 但しこのような使い方ができるのは 日付 % 変換タグの中でも %post_date% だけですので注意してください 表示結果 7
B. 最近更新された記事 <ol> <?php c2c_get_recently_modified( $num_posts = '10', $format = "<li>%post_url%<br /> 更新日時 :%post_modified%<br> 分類 :%post_categories_url%</li>", $categories = '3,11,30', $date_format = 'Y 年 m 月 d 日 H 時 i 分 ', $include_passworded_posts = false, $extra_sql_where_clause = '' );?> </ol> 関数は c2c_get_recently_modified を使用します %post_modified% が 更新日時の表示設定です テンプレート関数 c2c_get_recent_posts を使用しても $orderby= 'modified', を指定すれば同じ結果が得られます 表示結果 C. 最近掲載されたコメント <ol> <?php c2c_get_recently_commented( $num_posts = '5', $format = "<li>%comments_url%<br /> 掲載日時 :%last_comment_date%<br /> %comments_fancy%<br>%last_comment_excerpt%</li>", $categories = '', $date_format = 'Y 年 m 月 d 日 H 時 i 分 ', $include_passworded_posts = false );?> </ol> 8
テンプレート関数は c2c_get_recently_commented を使用します %comments_url% は コメントが掲載された記事の題名( コメントへの URL 付き ) を表示します %last_comment_date% は コメントが掲載された日時を表示します %comments_fancy% は 投稿されたコメントの数を表示します デフォルトでは 1 comment のように表示されますので 表示例のように コメント 1 件 と表示したい場合には 設定 - CPL の comments_fancy の部分を適当に変えてください %last_comment_excerpt% は コメントの内容の抜粋を表示します 表示結果 D. カテゴリー毎に全ての記事を表示 <ul> <?php c2c_get_recent_posts( $num_posts = '', $format = "<li>%post_date%: %post_url%</li>", $categories = '37', $orderby = 'date', $date_format = 'm 月 d 日 ', $include_passworded_posts = false, $extra_sql_where_clause = '' );?> </ul> $categories = 37 のように表示したいカテゴリー / サブカテゴリの ID を指定します この例では サブカテゴリ 記事整理システム (CPL) を指定しています 表示結果 9
E. サイドバーに記事の抜粋を表示次の例は サイドバーに記事の抜粋を表示する場合の設定です 自分のテーマの構造に踏まえて設定を行ってください admin でログインして 設定 - CPL のオプションで表示する語数( Excerpt words の項 ) を指定します この例では 60 語に指定してあります オプションの値を変更したら必ず Save Changes ( 日本語版 変更を保存 ) ボタンをクリックし変更を反映させてください sidebar.php の適当な部分に次のスクリプトを追加します $num_posts = '3' $categories = '30' はサイトの特殊性に踏まえて適当に変更してください <ul> <?php c2c_get_recent_posts( $num_posts = '3', $format = "<li>%post_url%:%post_excerpt%</li>", $categories = '30', $orderby = 'date', $date_format = 'm 月 d 日 ', $include_passworded_posts = false, $extra_sql_where_clause = '' );?> </ul> 10
F. 関数を使用してフォントの体裁を変更する例 PHP 関数を指定して % タグを引数に取ることもできます 次の例は 自作の PHP 関数を使用して % タグが表示する内容のフォントの体裁を変更する例です もちろん 既存の PHP 関数も利用できますのでユーザーの実践的目的に合わせてプログラムを作成してみてください 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?php function fontsize_test($data,$size,$color,$char){ $xx = "<font size=\"$size\" color=\"$color\" >".$char.$data."</font>"; return $xx; }?> <div style="font-size:12pt;font-weight:bold;color:#000;padding:10px 0 0px 10px;"> 最近掲載された記事 </div> <ol> <?php c2c_get_recent_posts( $num_posts = '5', $format = "<li>%post_url%<br /> %function(fontsize_test,%post_date%,2,#000, 掲載日時 :)%<br /> %function(fontsize_test,%post_categories_url%,2,, 分類 :)%<br /> %function(fontsize_test,%post_content_upto_more%,2,#883333,)%</li>", $categories = '3,10,30', $orderby= 'date', $date_format = 'Y 年 m 月 d 日 H 時 i 分 ', $include_passworded_posts = false );?> </ol> 2 行目 : 関数名と引数の定義です 3 行目 : フォント加工部分の挿入句です 文字列指定特殊文字 ( " " ) の内部で同じ特殊文字を使用する場合には エスケープ文字 \ を前に挿入してください $sizeにはフォントサイズ (1 2 3 など ) $colorにはフォントカラー (#FF0000 あるいはredなど ) $dataには % タグ $charには任意の文字列を代入します 4 行目 : 変数 $xxの値を返します 12 行目 : 上記に定義した関数を %post_date%( 掲載日時 ) に適用しています % タグ関数 function の第 1 番目の引数として上記のPHP 関数名を指定し それに続いてその関数の引数である $data,$size,$color,$charを指定します この場合には それぞれ %post_date%, 2, #000, 掲載日時: を代入しています 13 行目 : 同じく %post_categories_url%( カテゴリー URL) タグの表示体裁の変更です 11
14 行目 : 同じく %post_content_upto_more%( 要約 ) の表示体裁の変更です 表示結果 ( 注意 ): 同じ機能の関数をページやテーマファイル (index.php など ) で複数使用する場合には 関数名を変えてください ( 例えば上記の関数の場合には fontsize_hm などと ) 同じ関数名だと それが使用されているページやサイドバーが同時に表示されたとき競合してうまく表示されないからです G. 記事のリストを表形式に表示する これまでは 記事はリスト形式で並び替えていましたが 表形式でも表示することができます 以下は登山日記の一部を表形式に並べて表示するスクリプトの例です 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <table border="5" bordercolor="008000" cellpadding="3"> <?php c2c_get_recent_posts( $num_posts = '5', $format = "<tr><td width=\"150\" bgcolor=\"dcffff\">%post_url%</td> <td width=\"450\" bgcolor=\"ffffdc\">%post_content_upto_more%</td></tr>", $categories = '6', $orderby = 'date', $date_format = 'm 月 d 日 ', $include_passworded_posts = false, $extra_sql_where_clause = '' );?> </table> 3 行目と 4 行目が表形式を指定するスクリプトです ダブルクオーテンションマークをエスケープさせることを除けば HTML で表を作るのと同じ要領です このように 特殊文字をエスケープさせることを忘れなければ 大抵の HTML タグは $format 変数の内部で使用できます 自分の目的に合わせて挑戦してみてください 表示結果 H. 題名のポップアップ ウィンドウに記事の抜粋を表示させる一般に リンクが張られた題名にマウスのポインターを当てるとポップアップ ウィンドウが開いてその表題に関する情報が表示されます この表示の内容は 以下のようなリンク設定の title 部分で指定します <a href="http//: アドレス " title=" ここに指定 " > 表題 </a> 12
記事本文にリンクの張られたタイトルにマウスのポインターを当てたとき その記事の抜粋を表示することができれば サイドバーなどの限られた場所に記事の表題をリストし 同時にその内容を表示したい場合に便利な機能となります 例えば 表題にポップアップ ウィンドウを表示させるには次のようなスクリプトを使用します 8 行目の %post_url_popup%( 日本語版のみ ) がこれを表示させる % タグです <div style="margin:20px 0 10px 0"> <div style="font-size:12pt;font-weight:bold;color:#000;padding:0 0 10px 10px"> 登山日記 </div> <table border="1" cellpadding="2" cellspacing="0"> <tr align="center" bgcolor="#ccff66"><td width="300"><strong> タイトル </strong></td><td width="110"><strong> 掲載日 </strong></td><td width="180"><strong> 分類 </strong></td></tr> <?php c2c_get_recent_posts( $num_posts = '5', $format = "<tr><td>%post_url_popup%</td><td>%post_date%</td><td>%post_categories_url%</td>< /tr>", $categories = '6', $orderby= 'date', $date_format = 'Y 年 m 月 d 日 ', $include_passworded_posts = false );?> </table> </div> 表示結果をクリックし 題名にマウスのポインターを当ててみてください その記事の抜粋が表示されるはずです ( 注 ) 日本語版 ver1.0.1 では ポップアップ抜粋表示の % 変換タグは既存の %post_url% を改良して使用していました しかし オリジナルの %post_url% の利用価値を発見したので 新たに %post_url_popup% の項を設けました 詳しくは プラグイン customizable-post-listings の改良 (3) を参照してください 表示結果 13
I. カテゴリー / サブカテゴリーの表題を独自に取り出す %post_categories% あるいは %post_categories_url% 変換タグを使用すれば その記事が属しているカテゴリ サブカテゴリ を全て表示してくれます しかし カテゴリーあるいはサブカテゴリーの題名を独自に取り出して使いたい場合があります 例えば 本サイトのプルダウン式記事検索システムの submenu の欄に使用されているサブカテゴリー名です 確かに直接カテゴリー名を記入すれば済むことなのですが 何かの都合でカテゴリー名を変えた場合にはその変更が反映されません このために カテゴリー名を取得する機能を付け加えました この改良点については プラグイン customizable-post-listings の改良 (3) を参照してください ここではその使用法について説明いたします 1 2 3 4 5 6 7 8 9 10 11 <サブカテゴリ名を取得 > <?php c2c_get_recent_posts('1',"%post_subcategories%", '37');?> <サブカテゴリ名をリンク付きで取得 > <?php c2c_get_recent_posts('1',"%post_subcategories_url%", '37');?> < 親カテゴリーを取得 > <?php c2c_get_recent_posts('1',"%post_pacategories%", '30');?> < 親カテゴリーをリンク付きで取得 > <?php c2c_get_recent_posts('1',"%post_pacategories_url%", '30');?> 2 行目 : サブカテゴリーの題名だけを取得するプログラムです 5 行目 : サブカテゴリ名をリンク付きで取得 8 行目 : 親カテゴリーの題名だけを取得 11 行目 : 親カテゴリーをリンク付きで取得 表示例 使用方法の実用例については プルダウン式記事検索システムのサブメニュー 登山日記のページ ( 当サイトの上部 Page タイトルをクリック) を参照してください 14