ページ内に同じ日付を繰り返し表示する場合
WordPressで、同じページ内に、同じ日付を繰り返し表示したいとき、通常のthe_date();テンプレートタグでは、きちんと表示されないときがあります。
そのときは、get_the_time()関数で年月日データを取得し、表示する方法があります。
たとえば、2005年3月12日のように表示したいときは、次のように記述します。
<?php
$d_year = get_the_time('Y');
$d_month = get_the_time('n');
$d_day = get_the_time('j');
echo $d_year."年".$d_month."月".$d_day."日";
?>
また、月別アーカイブのページで、月別アーカイブのリンクを表示したいときは、次のように記述します。
<?php
$arc_year = get_the_time('Y');
$arc_month = get_the_time('m');
?>
<a href="<?php echo get_month_link('$arc_year','$arc_month');?>">
<?php the_time('Y年m月');?>
</a>
タイトルを表示するsingle_post_title()
WordPressで、投稿記事のタイトルを表示するテンプレートタグが
<?php single_post_title(); ?>
です。
<?php the_titile(); ?>
との違いは、ループが必要ない、記事シングルとページのみでタイトルを表示することです。
このテンプレートタグはパラメータ挿入ができます。
<?php single_post_title(’①’,②); ?>
①タイトル名の前に挿入する文字列
デフォルトは、空です。②出力形式を指定
TRUE ・・・ 標準形式(デフォルト)
FALSE ・・・ PHP形式
トップ(メイン)ページ、カテゴリーページ、日付ページなどでは表示されないので気をつけてください。
カスタムフィールドのキーを取得
WordPerssでカスタムフィールドのキーを取得する関数が、
get_post_custom_keys()
です。
PHP形式で出力されます。
この関数は、記事に属する全てのキー名称を取得します。
記事に複数のキーを登録していて、全てもキーと値を、「キー名:値」と表示したいときは、次のように記述します。
<?php
$wpkeys = get_post_custom_keys();
foreach($wpkeys as $wpkey) {
echo $wpkey.":";
echo get_post_meta($post->ID,$wpkey,TRUE);
}
?>
WordPerssでカスタムフィールドの値を取得
WordPerssでカスタムフィールドの値を取得する関数が、
get_post_meta()
です。
投稿記事以外の場所に、ひとこと挿入したいときに利用できます。
PHP形式で出力されます。
この関数はパラメータ挿入ができます。
get_post_meta(①,②,③);
①metaデータが属する記事idを指定する
通常は、$post->ID を使って記事のidを取得②キーの文字列を指定
③配列の返し方
TRUE ・・・ 配列の最初を1つの文字列として返す
FALSE ・・・ 配列として返す
たとえば、その記事のカスタムフィールドのキー「wordpress」の値を表示したいときは、次のように記述します。
<?php echo get_post_meta($post->ID,wordpress,TRUE); ?>
配列で出力したいときは、foreach関数を利用するといいでしょう。
コントロール画面のダッシュボードを編集するプラグイン
WordPressのコントロール画面を開いたときに最初に表示されるダッシュボードの内容を編集できるプラグインが「Dashboard Editor」です。
まず、WordPress.org Extend Pluginsの「Dashboard Editor」からダウンロードし、解凍します。
解凍したフォルダ「wordpress-dashboard-editor」をそのまま「wp-content / plugins」に転送します。
WordPressコントロール画面の「プラグイン」-「プラグイン」で「Dashboard Editor」を有効化すると、「ダッシュボード」-「Dashboard Managment」から設定できるようになります。

HTML, XHTML,PHPでソースを記述することができます。
記述した内容は、「WordPress Japan DB」の上に表示されます。
また、以下の設定が可能です。
■Completely wipe dashboard? (will remove everything except the header and footer)
ダッシュボード画面のコンテンツが全て非表示になります
■Remove Developers news?
WordPress Japan DBのコンテンツが非表示なります。
■Remove Planet News
リンク集のその他の情報のコンテンツが非表示になります。
■Remove incoming links
(反映するコンテンツが見つけられませんでした)
■Remove getting started section
「スタート時に便利なこれらのリンクをご利用ください。」部分が非表示になります。
■Use Sidebar Widgets
(機能しませんでした)
WordPressをハッスルサーバーで利用する時の注意点
WordPressをハッスルサーバー
で利用するときに、プラグインを追加すると、エラーになり使えないことがあります。
それは、PHPメモリの設定に問題があるからです。
解決策は次の通りです。
①テキストエディタで、php.iniファイルを作成
②memory_limit = 64M
と記述する(64Mである必要はありません)
③「/」ディレクトリにアップロードする
アップロード先は、WordPressのディレクトリではなく、「www」などがある、「/」にしてください。
アップロードする画像などのファイル容量を増やしたいときは、あわせて
upload_max_filesize = 64M
と記述すればOKです。
WordPressでリダイレクト設定ができるプラグイン
WordPressで、ページ毎にリダイレクトの設定ができるプラグインが「Redirection」です。
「.htaccess」ファイルの設定が必要ないので簡単です。
たとえば、投稿した記事、ページを違うページで表示したいけど、直接、そのページ元は見られたくないときにも利用できます。
まず、「Redirection」からダウンロードし、解凍します。
解凍したファイル「exec-php」を「wp-content / plugins」に転送します。
WordPressコントロール画面の「プラグイン」-「プラグイン」で「Redirection」を有効化すると、「管理」-「Redirection」から設定できるようになります。
301リダイレクト、302リダイレクト、404エラーなどの設定はもちろんですが、パススルーの設定もできます。
設定したリダイレクトのログも見ることができます。

設定方法ですが、ありがたいことに、ダウンロードページにFlashで簡単な説明がありますので、そちらを参考にしてください。
また、リダイレクトが検索ロボットにどのようにインデックスされるか知りたい方は、Yahoo!検索ヘルプ「リダイレクトを設定している場合、どちらのURLがデータベースに登録されますか?」に書いてあります。
Wordpresで最新記事にNEWマークを表示する
WordPressで投稿したときに、NEWマークを表示したいときの記述です。
このサイトでも利用しています。
<?php
$days=3;
$today=date('U');
$entry=get_the_time('U');
$sa=date('U',($today - $entry))/86400;
if( $days > $sa ){
echo " <img src=\"".get_bloginfo('template_directory')."/ディレクトリ名/ファイル名\" alt=\"new\" />";
}
?>
表示する日数を変更したいときは「$days=」の数字を変更します。
「echo ” <img src=」には、NEWマークのあるパスを記述してください。
ただし、IE6の場合に、リスト形式でNEWマークを複数表示すると、レイアウトがずれてしまうようです。
IE7、Firefox、Netscapeでは問題なく表示されるので、ブラウザの要因だと思われます。
投稿欄でPHP構文が使えるプラグイン
WordPressの記事投稿、ページ欄で、<?php bloginfo(’url’); ?>などのPHP構文が使えるプラグインが「Exec-PHP」です。
このプラグインを利用すると、別ファイルをPHPで書いて、インクルードするなどの面倒なことがなくなります。
まず、「Exec-PHP」からダウンロードし、解凍します。
解凍したファイル「exec-php」を「wp-content / plugins」に転送します。
WordPressコントロール画面の「プラグイン」-「プラグイン」で「Exec-PHP」を有効化すると、「各種設定」-「Exec-PHP」から設定できますが、特に設定することはないです。
ただ、このプラグインは、ビジュアルエディタを解除しないと利用できないので、「ユーザー」-「プロフィール」画面で、「投稿時にビジュアルエディタを使用する」のチェックをはずしてください。
あとは、投稿欄で、挿入したいところにPHP構文を記述すると使えます。
WordPressでお問合せフォームを設置するプラグイン
WordPressの記事欄に、お問合せのフォームを設置するプラグインが「WP Contact Form III」です。
このプラグインには、質問に対する回答をしなければならない機能があり、スパムメール対策もできます。
まず、「WP Contact Form III」からダウンロードし、解凍します。
解凍したファイル「wp-contact-form-iii」を「wp-content / plugins」に転送します。
WordPressコントロール画面の「プラグイン」-「プラグイン」で「WP Contact Form III」を有効化すると、「各種設定」-「WP Contact Form III」から設定できるようになります。

送信するメールアドレス、メール送信時のメッセージ、必須項目未記入のときのメッセージを設定します。
また、Challenge Questionでは、質問に対する回答を設定します。
フォーム外に画像で英数字を見せて、それを記入してもらう方法もとれるので、スパムメール対策もとれます。
フォームを挿入したいところに、
[contactform]
を記入します。
一番下の、Advancedをチェックして、ビジュアルエディタをはずすと、「記事投稿」にクイックタグが表示されます。

表示する項目は、Name,Email,Website,Subject,Message,Challenge Questionで、Website以外は必須項目です。

送られてくるメールのタイトルが文字化けするときは、「wp-contactform.php」の194行目あたりの部分を変更します。
「mb_language(’Japanese’);」と「mb_internal_encoding(’UTF-8′);」を追記して、$headers行の「$name」を
「” .mb_encode_mimeheader($name).”」に変更します。
$headers = "MIME-Version: 1.0\n";
mb_language('Japanese');
mb_internal_encoding('UTF-8');
$headers .= "From: " .mb_encode_mimeheader($name)." <$email>\n";
※http://q.hatena.ne.jp/1193213268を参考にさせて頂きました。
それと、日本語化したファイルを作成しました。
「wp-contact-form-iii」-「languages」フォルダーに転送してください。
おかしな日本語があるかもしれませんので、あらかじめご了承願います。
また、WordPress2.2.3で確認したので、バージョンが違うと見れないかもしれません。(UTF-8です)
詳しくはプラグインで日本語化されないをご覧ください。