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 ]