2012.05.24
リンクのショートコードの改造
前回の次の記事へのリンクをショートコードで作ってみるの記事にて、次記事リンクをショートコードで作るようにしましたが、今回これを改造します。仕様は
- 次記事(実装済み)
- 単純な個別記事へのリンク
- カテゴリへのリンク
- 設定が誤っている時はエラー表示する
です。さて早速ですが、functions.phpのコードは以下の様になりました。
function get_kg_link($atts) {
extract(shortcode_atts(array( /*ショートコード内のidを取り出す*/
'n' => '', /* 次記事 未指定時の初期値 */
'k' => '', /* 記事 */
'c' => '', /* カテゴリ */
),$atts));
if($n != '') :
$link = get_permalink($n); /* 記事IDからリンクURLを取得 */
$title = get_the_title($n);
$link_moji = '<p class="next-kiji-link">次は: <a href="'.$link.'">'.$title.'</a></p>';/*リンク書式全体を結合して返す*/
elseif($k != '') :
$link = get_permalink($k);
$title = get_the_title($k);
$link_moji = '<a href="'.$link.'">'.$title.'</a>';
elseif($c != '') :
$link = get_category_link($c);
$title = get_cat_name($c);
$link_moji = '<a href="'.$link.'">'.$title.'</a>';
else :
$link_moji = '<h1>SCエラー!設定を確認せよ</h1>';/* 条件が適合しない場合はエラー */
endif ;
return $link_moji;
}
add_shortcode('link','get_kg_link'); /* linkショートコードが呼ばれたらget_kg_link関数を実行する */
以下、使用例を挙げます。
・「次記事」の表示
投稿画面での記述
[link n="177"]
実際のブログ画面での表示
・単純に「個別記事」へのリンク表示
投稿画面での記述
[link k="177"]
実際のブログ画面での表示
次の記事へのリンクをショートコードで作ってみる
・カテゴリへのリンク表示
投稿画面での記述
[link c="28"]
実際のブログ画面での表示
3.上級編
・誤設定の場合のエラー表示
投稿画面での記述
[link id="177"]
実際のブログ画面での表示
SCエラー!設定を確認せよ
これで間違った指定をしてもすぐわかります。但し、[link k="999"]のように書式は合っているが、記事IDが存在しないような場合は、単に無表示になるだけ(エラーが出るわけでは無い)ので注意が必要です。
- 最近のコメント
- wp_headで出力される不要head要素を削除する に omnioo lab. record | オムニオラボの備忘録 より[ 01/14 ]
- bypostauthorをCSSで設定する に 名無しさん より[ 06/01 ]
- bypostauthorをCSSで設定する に ぱそこん生活感管理人 より[ 06/01 ]
- bypostauthorをCSSで設定する に 名無しさん より[ 06/01 ]
- ぱそこん生活感。を開設しました に Mr WordPress より[ 06/07 ]
