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です)
詳しくはプラグインで日本語化されないをご覧ください。
同じカテゴリーに属する投稿記事を表示させる
WordPressでプラグインを利用せず、投稿記事シングルページで、同じカテゴリーに属する投稿記事を表示したいとき、get_the_categoryタグを利用します。
続きを読む・・・
投稿記事のカテゴリーの情報を出力する
WordPressで、投稿記事のカテゴリーid、カテゴリー名、スラッグなどの情報を出力する関数が、
get_the_category()
です。
PHP形式で出力され、ループ内で使用します。
この関数が出力できる情報は以下の通りです。
①カテゴリーid cat_ID
②カテゴリー名 cat_name
③カテゴリースラッグ category_nicename
④カテゴリーの概要 category_description
⑤親カテゴリーid category_parent
※無い場合は「0」を出力⑥投稿記事数 category_count
get_the_category()は、カテゴリー情報を配列で出力するので、foreach関数などを利用します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php foreach((get_the_category()) as $cat){
echo $cat->cat_name;
}?>
<?php endwhile;endif; ?>
指定したページのときにソースを挿入する条件タグ
WordPressは共通のテンプレートファイルを利用することができますが、柔軟性にかけることがあります。
PHPのif文を利用し、指定したページのときにソースを挿入することができます。
その条件タグは以下の通りです。
①トップページ
is_home()②日付ページ
is_date()③月別ページ
is_month()④年別ページ
is_year()⑤日別ページ
is_day()⑥時間別ページ
is_time()⑦投稿記事シングルページ
is_single(’α’)
※α:記事を指定(記事id、タイトル、スラッグ)⑧ページ
is_page(’β’)
※β:ページを指定(ページid、タイトル、スラッグ)⑨カテゴリーページ
is_category(’γ’)
※γ:カテゴリーを指定(カテゴリーid、カテゴリー名、スラッグ)⑩ユーザーページ
is_author(’θ’)
※θ:ユーザーを指定(ユーザーid、ユーザー名)⑪アーカイブページ
is_archive()⑫検索ページ
is_search()⑬404ページ
is_404()
たとえば、トップページのとき『トップページ』、スラッグが「wordpress」のページのとき『WordPress紹介』と表示したいときは次のように記述します。
<?php if(is_home()); ?>
<p>トップページ</p>
<?php endif; ?>
<?php if(is_page('wordpress')); ?>
<p>WordPress紹介</p>
<?php endif; ?>
日付のアーカイブページのURLを取得する
WordPressで日付のアーカイブページのURLを取得するテンプレートタグが
get_year_link()
get_month_link()
get_day_link()
です。
PHP形式で出力されます。
このテンプレートタグはパラメータ挿入ができます。
get_year_link(’①’)
get_month_link(’①’,'②’)
get_day_link(’①’,'②’,,’③’)
①年を指定(数値)
デフォルトは、今年のデータ②月を指定(数値)
デフォルトは、今月のデータ③日を指定(数値)
デフォルトは、今日のデータ
2005年6月16日のアーカイブページにリンクをしたいときは、次のように記述します。
<a href=”<?php get_day_link(’2005′,’6′,,’16′); ?>”>2005年6月16日</a>
投稿記事のメールアドレス、ウェブサイトなどを表示するテンプレートタグ
WordPressで、投稿記事のメールアドレス、ウェブサイトなどの投稿者情報を表示するテンプレートタグは次の通りです。
①メールアドレスを表示
<?php the_author_email(); ?>
②ウェブサイトを表示
<?php the_author_url(); ?>
③AIM アドレスを表示
<?php the_author_aim(); ?>
④Yahoo メッセンジャーを表示
<?php the_author_yim(); ?>
⑤投稿記事数を表示
<?php the_author_posts(); ?>
⑥投稿者ページへのリンクを表示
<?php the_author_posts_link(); ?>
⑦ユーザーについてを表示
<?php the_author_description(); ?>
投稿者名、自己紹介、サイトアドレスを表示したいときは、次のように記述します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
投稿者名: <?php the_author(); ?>
自己紹介: <?php the_author_description(); ?>
サイト : <?php the_author_url(); ?>
<?php endwhile;endif; ?>
記事投稿者を表示するthe_author()
WordPressで投稿記事の投稿者を表示するテンプレートタグが<?php the_author(); ?>です。
ループ内で使用します。
デフォルトは、WordPress設定の「ユーザー」-「ユーザー設定」画面の「ブログ上の表示」で選択した名前が表示されます。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
投稿者名: <?php the_author(); ?>
<?php endwhile;endif; ?>
「ブログ上の表示」で選択した名前ではなく、様々指定したいときは、次のテンプレートタグを使用します。
①ログイン名を表示
<?php the_author_login(); ?>
②ファーストネーム名を表示
<?php the_author_firstname(); ?>
③ラストネーム名を表示
<?php the_author_lastname(); ?>
④ニックネーム名を表示
<?php the_author_nickname(); ?>