WordPressのサイドメニューを折りたたむ「wp_list_folderプラグイン」バージョンアップ
WordPressのサイドメニューを折りたたむ「wp_list_folderプラグイン」をバージョンアップしました。
1.プラグインの機能
WordPressのサイドメニューで折りたたみができるようにします。
プラグイン適用前(Twenty Tenテーマ)

プラグイン適用後の折りたたんだ状態

2.プラグインの変更点
ページを移動したときに、メニューの折りたたみ状態を保持できない不具合を解消しました。以下解説です。
このプラグインはjQueryの「Listfolderプラグイン」を利用しているのですが、ページを移動したときに折りたたみ状態を保持するために、各メニュータイトルに次のようなid属性の設定が必要です(その値をクッキーに保持します)。
<dt class="sidetitle" id="hoge">Recent Entries</dt>
<dd>
<ul>
<li><a href="2011/08/post-8.html" title="e22">業務提携に関するお知らせ</a></li>
<li><a href="2010/09/post-9.html" title="e23">モバイルサイトオープン</a></li>
<li><a href="2010/07/java.html" title="e19">ソリューションセミナー</a></li>
</ul>
</dd>
ただし、WordPressのウィジェットではこの設定を行うことが困難なようです。困難な理由は次のとおりです。
WordPressのウィジェットはwidgets_initフックでカスタマイズできるようになっています。下はTwentyElevenのfunctionc.phpにあるwidgets_initフックの実装です。
/**
* Register our sidebars and widgetized areas. Also register the default Epherma widget.
*
* @since Twenty Eleven 1.0
*/
function twentyeleven_widgets_init() {
register_widget( 'Twenty_Eleven_Ephemera_Widget' );
register_sidebar( array(
'name' => __( 'Main Sidebar', 'twentyeleven' ),
'id' => 'sidebar-1',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => "</aside>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
…中略…
}
add_action( 'widgets_init', 'twentyeleven_widgets_init' );
メニュータイトルに該当するのは赤色で示した「before_title」の部分ですが、ウィジェットごとに異なるid属性値を設定できないようです。wp-includes/widgets.phpにあるregister_sidebar()のデフォルト値(赤色部分)も次のようになっています。
function register_sidebar($args = array()) {
global $wp_registered_sidebars;
$i = count($wp_registered_sidebars) + 1;
$defaults = array(
'name' => sprintf(__('Sidebar %d'), $i ),
'id' => "sidebar-$i",
'description' => '',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => "</li>\n",
'before_title' => '<h2 class="widgettitle">',
'after_title' => "</h2>\n",
);
…後略…
ただし、その手前にある「before_widget」にはid属性値が付与されるので、これを利用できるようにしました。
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
「before_title」にこの設定がある場合、ページ移動を行ったときに折りたたみ状態が保持されるようになります。
3.プラグインのダウンロード
wp_list_folderプラグインは以下のリンク先からダウンロードできます。
WordPressのカテゴリーリストに新着マークを表示する「wp_list_categories_with_newmarkプラグイン」
WordPressのカテゴリーリストに新着マークを表示する「wp_list_categories_with_newmarkプラグイン」を公開します。以前コメントでご要望を頂いていたものです。
1.機能
カテゴリーリストの該当カテゴリーに新着記事がある場合、「New!!」などの新着表示を行います。新着マークに画像を表示させることもできます。
下のスクリーンショットはTwentyElevenテーマで表示させたサンプルです。

2.プラグインのダウンロード・インストール
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2012.01.25 v0.1 初版
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
アーカイブを展開し、中にあるwp_list_categories_with_newmarkフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「List Folder」の有効化をクリックします。

3.カテゴリーリストの設定
「外観」→「ウィジェット」をクリックして、「新着表示つきカテゴリー」を使用中の任意のウィジェットエリアにドラッグ&ドロップします。これで冒頭のスクリーンショットのようなカテゴリーリストが表示されるようになります。

ドラッグ&ドロップしたウィジェットを開けば、以下の設定が可能です。
- タイトル:リストタイトルを設定します
- 新着にする記事投稿経過時間:新着扱いとする記事の投稿経過時間を設定します(デフォルト24時間)
- 新着マーク:「New!!」などの文字列またはimg要素を設定します
- 階層を表示:カテゴリーを階層表示します

4.新着表示のCSS
「New!!」などの新着表示部分のCSSは、以下のセレクタで行ってください。
.new { ... }
デフォルトは、プラグインファイルに含まれるnewmark.cssで以下の設定を行っています。
.new {
color: #e50003;
}
5.新着表示記事の条件について
新着記事の定義は「各カテゴリーに属する、公開日時が最新の記事」です。具体的な取得条件は、プラグインファイルに含まれるwp_list_categories_with_newmark.phpの254行目あたりにある、
$posts = get_posts('numberposts=1&category='.$category->cat_ID.'&orderby=date&order=DESC');
となっています。
WordPressの「Wordbookerプラグイン」を使ったFacebookウォール投稿とタイトル・画像を自由に設定できるようにするためのカスタマイズ
WordPressでFacebookと連携させる「Wordbookerプラグイン」を使って、記事投稿と連動してFacebookページにウォール投稿を行う方法と、その際にタイトルと画像を自由に設定できるようにするためのカスタマイズを紹介します。
下のスクリーンショットの例では、「WordPressのTwenty Elevenテーマについて解説します。」という部分と本文左のTwenty Elevenテーマの画像について、記事ごとに自由に設定できるようになります。

あわせて、Wordbookerプラグインの簡単な設定についても解説します。
1.Wordbookerプラグインとウォール投稿時の問題について
「Wordbooker」はWordPressとFacebookの連携を行うためのプラグインです。主に次のような機能があります。
- 記事投稿や固定ページ投稿投稿と同時にFacebookにウォール投稿する
- 記事などにいいね!ボタンを表示する
- Facebookコメントを表示する
- OGPを出力する
WordPressのFacebook関連プラグインは他にもいくつかあるようですが、ネットで調べると、設定後確実に動作するという点で、このプラグインの評判がいいようです。
機能も非常に豊富ですが、ウォール投稿に限っては、
- 投稿時のタイトルを記事単位で設定できない
- 画像はOGPの画像を利用する
といった仕様になっているようで、やや柔軟性に欠けています。ということで、カスタマイズまで含めた利用方法について紹介します。
なおプラグインの設定項目が非常に多いため、本エントリーでは最低限の設定にとどめています。
2.プラグインのダウンロード
画面はWordPress3.3を使っています。
プラグインの「新規追加」をクリック。

フォームに「Wordbooker」を入力して「プラグインの検索」をクリック。

「Wordbooker」の「いますぐインストール」をクリック。

「インストールが完了しました」が表示されればOKです。つづけて「プラグインを有効化」をクリック。

これでインストールされました。
3.プラグインの設定
ここではFacebookページに投稿するための最低限の設定を紹介します。
「設定」→「WordBooker」を選択。

「Connect with Facebook」をクリック。
![]()
「ログイン」をクリック。
「許可する」をクリック。
「Reload Page」をクリック。このあと設定項目画面が表示されます。
![]()
記事投稿時にFacebookページのウォールに投稿できるようにするには、「User Level Settings」を設定します。「Blog Level Settings」の「General Posting Options」でも設定できます。
- Default Publish Post to Facebook :Yes
- Default Publish Page to Facebook :No
- Post to the following Wall :投稿するFacebookページを選択し、「As a Wall Post」を選択した状態でチェックボックスをチェック
この状態で記事投稿を行えば、選択したFacebookページのウォールにも投稿されます。ちなみに「Post Attribute :」が投稿時のタイトルになりますが、ここでは次のカスタマイズ前提なので設定していません。
4.ウォール投稿時のタイトルと画像を自由に設定できるようにする
ここではカスタムフィールドを使って、ウォール投稿時のタイトルと画像を自由に設定する方法を紹介します。
まず、プラグインファイルwp-content/plugins/wordbooker/wordbooker.phpを任意のエディタで開き、次の変更を行います。バージョン2.0.9では1345行目あたりです。
変更前
…前略…
function wordbooker_fbclient_publishaction($wbuser,$post_id)
{
…かなり中略…
$post_data = array(
'media' => $images,
'post_link' => $post_link,
'post_link_share' => $post_link_share,
'post_title' => $post_title,
'post_excerpt' => $post_content,
'post_attribute' => $post_attribute,
# 'post_full_text' => $post->post_content,
'post_id'=>$post->ID,
'post_date'=>$post->post_date
);
…後略…
変更後(青色を追加、赤色を変更)
…前略…
function wordbooker_fbclient_publishaction($wbuser,$post_id)
{
…かなり中略…
$images[0]['src'] = post_custom('facebook_image');
$post_data = array(
'media' => $images,
'post_link' => $post_link,
'post_link_share' => $post_link_share,
'post_title' => $post_title,
'post_excerpt' => $post_content,
'post_attribute' => post_custom('facebook_title'),
# 'post_full_text' => $post->post_content,
'post_id'=>$post->ID,
'post_date'=>$post->post_date
);
…後略…
修正後、元のディレクトリに上書きアップロードしてください。
そして、記事投稿時にカスタムフィールドを次のように設定します。
「facebook_title」にウォールに投稿するときのタイトル、「facebook_image」にウォールに投稿するときの画像のURLを設定します。記事に追加した画像のURLは、画像編集画面の「リンクURL(ファイルのURL)」から取得できます。
これで次のように投稿されます。

ウォール投稿タイトルをカスタムフィールドでなく、「抜粋」フィールドを利用する場合は、次のように変更するとよいでしょう(赤色部分)。
…前略…
function wordbooker_fbclient_publishaction($wbuser,$post_id)
{
…かなり中略…
$images[0]['src'] = post_custom('facebook_image');
$post_data = array(
'media' => $images,
'post_link' => $post_link,
'post_link_share' => $post_link_share,
'post_title' => $post_title,
'post_excerpt' => $post_content,
'post_attribute' => $post->post_excerpt,
# 'post_full_text' => $post->post_content,
'post_id'=>$post->ID,
'post_date'=>$post->post_date
);
…後略…
上記の$post_dataに設定している配列データがウォール投稿時のデータに対応するので、この辺りをごにょごにょすれば他の項目も色々カスタマイズできると思います。
WordPressのサイドバーリストをjQueryでツリー化する「wp_tree_makerプラグイン」バージョンアップ
WordPressのサイドバーリストをjQueryでツリー化する「wp_tree_makerプラグイン」を2.2にバージョンアップしました。
1.変更点
リストの第1階層にもツリーを表示するためのチェックボックスを追加しました。
wp_tree_maker管理画面

これまでのツリー表示(リストの第2階層以降に適用)

バージョンアップ後のツリー表示(リストの第1階層にも適用可能)

2.プラグインのダウンロード
バージョンアップしたプラグインは以下のリンク先からダウンロードできます。
WordPressでGoogle Libraries APIを自動的に読み込む「Use Google Librariesプラグイン」
WordPressでjQueryなどのGoogle Libraries APIライブラリを自動的に読み込むことができる「Use Google Librariesプラグイン」を紹介します。
1.機能
jQueryなどの外部ライブラリを読み込むには、wp_deregister_script()とwp_register_script()を組み合わせることで実現できます。
例えばjQueryを読み込む場合は次のように記述します。
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', ( 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js' ) );
wp_enqueue_script( 'jquery' );
wp_deregister_script()はWordPressに登録されているスクリプトの読み込みを解除する関数、wp_register_script()はスクリプトの登録を行う関数です。wp_enqueue_script()はパラメータに指定したスクリプトを重複させずにページに出力する関数です。
が、このプラグインを利用すれば、次の1行を記述するだけで、サーバーにインストールしたWordPressにあるJavaScriptライブラリではなく、Google Libraries APIからJavaScriptライブラリを読み込んでくれます。
wp_enqueue_script( 'jquery' );
Google Libraries APIにあるライブラリを読み込めば、サーバーの負荷を軽減する効果や、同じライブラリがユーザーのブラウザにキャッシュされている可能性が高くなります。
マニュアルによると、このプラグインでサポートされているライブラリは以下の通りです。
- Dojo(http://dojotoolkit.org/)
- jQuery(http://jquery.com/)
- jQuery UI(http://ui.jquery.com/)
- MooTools(http://mootools.net/)
- Prototype(http://www.prototypejs.org/)
- script.aculo.us(http://script.aculo.us/)
- swfobject(http://code.google.com/p/swfobject/)
また、jQueryとprototypeを同時に定義すると、jQuery.noConflict()も自動的に設定されます。
jQueryとprototypeを同時に定義(クリックで拡大します)
![]()
2.プラグインのダウンロード・インストール
管理画面の「プラグイン」→「新規追加」をクリック。

キーワードに「Use Google Libraries」を入力して「プラグインの検索」をクリック。

「いますぐインストール」をクリック。

インストールが完了したら「プラグインを有効化」をクリック。

3.設定
冒頭に記したとおり、例えばjQueryライブラリを読み込む場合は、次の内容をテーマなどに設定します。
wp_enqueue_script( 'jquery' );
wp_enqueue_script()の詳細については「WordPressのTwenty Elevenテーマ解説:ヘッダー (header.php):その2」の4項を参照してください。
WordPressのサイドメニューを折りたたむ「wp_list_folderプラグイン」
WordPressのサイドメニューを折りたたむ「wp_list_folderプラグイン」を公開します。
1.機能
WordPressのサイドメニューで折りたたみができるようにします。
プラグイン適用前(Twenty Tenテーマ)

プラグイン適用後の折りたたんだ状態

2.プラグインのダウンロード・インストール
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2011.06.20 v0.1 初版
2012.02.12 v0.2 折りたたみ状態が保持されない不具合を修正
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
アーカイブを展開し、中にあるwp_list_folderフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「List Folder」の有効化をクリックします。

3.注意事項
現在のバージョンでは、メニューリストタイトルのclass属性値に「widget-title」が設定されている必要があります。
WordPressのカレンダーを英語表示できる「Delocalized Calendar」プラグイン
WordPressのカレンダーで日本語表示を英語に変更できる「Delocalized Calendar」プラグインを公開します。
1.機能
WordPressを日本語ローカライズで利用している場合、カレンダーの年月・曜日表記が強制的に日本語で表示されます。英語表記にするカスタマイズも可能ですが、結構面倒です。
デフォルト表示のカレンダー

このプラグインを利用すれば、日本語ローカライズされたカレンダーの年月・曜日および前後月のリンクを、英語などの好きな文字に変更することができます。
プラグイン適用後のカレンダー

次のように、realtime-calendarプラグインと組み合わせることも可能です。
realtime-calendarプラグインと組み合わせた例

2.プラグインのダウンロード・インストール
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2011.06.07 v0.1 初版
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
アーカイブを展開し、中にあるwp_delocalized_calendarフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「Delocalized Calendar」の有効化をクリックします。

3.プラグインの設定
「設定」→「カレンダー表示設定」をクリック。

それぞれの項目を設定して「変更を保存」をクリック。

各項目の意味は次の通りです。
- caption要素のフォーマット:caption要素(カレンダー上部)の年月表示の順番を指定します
- 年と月の区切り文字:年月表示の「年」と「月」の間の区切り文字を指定します
- caption要素の先頭:年月表示の先頭文字を指定します(任意)
- caption要素の最後:年月表示の最後の文字を指定します(任意)
- 1月~12月の表示:caption要素の1~12月および前後月のリンクの月表示に対応する文字列を指定します
- 月~日曜日の表示:th要素(曜日表示)の月~日曜日に対応する文字列を指定します
4.注意事項
CSSは各自で適宜設定願います。
WordPressのURLをSSLや相対URLに変更する「wp_replace_domain」プラグイン
WordPressのページに含まれるURLを、SSLや相対URLに変更する「wp_replace_domain」プラグインを公開します。
1.機能
本プラグインの主な機能は次の通りです。
- ページ内のURL(ドメイン)を指定したドメインに変更します
- ページ内のURL(ドメイン)を相対URLに変更します
- 特定のポストタイプのみでプラグインを動作させることができます
下のスクリーンショットは、httpで公開しているページに含まれる該当URLのドメインをhttpsに変更した例です。
動作確認環境はさくらインターネット+WoprdPress 3.1xです。
2.プラグインのダウンロード・インストール
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2011.06.01 v0.1 初版
アーカイブを展開し、中にあるwp_replace_domainフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「Replace Domain」の有効化をクリックします。

3.プラグインの設定
「設定」→「ドメイン設定」をクリック。

それぞれの項目を設定して「変更を保存」をクリック。
各項目の意味は次の通りです。
変更前の情報
- ドメイン:変更対象のドメインを設定します。「http://」や「https://」や末尾の「/」は付与しないでください
変更後の情報
- プロトコル:変更後のプロトコルを選択します。「相対URL」を選択した場合はプロトコルを付与せず、URLの先頭が「/」になります。
- ドメイン:変更後のドメインを設定します。「http://」や「https://」や末尾の「/」は付与しないでください。
その他
- SSLのみ動作:「https://~」でアクセスされた場合のみ本プラグインが動作します。注:SSLの判断は
$_SERVER['HTTPS']で行っていますが、デフォルト以外のパーマリンク構造を選択している場合、この判定が行えないため、期待する動作になりません。 - 指定ポストタイプのみ動作:特定のポストタイプのみで動作させたい場合、ポストタイプ名を入力します。
4.テーマファイルの修正
このプラグインを利用するにあたって、該当テンプレートに以下のテンプレートタグを設定してください。
DOCTYPE宣言の前に以下を追加
<?php get_header();?>
body終了タグ直前に以下を追加
<?php get_footer();?>
2つのテンプレートタグを追加する理由は5項を参照してください。
5.プラグインの目的
このプラグインはドメインを変更するという汎用的な機能がありますが、主目的はFacebookページのIFrameタブにWordPressの特定のページを表示させるためです。
IFrameタブにWordPressの記事を表示させた際、IEではCSSのリンクがSSL対応になっていないとスタイルが適用されません。言い換えると、Facebookページ+IEという環境のためだけに、このプラグインが必要となります。
6.プラグインの動作とFacebookページで利用する際の注意事項
プラグインの動作には、PHPのob_start()とob_end_flush()を使っています。ob_start()をキックするためにget_header()を利用し、ob_end_flush()をキックするためにget_footer()を利用しています。
Facebookページ用のコンテンツは、ブログのコンテンツのようにヘッダーやフッターが必要ないので、独自のテンプレート(Facebookページ用のテンプレート)を個別に用意することを想定していますが、デフォルトテーマでget_header()やget_footer()が使われていると、Facebookページ用のテンプレートにget_header()やget_footer()を記述すると、元テーマの冗長なマークアップがコンテンツに含まれてしまう可能性があります。
これを回避するためには次の対処を行ってください。
- 空ファイル「header-facebook.php」「footer-facebook.php」をテーマディレクトにアップロード
- プラグインを適用させたいテンプレートにget_header('facebook')、get_footer('facebook')を記述
get_header()やget_footer()のパラメータに文字列を設定することで、テーマディレクトリの「header-xxx.php」「footer-xxx.php」を起動します。このようにしておけば、冗長な文字列を出力することなく、このプラグインを利用することができます。
WordPressのサイドバーリストをjQueryでツリー化する「wp_tree_maker」プラグイン
WordPressのサイドバーリストをjQueryでツリー化する「wp_tree_maker」プラグインを紹介します。
プラグイン適用前

プラグイン適用後

このプラグインは、以前公開した「サイドメニューのツリー化プラグイン for WordPress」をjQueryで新たに作り直したものです。これにより、ツリー化の設定が格段に簡単になりました。
1.機能
本プラグインの主な機能は次の通りです。
- 階層構造のリストをツリー化します
- サブカテゴリーの多段階層にも対応しています
- ツリー化の設定は管理画面から行えます
2.プラグインのダウンロード・インストール
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2011.05.24 v2.0 jQuery版
2011.05.26 v2.1 保存後に入力項目が表示されない不具合を修正
2011.12.03 v2.2 第1階層にもツリーを適用できるオプションを追加
アーカイブを展開し、中にあるwp_tree_makerフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「Tree Maker」の有効化をクリックします。

3.プラグインの設定
「設定」→「Tree Maker」をクリック。

サイドバーのリストタイトルに用いている見出し要素名(h1~h6)とツリー化したいサイドバーのリストタイトルを設定します。ツリー化したいリストが複数ある場合はリストタイトルをカンマで区切ってください。

第1階層にもツリーを表示したい場合は、「第1階層もツリー化する」をチェックしてください。
4.CSS
すべてのデザインに対応しているわけではないので、ツリー化後のスタイルは適宜設定してください。このプラグインでは次のようなclass属性値を追加しています。
<h3>Categories</h3>
<ul class="tree">
<li><a href="http://.../">ブログ</a>
<ul>
<li><a href="http://.../">カスタマイズ</a></li>
<li class="tree_end"><a href="http://.../">テンプレート</a></li>
</ul>
</li>
<li><a href="http://.../">日記</a>
<ul>
<li><a href="http://.../">お知らせ</a></li>
<li class="tree_end"><a href="http://.../">趣味</a></li>
</ul>
</li>
</ul>
WordPressにFacebookのOGP(Open Graph Protocol)を簡単に設定できる「WP-OGP」プラグイン
ご存知の方も多いと思いますが、WordPressにFacebookのOGP(Open Graph Protocol)を簡単に設定できる「WP-OGP」プラグインを紹介します。
ブログにOGP(meta要素)を設定することで、例えばFacebookのウォールなどからブログをリンクされたときに、ブログの情報をFacebookのプログラムに正しく伝えることができます。
以下、設定方法です。
1.プラグインのダウンロード・インストール
管理画面の「プラグイン」→「新規追加」をクリック。

キーワードに「WP-OGP」を入力して「プラグインの検索」をクリック。

「いますぐインストール」をクリック。

インストールが完了したら「プラグインを有効化」をクリック。

これでサイトの(X)HTMLにmeta要素が追加されます。

自動インストール機能が使えない場合は、WP-OGPのページの「Download version~」をクリックして、プラグインアーカイブをダウンロード。

アーカイブを展開して中にある「wp-ogp」フォルダをWordPressのpluginsフォルダにアップロードしたあと、プラグイン一覧にある「WP-OGP」の「有効化」をクリックしてください。

2.Facebookアプリの登録
WP-OGPプラグインには、OGPの「fb:app_id」「fb:admins」を設定するオプションが用意されています。2項では「fb:app_id」にアプリケーションIDを設定するためのアプリケーション作成を行います。
「開発者のページ」にある「マイアプリ」をクリック。

ページ右上の「Set Up New App」をクリック。

アプリケーション作成ページに移動するので、適当なアプリケーションを入力し、「同意する」を選択して、「アプリケーションを作成」をクリック。

セキュリティコードを入力して「送信」をクリック。

これでアプリが作成されたので「Web Site」タブをクリックして、ブログの「Site URL」にメインページのURL、「Site Domain」にメインページのドメイン(サブディレクトリは入力不要)を入力して「変更を保存」をクリック。また、ここに表示されている「アプリケーションID」はあとで使うのでテキストコピーしておきましょう。
保存後の画面でも「アプリケーションID」の確認ができます。
3.オプション設定
3項では「fb:app_id」「fb:admins」を有効にするための設定を行います。
WordPress管理画面に戻って、「設定」→「WP-OGP」をクリック。

オプション設定が表示されるので、
- fb:appid:2項で作成したアプリの「アプリケーションID」
- fb:admins:FacebookのあなたのユーザーID
を設定します。ユーザーIDが分からない場合は、同じページにある「http://apps.facebook.com/what-is-my-user-id/」のリンクをクリックして進めていけば分かります。

なお、ダウンロードしたバージョンではプラグインのソースコードにtypo(下のスクリーンショットの28行目は「fb:app_id」が正解ですが「fb:appid」になっている)があり、追加されたmeta要素が正常に機能しません。

ということで、plugins/wp-ogp配下にあるwp-ogp.phpを任意のエディタで開き、以下の赤色部分を青色の内容に修正してください。
変更前
function load_wpogp_settings() {
global $ogpt_settings;
$ogpt_settings['fb:appid'] = get_option(OGPT_SETTINGS_KEY_FB_APPID);
$ogpt_settings['fb:admins'] = get_option(OGPT_SETTINGS_KEY_FB_ADMINS);
}
変更後
function load_wpogp_settings() {
global $ogpt_settings;
$ogpt_settings['fb:app_id'] = get_option(OGPT_SETTINGS_KEY_FB_APPID);
$ogpt_settings['fb:admins'] = get_option(OGPT_SETTINGS_KEY_FB_ADMINS);
}
修正後、元の位置にアップロードし、ページを表示すれば、正常に機能するようになります。

4.html要素の修正
テーマ編集画面を開いて、html要素に以下の青色のxmlns属性を追加してください。
<html xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
- 関連情報:HTML5+RDFaについて
WordPressの「続き」をjQueryで折りたたむ「wp_more_content_folder」プラグイン
WordPressの「続き」をjQueryで折りたたむ「wp_more_content_folder」プラグインを公開します。
閉じた状態

開いた状態

1.機能
本文の追記部分をjQueryを使って折りたたみします。このプラグインは「Show Hide "more" with WordPress」を改造したものです。
2.ダウンロード
以下のリンクからプラグインをダウンロードしてください。
変更履歴
2011.05.09 初版
2011.05.09 v0.2 jQueryの呼び出し方法変更/本文下に表示される「閉じる」をクリックしたときの折りたたみ速度修正
アーカイブを展開し、中にあるwp_more_content_folderフォルダをpluginsディレクトリにアップロードしてください。
アップロード後、管理画面で「More Content Folder」の有効化をクリックします。

3.CSS
追記には「class="more"」および「class="hide"」が追加されます。以下のようなスタイルを追加すれば、クリック後のリンク色も変わらないと思います。
a.more, a.hide {
color: #0066cc;
}
WordPressでコメント一覧を表示するCommented entry listプラグイン
WordPressでコメント一覧やトラックバック一覧を表示する「Commented entry listプラグイン」を改変したものを本エントリーで配布します。
Commented entry listプラグインを利用すれば、次のように「最近のコメント」と「最近のトラックバック」を分けて表示することができます。

1.配布の経緯
Commented entry listプラグインは、WordPress 1.0の時代の2004年にtkzyさんが「統計を表示するスクリプト(デッドリンク)」を参考に作成したtkzy_get_recent_comments.phpを、2005年にながぬまさんが改変して20050208_recent-comments.phpとして配布し、その後hirobeeさん(2011年1月現在デッドリンク)がさらに改変して配布しているものです。
本エントリーで配布するCommented entry listプラグインは、それをWordPress 3.0で正常に動作するよう「WordPress 3.0 で「Commented entry list」プラグインが正常に動作しない不具合の対処」の修正を行ったものです。配布元のサイトがデッドリンクになってしまっているため配布することに致しました。
元プラグインにはライセンスの記載がないため、WordPressはGPLライセンスであり、プラグインも基本的にGPLライセンス、という解釈にもとづいています。以前は前述のように改変したものを他のブログで公開するという風潮がありましたが、最近はそうでもないようなので配布について問題があるようでしたらコメント頂ければと思います。
2.プラグインのダウンロード
以下のリンクよりプラグインをダウンロードしてください。
3.プラグインのインストール
プラグインアーカイブを展開し、中にある commented-entry-list.phpをpluginsディレクトリにアップロードします。展開した中にあるcomments.phpとReadMe.txtはhirobeeさんが配布していたものを改変せず、そのまま同梱しています。
プラグインの一覧を開いて「Commented entry list」の有効化をクリックします。

これでイントール完了です。

4.利用方法
最近のコメントがあった記事を表示させたい箇所に
<?php get_recently_commented(); ?>
最近のトラックバック/ピンバックがあった記事を表示させたい箇所に
<?php get_recently_trackbacked(); ?>
を挿入してください。
関数のパラメータに数値を設定すれば、数値分のコメントとトラックバックが表示されます。デフォルトは10件です。
WordPressの記事プレビューを別ウィンドウで行える「wp_change_preview_targetプラグイン」
WordPressの記事プレビューを別ウィンドウで行える「wp_change_preview_targetプラグイン」を公開します。
1.機能
WordPressの既存の記事投稿画面には、デフォルトでプレビュー機能がついています。

「変更をプレビュー」をクリックすれば、FirefoxやChromeでは新しいタブ(IEでは別ウィンドウ)が開きますが、プレビューを確認するために毎回タブを切り替える必要があり、ちょっと面倒です(「変更をプレビュー」を右クリックすれば新しいウィンドウを開くこともできますが、毎回新しいウィンドウが開いてしまいます)。
このプラグインを利用すれば、冒頭の画面のように新しいウィンドウを開いた後、常に同じウィンドウにプレビューを表示することができます。これにより記事編集作業の効率化が期待できます。
2.プラグインのダウンロード
github のwp_change_preview_targetプラグインのページに移動します。
「ダウンロード」のリンクをクリックして、プラグインアーカイブをダウンロードします。なお、プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.プラグインのインストール
ダウンロードしたプラグインを展開し、中にあるwp_change_preview_targetフォルダをwp-content/pluginsディレクトリにアップロードしてください。
プラグインの一覧を開いて「Change Preview Target」の有効化をクリック。

これでイントール完了です。

記事編集画面に「公開(別ウィンドウプレビューつき)」というセクションが追加されるので、任意の位置に移動して利用してください。

プレビュー以外の部分は、デフォルトの「公開」セクションと同じ機能です。
4.注意事項
デフォルトの「公開」セクションを使ってプレビュー画面を開いている状態で、本プラグインのプレビューを行った場合、別ウィンドウでは表示されません。
WordPressのコメント連続投稿抑止時間を変更する「wp_throttle_comment_floodプラグイン」
WordPressのコメント連続投稿抑止時間を変更する「wp_throttle_comment_floodプラグイン」を公開します。
1.機能
WordPress では、同一ユーザからのコメント連続投稿を一定期間抑止します。抑止すると、コメント投稿者に次のようなメッセージを標示します。

デフォルトの抑止時間は15秒です。
「wp_throttle_comment_floodプラグイン」を利用することで、抑止時間を変更できるようになります。また、抑止を無効にすることもできます。
2.プラグインのダウンロード
github のwp_throttle_comment_floodプラグインのページに移動します。
「Download Source」のリンクをクリックして、プラグインアーカイブをダウンロードします。

3.プラグインのインストール
ダウンロードしたプラグインを展開し、中にあるwp_throttle_comment_floodフォルダをwp-content/pluginsディレクトリにアップロードしてください。
プラグインの一覧を開いて「Throttle Comment Flood」の有効化をクリック。

これでイントール完了です。

4.設定
プラグインを有効化すると、「設定」→「コメントスロットル」というサブメニューが追加されるのでクリックします。

次の画面で「コメント連続投稿抑止秒数」を設定します。

「0」を設定すれば連続投稿を抑止しません。空の値を設定すると「15秒」を設定します。
WordPress の記事一覧に新着マークを表示する「wp_recent_posts_with_newmark プラグイン」
WordPress 3.0 で、最近の記事一覧に新着マークを表示する「wp_recent_posts_with_newmarkプラグイン」を公開します。
このプラグインを適用すると、専用のウィジェットが追加され、投稿記事タイトルの右側に任意の新着表示を行うことができます。新着マークや新着表示時間の変更も可能です。

1.プラグインのダウンロード
github のwp_recent_posts_with_newmarkプラグインのページに移動します。
「Download Source」のリンクをクリックして、プラグインアーカイブをダウンロードします。

2.プラグインのインストール
ダウンロードしたプラグインを展開し、中にあるwp_recent_posts_with_newmarkフォルダをwp-content/pluginsディレクトリにアップロードしてください。
プラグインの一覧を開いて「wp_recent_posts_with_newmark」の有効化をクリック。

これでイントール完了です。

3.設定
「外観」→「ウィジェット」をクリックして、「新着表示つきの最近の投稿」を使用中の任意のウィジェットエリアにドラッグ&ドロップします。これでページに表示されるようになります。

ドラッグしたウィジェットの▼をクリックすればオプション設定画面が開きます。ここで、タイトル/表示投稿数/新着表示時間/新着表示のHTMLについて、それぞれ変更が可能です。

HTMLは、デフォルトの状態では次の内容を表示するようにしています。
<span style="color:#e50003">New!!</span>
HTMLにはimg要素を記述することも可能です。src属性には、画像をアップロードしたURLを設定してください。
なお、新着表示時間の計算ロジックはネットで調べたものを流用させて頂いてます。どれも日単位のサンプルしかなかったので、時間単位で設定を行えるように変更していますが、時間単位指定では正確に動作しなかったため、プログラムで若干補正しています。もしかしたら当方の動作環境の問題かもしれません。
よって、新着表示時間が期待通りに動作しない場合、wp_recent_posts_with_newmark.phpの赤色部分を削除するか、数値を変更してみてください。
…前略…
if ($min+8 < $hour) {
echo $html;
}
…後略…
より適切な方法がありましたら、ご連絡頂ければ幸いです。
wp_list_categories_with_entriesプラグイン
WordPress 3.0 でカテゴリーリストに記事一覧を表示する「wp_list_categories_with_entriesプラグイン」を公開します。
このプラグインを適用すると、専用のウィジェットが追加され、各カテゴリ配下に記事の一覧を表示することができます。

現在α版なので、サブカテゴリーなどの階層表示有無の設定など、一部動作しない機能があります。プラグインの修正は今後行っていきたいと思います。
1.プラグインのダウンロード
以下のリンクよりプラグインをダウンロードしてください。
2.プラグインのインストール
ダウンロードしたプラグインを展開し、中にあるwp_list_categories_with_entriesフォルダをwp-content/pluginsディレクトリにアップロードしてください。
プラグインの一覧を開いて「wp_list_categories_with_entries」の有効化をクリック。

これでイントール完了です。

3.設定
「外観」→「ウィジェット」をクリックして、「記事タイトルつきカテゴリー」を使用中の任意のウィジェットエリアにドラッグ&ドロップします。これでページに表示されるようになります。

メニュータイトルは変更可能です。他の項目は0.0.1ではまだ動作しませんので予めご了承ください。

WordPressのカテゴリーリストを折りたたむ「Category Folder」プラグイン
WordPressのカテゴリーリストを折りたたむ「Category Folder」プラグインを公開します。このプラグインを適用すると次のようなことが可能です。
下はカテゴリーリストを折りたたんでいる状態です。

すべてのカテゴリーを開くとこのような感じになります。

WordPress 3.0のカテゴリーウィジェット用です。デフォルトテーマでのみ動作を確認しています。すでに同じプラグインがあったらすいません。
久しぶりにWordPressのプラグインを作成したので、お作法を色々忘れてしまっているかもしれません。
1.プラグインのダウンロード
以下のリンクよりプラグインをダウンロードしてください。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。下記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
2.プラグインのインストール
ダウンロードしたプラグインを展開し、中にあるcategory-folderフォルダをwp-content/pluginsディレクトリにアップロードしてください。
プラグインの一覧を開いて「Category Folder」の有効化をクリック。

これでイントール完了です。

3.画像の差し替え
category-folder.phpを任意のエディタで開いて、以下の部分を修正してください。
$arrow_close = $path.'/plugins/category-folder/images/close.gif';
$arrow_open = $path.'/plugins/category-folder/images/open.gif';
$no_arrow = $path.'/plugins/category-folder/images/spacer.gif';
4.参考サイト
折りたたみのコードは以下の記事を参考にさせていただきました。ありがとうございました。
元コードは、折りたたみマークが出るカテゴリーに記事がある場合、リンクをクリックしてもカテゴリーページにジャンプせず、折りたたみ動作となるので、カテゴリーページにジャンプするよう改修しています。
WordPress 3.0 で「Commented entry list」プラグインが正常に動作しない不具合の対処
WordPress 3.0 で「Commented entry list」プラグイン(commented-entry-list.php)が正常に動作しない不具合が発生しており、本エントリーで対象方法を紹介します。「freezing-point」のNIMITZさんよりコメントで情報頂きました。ありがとうございました。
このプラグインは当ブログで配布しているWordPressテーマでも利用しているので、不具合が発生している場合は以下の対処を行ってください。
2011.01.13 配布元がデッドリンクになったため、以下の記事で対処済みのプラグインを配布しています。
1.問題点
2010年6月時点で配布されている「Hirobee’s Trail」さんの「Commented entry list」プラグインを、WordPress 3.0に適用すると、コメントが投稿されていても「No Response.」という表示になります(下)。プラグインバージョンが1.2の場合は何も表示されません。

2.対処方法
commented-entry-list.phpを任意のエディタで開き、以下のように修正します。赤色部分を削除して青色部分を追加してください。
11行目あたり
…前略…
function get_recently_commented($limit = 10) {
global $wpdb, $tablecomments, $tableposts;
global $wpdb;
$tablecomments = $wpdb->comments;
$tableposts = $wpdb->posts;
…後略…
51行目あたり
…前略…
function get_recently_trackbacked($limit = 10) {
global $wpdb, $tablecomments, $tableposts;
global $wpdb;
$tablecomments = $wpdb->comments;
$tableposts = $wpdb->posts;
…後略…
修正後は次のように正常に表示されるようになります。

補足ですが、プラグインで利用している$tablecomments、$tablepostsという変数はWordPress 3.0では使用されなくなったので、修正後のように値を設定することで利用できるようになります。
3.参考サイト
修正方法を掲載されているサイトは以下です。ありがとうございました。
2010.06.27
配布元のリンクを、最新バージョンが配布されているページに変更しました。
WP-DBManager プラグインを XREA (PHP セーフモード)で利用する際の注意事項
前のエントリーで紹介した WP-DBManager プラグイン ですが、PHP がセーフモードで動作するサーバで利用する際には、以下のような表示になってしまい、DBバックアップが行なえません。
正常に動作させるには追加の設定が必要です。
以下、XREA を例に設定方法を紹介します。WordPress 2.8.2 で動作を確認しています。
なお、ここで紹介する前提として、WordPress は PHP モジュール版のままインストール(=インストールディレクトリのパーミッションを 707 に変更)しています。また、バックアップフォルダ(wp-content/backup-db)は作成済の状態で、フォルダのパーミッションは755になっています。
1..htaccess の設定
wp-admin 配下に、以下の内容を記述した .htaccess をアップロードします。
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>
これは、WP-DBManager を利用するときに起動する admin.php を、CGI として動作させるための設定です。
なお、AddHandler だけの行の追加(files ディレクティブなし)では、下記のように管理画面が崩れてしまうようです。

2.mysqldump・mysqlのパスの設定
管理画面の「データベース」→「DBオプション」をクリック。

画面上に「which: no mysql in ~」と表示されているのは無視してください(認識誤りでしたらご指摘ください)。

mysqldumpのパス・mysqlのパスに、それぞれ以下の内容を設定し、一番下の「Save Changes」をクリックします。すでに設定されているようであれば、この作業はスキップしてください。
- mysqldumpのパス:/usr/local/mysql/bin/mysqldump
- mysqlのパス:/usr/local/mysql/bin/mysql
次のように「DB オプションを更新しました。」が表示されればOKです。

ちなみに、1項の作業を行なわずに設定すると、mysqldumpとmysqlのパスが正しくても、次のように「DB オプションを更新できません。」と表示されます。

3.DB のバックアップ
管理画面の「データベース」→「DBバックアップ」をクリック。

次のような表示になっていればバックアップ実行可能ですので、バックアップを試してみてください。wp-content/backup-db のパーミッションも冒頭に記した通り、755 のままで保存されることを確認しています。

ちなみに、1項の作業を行なわずにDBバックアップ画面に移動すると、次のように「MYSQLパスは存在しません。DBオプション画面でMYSQLのパスを確認してください。わからない場合はサーバー管理者に問い合わせてください。」という警告が表示されます。この状態ではバックアップは行なえません。

WP-DBManager プラグイン
WordPress のバックアップや復元を行なう WP-DBManager プラグインの使い方を紹介します。動作は WordPress 2.8.2 で確認しています。
1.プラグインのダウンロード
lesterchan.net のサイトにアクセスします。
ページの少し下に、WP-DBManager があるので、

その右側にある「Download」をクリックして、プラグインアーカイブをダウンロードします(2009年7月現在のバージョンは2.50)。

2.プラグインのアップロード・インストール
アーカイブを展開し、wp-dbmanager フォルダを、wp-content/plugins ディレクトリにアップロードします。
そして、WordPress 管理画面の「プラグイン」より、「WP-DBManager」の「使用する」のリンクをクリックします。

設定後、次のように「Your backup folder MIGHT be visible to the public」が表示された場合があります。これは、バックアップディレクトリが外部からアクセスされる危険性があることの警告です。
![]()
警告を解消するには、さきほど展開した wp-dbmanager 配下にある、htaccess.txt を wp-content/backup-db 配下にアップロードし、ファイル名を .htaccess の変更してください。Windows のエクスプローラーでは、先頭にピリオドがつくファイル名に変更できないので、サーバにアップロードしてから変更するとよいでしょう。Windows で WordPress を利用している場合は、任意のエディタで開いて、別名で保存する際に .htaccess を指定しましょう。
ちなみに、.htaccess の内容は次の通りです。
<Files ~ ".*\..*">
order allow,deny
deny from all
</Files>
配置後、管理画面をリロードすれば警告は消えます。

3.プラグインの日本語化
WP-DBManager の管理画面を日本語対応にします。
「MMRT daily life - WP-DBManager 日本語版」のページより、「WP-DBManager[v2.20] 日本語版」をクリックして、アーカイブをダウンロードします。ここで提供されているのはプラグインではなく、言語ファイルのみです。

ダウンロードしたアーカイブを展開し、dbmanagerフォルダ配下にある wp-dbmanager.pot および wp-dbmanager-ja.mo を wp-content/plugins/wp-dbmanager にアップロードします。元の wp-dbmanager.pot は上書きされるので、残しておきたい場合は、アップロード前に別の名前にリネームしておくと良いでしょう。
4.バックアップを取得する
とりあえずバックアップを取得してみます。管理画面左下の「データベース」をクリックしてメニューを開き、「DBバックアップ」をクリックします。なお、実験したサイトでは、バックアップ取得のための情報が自動で設定されていました。
注:XREAなど、PHPをセーフモードで動作させている場合は「WP-DBManager プラグインを XREA (PHP セーフモード)で利用する際の注意事項」をご覧ください。

表示されている情報を確認し、一番下の「バックアップ」をクリック。
「~のDBバックアップに成功しました」が表示されればバックアップ完了です。バックアップは wp-content/backup-db ディレクトリ配下に、拡張子が .sql(圧縮している場合は .gz など)のファイルができあがります。
5.バックアップファイルの操作
取得したバックアップファイルは、管理画面左下の「データベース」→「ファイル操作」で開いた画面で扱え、ファイルのダウンロード・復元・削除・メールによる送信が行なえます。
6.オプション
管理画面左下の「データベース」→「DBオプション」で、バックアップファイルのパスやファイル数、自動バックアップのスケジューリング、自動最適化なども設定できます。
その他、テーブル別の復元/DB最適化/テーブル・データ削除/SQLクエリ操作が行なえます。
2009.07.23
3項の日本語化手順に誤りがありましたので修正しました。
TypePad AntiSpam プラグイン for WordPress
Movable Type のスパム対策プラグインである「TypePad AntiSpam プラグイン」の WordPress 版がリリースされたようです。
他にも、TypePad Connect や Six Apart Media 等が WordPressに対応しているようですが、ここでは TypePad AntiSpam プラグインのインストールと設定方法を紹介します(注:途中でエラーが発生したため、現状は中途半端な紹介です)。
SixApart - For WordPress Users のページにある、「Download the plugin for WordPress.org」をクリック。
アップロード後、「TypePad」と「TypePad AntiSpam」の2つがプラグイン一覧画面に表示されるので、「TypePad」のみ、使用するをクリック。

「AntiSpam Enabled Without Key. Please see the 'TypePad' Plugin Page.」のリンクをクリック。

次の画面の「TypePad AntiSpam」の設定項目にある「Get Key」をクリック。

TypePadのアカウントを持っている場合は「Sign In」をクリック。持っていない場合は「Register Now」をクリックしてアカウントを作成します。ここでは「Sign In」をクリックする例で進めます。

「Get Your API Key」をクリック。

「Your TypePad AntiSpam Key」という画面が表示され、そこに表示されているランダムな英数字をマウスでコピーします。

元の画面に戻り、テキストフィールドにコピーした AntiSpam Key をペーストし、「変更を保存」をクリック。

「Valid Key Changed Successfully」が表示されればOKなので、プラグイン一覧画面に戻り、「TypePad AntiSpam」の「使用する」をクリックします。

この後、「TypePad AntiSpam」を有効にするとエラーになるので、原因が分かり次第、追記します。
wp-title プラグイン for WordPress
WordPress で title 要素に表示する文字を最適化するプラグインを作りました。「最適化」は書きすぎですが、主観的に「こう出力したい」というのを実現してみました。
具体的には、このプラグインを適用することで、月別アーカイブページの title 要素の表示を改善できます。
デフォルトテーマの月別アーカイブのデフォルト状態のタイトル表示は次のようになります。「12」の部分には「月」が表示されますが、「2008」には「年」がついてません。またセパレータと文字の間隔もまちまちです。個人的には、年と月の間のセパレータはなくても良いと思っています。

このプラグインを利用することで次のように書き換えることができます。

テンプレートタグを少し書き換えれば、次のように年月をブログ名の前に表示することもできます。

また、適用前のように、年と月の間にセパレータを適用することもできます(この変更方法は4項参照)。

日別アーカイブも次のように表示できます。

もちろん、カテゴリーアーカイブにも同じ表示を行えます。厳密にはカテゴリーアーカイブは wp_title() で実現できるのですが、このプラグインは wp_title() の機能を流用しているので、処理を振り分ける必要はありません。
1.wp-title プラグインのダウンロード
下記の wp-title.zip をクリックして、プラグインアーカイブをダウンロード。
2008.12.10 初版
2.wp-title プラグインのアップロード・インストール
プラグインアーカイブを展開し、中にある wp-title フォルダごと、WordPress の wp-content/plugins ディレクトリにアップロード。
2.6.x であれば、管理画面の「停止中のプラグイン」にある「wp-title」の右側の「使用する」をクリックしてください。「使用中のプラグイン」に次のように表示されればインストール完了です。

3.テンプレートの修正
このプラグインでは get_title() というテンプレートタグを提供します。
ご利用のテーマのテーマエディタより、「ヘッダー」をクリックし、テキストエリアにある title 要素に使われているテンプレートタグを書き換えてください。
例えば、wp_title() が使われている場合は、単純に get_title() に書き換えます。パラメータは wp_title() と全く同じですが、月別アーカイブや日別アーカイブのみ、年と月の間(あるいは月と日の間)にセパレータが適用されません。
3.1 デフォルトテーマの場合
変更前
<title><?php bloginfo('name');
if ( is_single() ) {
_e('» Blog Archive', 'kubrick');
}
wp_title(); ?></title>
変更後
<title><?php bloginfo('name');
if ( is_single() ) {
_e('» Blog Archive', 'kubrick');
}
get_title(); ?></title>
冒頭の三つめの画像と同じ表示にする場合
<title><?php
if ( is_single() ) {
_e('» Blog Archive', 'kubrick');
}
get_title(' - ',true,'right'); bloginfo('name');?></title>
3.2 小粋空間テーマの場合
設定内容がテーマに依存するわけではありませんが、次のようにしてください。
変更後
<title>
<?php if ( is_single() ) { ?><?php wp_title(''); ?> - <?php } else { get_title(' - ',true,'right'); } ?><?php bloginfo('name'); ?></title>
4.その他
プラグインファイル wp-title.php の内容を変更すれば、年と月(あるいは月と日)の間にセパレータを適用することもできます。
プラグインファイル wp-title.php の65 行目あたりは次のようになっています。
if ( !empty($m) ) {
$my_year = substr($m, 0, 4) . __('Year','Title') . " ";
$my_month = $wp_locale->get_month(substr($m, 4, 2));
$my_day = intval(substr($m, 6, 2));
$title = "$my_year" . ($my_month ? " $my_month" : "") . ($my_day ? " $my_day" . __('Day','Title') : "");
}
// If there's a month(with separator)
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4) . __('Year','Title') . " ";
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? " $sep $my_day" . __('Day','Title') : "");
// }
// If there's a month(original)
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4);
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? "$sep $my_day" : "");
// }
年と月(あるいは月と日)の間にセパレータを適用するには、次のようにコメントアウトの位置を変更します。
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4) . __('Year','Title') . " ";
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? " $my_month" : "") . ($my_day ? " $my_day" . __('Day','Title') : "");
// }
// If there's a month(with separator)
if ( !empty($m) ) {
$my_year = substr($m, 0, 4) . __('Year','Title') . " ";
$my_month = $wp_locale->get_month(substr($m, 4, 2));
$my_day = intval(substr($m, 6, 2));
$title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? " $sep $my_day" . __('Day','Title') : "");
}
// If there's a month(original)
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4);
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? "$sep $my_day" : "");
// }
これで次のような表示にすることができます。

次のように、一番下の6行のコメントを無効にすると、オリジナルの wp_title() と同じ振る舞いになります。
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4) . __('Year','Title') . " ";
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? " $my_month" : "") . ($my_day ? " $my_day" . __('Day','Title') : "");
// }
// If there's a month(with separator)
// if ( !empty($m) ) {
// $my_year = substr($m, 0, 4) . __('Year','Title') . " ";
// $my_month = $wp_locale->get_month(substr($m, 4, 2));
// $my_day = intval(substr($m, 6, 2));
// $title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? " $sep $my_day" . __('Day','Title') : "");
// }
// If there's a month(original)
if ( !empty($m) ) {
$my_year = substr($m, 0, 4);
$my_month = $wp_locale->get_month(substr($m, 4, 2));
$my_day = intval(substr($m, 6, 2));
$title = "$my_year" . ($my_month ? "$sep $my_month" : "") . ($my_day ? "$sep $my_day" : "");
}
つまりこのプラグインは wp_title() のソースコードをほぼそのまま利用して、一部を書き換えているだけです。
5.プラグインファイルのローカライズ
このプラグインでは「年」や「日」という日本語を表示するためにプラグインでローカライズを行っています。
参考サイトは下記です。ありがとうございました。
po ファイルもプラグインに同梱しているので、このプラグインを改造して他のローカライズを行いたい場合にご利用ください。poEDIT を利用して po ファイルを編集すると mo ファイルをはきだします。
- 参考:poEDIT の使い方
dTree プラグイン for WordPress v0.4
WordPress のカテゴリーリストをツリー表示する「dTree プラグイン」をバージョンアップしました。
バージョンアップ内容は次の通りです。
- クッキーによる折りたたみ状態を保持しない場合の折りたたみ初期状態を設定可能
プラグインのダウンロードは「dTree プラグイン for WordPress」よりお願い致します。
追加機能の設定方法
バージョンアップしたプラグインをアップロード・有効化すると下記のリンクが表示されるのでクリック。

クリックすると下記のオプション画面が表示されます。赤枠部分が今回追加したオプションです。

追加オプションの意味は次の通りです。
| オプション | 意味 | デフォルト |
|---|---|---|
| Fold Status is open. | ツリーを常に開いた状態にする場合にチェック(クッキーによる状態保持を無効にしている場合のみチェックボックスを表示) | false |
dTree プラグイン for WordPress v0.3
WordPress の「dTree プラグイン」をバージョンアップしました。
バージョンアップ内容は次の通りです。
- サイドバーのマークアップに定義リストが用いられている場合、管理画面で切り替え
- サイドバータイトルを管理画面で設定
プラグインのダウンロードは「dTree プラグイン for WordPress」よりお願い致します。
バージョンアップしたプラグインをアップロード・有効化すると下記のリンクが表示されるのでクリック。

クリックすると下記のオプション画面が表示されます。赤枠部分が今回追加したオプションです。

追加オプションの意味は次の通りです。
| オプション | 意味 | デフォルト |
|---|---|---|
| Use dl-dt-dd element at sidebar. | サイドバーのマークアップに定義リストが用いられている場合にチェック | false |
| Title of category list. | カテゴリーリストのタイトル | Categories |
また、定義リストによるマークアップの wp.vicuna で、dTree が表示されないに不具合がありましたので、併せて修正しました。
dTree プラグイン for WordPress v0.2
先日公開した、WordPress の「dTree プラグイン」をバージョンアップしました。
バージョンアップ内容は次の通りです。
- dTreeスクリプトの同梱(著作権表示)
- プラグインのオプション画面よりコンフィグレーションが可能
- 定義リストのマークアップに(多分)対応
プラグインのダウンロードは「dTree プラグイン for WordPress」よりお願い致します。
バージョンアップしたプラグインをアップロード・有効化すると下記のリンクが表示されるのでクリック。

クリックすると下記のオプション画面が表示されます(日本語化はしていません)。

各オプションの意味は次の通りです。
| オプション | 意味 | デフォルト |
|---|---|---|
| Use Icons. | アイコン使用 | false |
| Use Cookies. | クッキーによる折りたたみ状態保持 | true |
| Use Lines. | ツリー画像表示 | ture |
| Use Selection. | 選択されたカテゴリー名を反転 | false |
| Use StatusText. | ステータスバーにカテゴリー名表示(IE) | false |
また、定義リストによるマークアップは、下記であれば動作するようにしました。
<dt>Categories</dt>
<dd>
<ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hide_empty=0'); ?>
</ul>
</dd>
また、定義リストによるマークアップに適用する場合は、dtreehandler.js の末尾の部分
function dtreeMaker(searchName) {
var idName = searchName.replace(' ','');
idName = 'dtree_' + idName;
addTagForTree(searchName, idName);
// addTagForTree2(searchName, idName);
}
を
function dtreeMaker(searchName) {
var idName = searchName.replace(' ','');
idName = 'dtree_' + idName;
// addTagForTree(searchName, idName);
addTagForTree2(searchName, idName);
}
に修正してください。
定義リストによるマークアップの wp.vicuna であれば下記のようになります。

dTree プラグイン for WordPress
dTree というエクスプローラー風のツリー表示スクリプトを利用した、WordPress のサブカテゴリーリストのツリー化プラグインをご紹介します。WordPress ではすでに WordPress-dTree というプラグインが有名ですが、本プラグインは dTree をハンドリングする方式です。
表示は左のスクリーンショットのようになり、「+」「-」をクリックするとツリーを開閉することができます。また、カテゴリー名をクリックすると該当のカテゴリーページにジャンプします。
色々とやりたいことはあるのですが、とりあえず最低限の動作だけできるようにしたα版という位置づけでお試しください。
動作についてはサンプルをご利用ください(Movable Type のサンプルですが)。
以下、カスタマイズ方法です。
1.プラグインのダウンロード
下記のリンクより dTreeHandler プラグインをダウンロード。
2007.07.13 v0.1 初版 2007.07.16 v0.2 dTree を同梱。オプション画面追加。定義リストのマークアップに対応 2007.09.11 v0.3 リストタイトル・定義リストのマークアップ対応を管理画面で制御。定義リストのマークアップで正常に表示されない不具合修正。 2007.10.10 v0.4 クッキーによる折りたたみ状態を保持しない場合の折りたたみ初期状態を設定可能
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。下記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
解凍した中にある dtreehandler フォルダを plugins ディレクトリにアップロード。
2.プラグイン設定
WordPress の管理画面より「dTree Handler」を有効にしてください。

これでサブカテゴリーにツリーが表示されればOKです。
3.コンフィグレーション
プラグインを有効化すると下記のリンクが表示されるのでクリック。

クリックすると下記のオプション画面が表示されます(日本語化はしていません)。

各オプションの意味は次の通りです。
| オプション | 意味 | デフォルト |
|---|---|---|
| Use Icons. | アイコン使用 | false |
| Use Cookies. | クッキーによる折りたたみ状態保持 | true |
| Fold Status is open. | ツリーを常に開いた状態にする場合にチェック(クッキーによる状態保持を無効にしている場合のみチェックボックスを表示) | false |
| Use Lines. | ツリー画像表示 | ture |
| Use Selection. | 選択されたカテゴリー名を反転 | false |
| Use StatusText. | ステータスバーにカテゴリー名表示(IE) | false |
| Use dl-dt-dd element at sidebar. | サイドバーのマークアップに定義リストが用いられている場合にチェック | false |
| Title of category list. | カテゴリーリストのタイトル | Categories |
4.注意事項
デフォルトでは、テンプレートタグが「h2 + 順不同リスト」になっている場合に動作します。また h2要素の内容は "Categories" です。
<li><h2>Categories</h2>
<ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hide_empty=0'); ?>
</ul>
</li>
定義リストによるマークアップについては、下記の構造であれば動作するように改修致しました。
<dt>Categories</dt>
<dd>
<ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hide_empty=0'); ?>
</ul>
</dd>
5.既知の問題
- カテゴリー数は表示されません
- 記事が0件のカテゴリーもリンクが設定されます
2007.07.16
0.2 をリリース、それに併せて内容を更新しました。
2007.09.11
0.3 をリリース、それに併せて内容を更新しました。
2007.10.09
冗長な記述を削除しました。
Updated Now プラグイン for WordPress
Updated Today Plugin に便乗して作りました。
このプラグインを利用することで、新規投稿があった場合に一定期間、ページ上にバナーを表示します。
このプラグインは caramel*vanilla の lomo さんとのコラボレーションによって実現しています。
1.機能
主な機能(Updated Today Plugin との違い)は次の通りです。
- 最新の記事投稿時刻をページ表示時刻と比較し、指定された時間内であればページ上(デフォルトは左上)にバナーを表示します
- 日付が変わってもバナーを表示します
- バナー表示期間を変更できます
- バナーに該当記事へのリンクを(多分)与えることができます
- 投稿時刻と現在時刻は秒まで比較・判定する高精度
- 更新時刻やトラックバック時刻等は取得・判定しません
2.利用方法
- download のリンクをクリックしてアーカイブをダウンロードします。
2007.05.02 v1.0
2007.05.05 v2.0 オプション画面追加、バナーにリンクを設定している場合、トップページ以外のページでリンク先が最新記事にリンクしていない不具合を修正
2007.05.05 v2.1 オプション画面に画像選択機能追加
2007.05.07 v2.2 XHTML1.0 strict 対応、オプション初期画面で初期値が設定されていない不具合を修正
2007.05.11 v2.3 プラグインパス取得方法変更 - 解凍した中にある
updatednowフォルダをwp-content/plugins/にアップロードします。 - バナーは3項の説明にしたがって設定してください。
- プラグインを有効にします。
- (バナーが表示されない場合)利用中のテーマの
footer.phpに下記の行があることを確認してください。
<?php wp_footer(); ?>
同梱の pngfix.js は下記で配布されているものです(updatedtoday と同様)。
3.オプション
Updated Now プラグインはいくつかのオプションを用意しています。
プラグインを有効化すると下記のリンクが表示されるのでクリックしてください。

クリックすると下記のオプション設定画面が表示されます(日本語化はしていません)。

各オプションの意味は次の通りです。お好みに応じて変更してください。
| オプション | 意味 | デフォルト |
|---|---|---|
| Design: | 表示バナー | sticker - blue |
| Display the banner for n hours. | 新規記事投稿後のバナー表示時間 | 24 |
| Use anchor. | バナーに新着記事のパーマリンクを付与 | チェック |
| Use pngfix.js for IE. | IEでPNG画像透過 | チェック |
| Use stylesheet. | プラグインで用意しているバナー用スタイルシートを利用(利用しない場合は個別に用意してください) | チェック |
このプラグインのバナーはcaramel*vanilla の lomo さんのデザインです。素敵なバナーをいっぱい作ってくださりありがとうございました!(画像の再配布はご遠慮ください)
バナーを独自のものに変更したい場合は、バナーファイル名を updated.png にして、plugins/updatedtoday 配下にアップロードしてください。そしてオプション画面の「表示バナー」は「custom」を選択してください。



