ぱそこん生活感。のTOPへ


2012.05.24

リンクのショートコードの改造

 前回の次の記事へのリンクをショートコードで作ってみるの記事にて、次記事リンクをショートコードで作るようにしましたが、今回これを改造します。仕様は

  1. 次記事(実装済み)
  2. 単純な個別記事へのリンク
  3. カテゴリへのリンク
  4. 設定が誤っている時はエラー表示する

です。さて早速ですが、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が存在しないような場合は、単に無表示になるだけ(エラーが出るわけでは無い)ので注意が必要です。






    国の金融政策