ワードプレス(WP)で過去記事のリンクをアイキャッチなどを含めて出力

過去記事のアクセスランキングなどで以前書いた記事を大量に紹介したいとき、文字リンクなら管理画面でも作成できますが、アイキャッチ画像付きなどとなると一筋縄ではいきません。

アイキャッチ画像のURLを調べてリンクを作成するのは面倒です。 そこで簡単な指定でアイキャッチつきのリンクを作成してくれるショートコードを作成しました。

スポンサーリンク

記事IDでアイキャッチを含んだリンクを作成

ショートコードとは簡単な機能をワードプレスに追加する為のもので、テーマフォルダの中にある「functions.php」というファイルに記載します。

詳しくは ワードプレス(WP)で特定のジャンルの記事だけ定型文を追加する方法を参考にしてください。

今回追加する内容は、

function add_other_post_eyecatch($params = array()) {
    extract(shortcode_atts(array(
        'id' => ''
    ), $params));
    $html = '';
    if ($id == '') return $html;
    
    if ( is_numeric($id) ){
        $html .=
            (has_post_thumbnail($id) ?
                '<a href="'.get_permalink($id).'">'.get_the_post_thumbnail($id).'</a>' : ''
            ); //.'<p>'.get_the_excerpt($id).'</p>'
        return $html;
    }

}
add_shortcode('otherpost_eyecatch', 'add_other_post_eyecatch');

です。追加した「functions.php」をアップロードして、記事内からは

[otherpost_eyecatch id=記事ID]

として呼び出します。

記事IDは、記事の編集時などにURLについてる数字(post=など)です。 当ブログはパーマリンクがIDなので指定しやすさから採用しましたが、 かちびとさんが公開している元のコードは スラッグにて指定するコードでした。そちらも併せて見てみて下さい。

今回の出力フォーマットはリンクで囲まれたアイキャッチ画像のみで良かったので、

'<a href="'.get_permalink($id).'">'.get_the_post_thumbnail($id).'</a>'

シンプルに一行だけです。ここは自在に改造できます。

ぷらすぶろぐのアクセスランキングはこのショートコードで作成しました。

おまけ、サンプルのショートコードはどうやって表示した?

先ほど、サンプルとしてショートコードの記載例を書きましたが、

[otherpost_eyecatch id=記事ID]

そのままだとショートコードに変換されてしまうので変換されない方法。

記事の本文では、

[[otherpost_eyecatch id=記事ID]]

のように記述します。

WordPressでショートコードをそのまま表示する – UKLab

 

 

スポンサーリンク