フィルタを利用すれば、記事一覧にテキストボックスでHTMLを埋め込めるぞ
WordPressなどでブログサイトを運営していると、記事の中で過去の記事を紹介したり、特定のテーマの記事をまとめて紹介する記事を作りたくなることがある。だが、タイトルとリンクをコピーして紹介リンクの形に整えるのは、記事数が多くなるとなかなか大変だ。サムネイル画像を付けるとなるとさらに手間がかかる。
なるべく手軽に記事紹介リンクを作成できるようにしたいところだ。
WordPressには記事リンク作成のためのプラグインもいくつか存在するが、簡易的な物であればテーマディレクトリの「functions.php」に簡単なスクリプトを書き加えるだけで実現できる。
今回は、記事一覧ページの列としてテキストボックスで記事紹介リンクのHTMLを表示する方法を紹介しよう。
function add_list_col($cols){
$cols['list_html']='紹介HTML';
return($cols);
}
add_filter('manage_posts_columns','add_list_col');
function list_col_html($cname,$pid){
if($cname=='list_html'){
$img=wp_get_attachment_image_src(get_post_thumbnail_id($pid),'thumbnail');
$html='<h3><a href="'.get_permalink($pid).'">'.htmlspecialchars(get_the_title($pid)).'</a></h3><img src="'.$img[0].'" width="'.$img[1].'" height="'.$img[2].'" />\n\n';
?><textarea rows="1" cols="4" readonly onclick="this.focus();this.select()"><?=htmlspecialchars($html)?></textarea><?php
}
}
add_action('manage_posts_custom_column','list_col_html',10,2);
管理画面の記事一覧に紹介リンクのHTMLを埋め込むには、functions.phpに上記のようなスクリプトを書き加えればいい。「$html=」以降が、記事紹介HTMLを組み立てる部分なので、好きな書式に書き換えよう。

記事一覧画面にこのような列が追加される。各テキストエリアは非常に小さいが、クリックすると内容が全て選択された状態になり、簡単にコピペ可能だ。

コピーしたHTMLを記事に貼り付ければ、簡単に過去記事を紹介する記事を作成出来るぞ。

記事一覧ページ右上の「表示オプション」では、列の表示の有無を手軽に切り替えられるので、たまにしか使わなくて邪魔な場合は非表示にしておくといいだろう。
全世界1,000万以上ダウンロード超え!水分補給サポートアプリ最新作『Plant Nanny 2 - 植物ナニー2』が11/1より日本先行配信開始中
たこ焼きの洞窟にかき氷の山!散歩を習慣化する惑星探索ゲーム『Walkr』がアップデート配信&6/28までアイテムセール開始!
【まとめ】仮想通貨ビットコインで国内・海外問わず自由に決済や買い物ができる販売サイトを立ち上げる
WordPressで本文中のiframeなどのタグが消えちゃって困る
WordPress管理画面の記事一覧の無駄に幅が広い列って何とかならない?
WordPressの編集画面のHTMLタグ入力ボタンって追加できる?
【特集】WordPressの編集機能の不満を一挙に解消するQA集
WordPressの固定ページを「.html」付きのURLにすることってできないの?
WordPress編集画面のカテゴリ欄の高さが足りなくて毎回スクロールするのが面倒
