処理速度計測中:0.017 sec  ページキャッシュは使用しておりません。
大曲 仁
2011年06月09日 大曲 仁

簡単にリンクページを作れるWordPressのショートコード

WordPressには、リンク登録機能がありますが、この機能を利用して簡単にリンクページを作れたら便利ですよね。もちろんプラグインなどで、作ることも可能ですが、今回はショートコードを使って、簡単にリンクページを作る方法を紹介します。

ショートコードは、投稿欄に [hoge] のような囲み記述を行うことで、記事内に動的な処理を組み込む事が可能になる機能です。
WordPressがデフォルトで実装しているのは、記事で登録された画像を表示することができるようになる gallery というショートコードのみですが、functions.php やプラグインなどから自由に追加することも出来るようになっています。
追加方法などの詳しい説明は、CODEXのショートコードAPIで確認してください。

はてさて、前置きがちょっぴり長くなりましたが、リンクを出力するショートコードは、これっ!
なんのことはない、単にテンプレートタグの wp_list_bookmarks を実行しているだけであります。(期待外れ)

<p><strong>CODE 1</strong></p>
<pre class="brush: php; title: ; notranslate" title="">
function bookmark_shortcode( $attr ) {
	$defaults = array(
		'orderby' =&gt; 'name',
		'order' =&gt; 'ASC',
		'limit' =&gt; -1,
		'category' =&gt; '',
		'category_name' =&gt; '',
		'hide_invisible' =&gt; 1,
		'show_updated' =&gt; 0,
		'show_description' =&gt; 1,
		'show_images' =&gt; 1,
		'show_rating' =&gt; 0,
		'hide_invisible' =&gt; 1,
		'categorize' =&gt; 1,
		'title_li' =&gt; '',
		'title_before' =&gt; '&lt;h2&gt;',
		'title_after' =&gt; '&lt;/h2&gt;',
		'category_orderby' =&gt; 'name',
		'category_order' =&gt; 'ASC',
		'class' =&gt; 'linkcat',
		'category_before' =&gt; '',
		'category_after' =&gt; '',
		'show_private ' =&gt; 0,
		'include' =&gt; '',
		'exclude' =&gt; '',
 
	);
	$r = shortcode_atts( $defaults, $attr );
	$r['echo'] = false;
	$r['title_before'] = html_entity_decode( $r['title_before'] );
	$r['title_after'] = html_entity_decode( $r['title_after'] );
	return wp_list_bookmarks( $r );
}
add_shortcode('bookmarks', 'bookmark_shortcode');

投稿欄に CODE 2 のように記述するだけで、リンクページの出来上がりです。

CODE 2

[bookmarks]

表示のカスタマイズを行いたい場合は、echo 以外の wp_list_bookmarks のパラメータが利用できます

CODE 3

[bookmarks title_before="<h3>" title_after="</h3>"]

どうでしょうか。専用のテンプレートを作って、表示したりするよりずっと簡単だとは思いませんか?

Leave a Reply

Your email address will not be published. Required fields are marked *

トラックバックURL

https://www.prime-strategy.co.jp/wp/401/trackback/