自サイト投稿へのリンクをpostIDだけで表示するショートコード

Image

blogの中で自サイトの投稿へのリンクを貼るということが何度もあります。気をつけないと、「【未解決→解決しました】思い当たらないコメントが来る ピンバックって?」のように、自サイトへのリンクがピンバックになってしまったりして面倒くさいです。

ということでショートコードで簡単に自サイトの投稿へのリンクを付けられるようにしてみました。

今現在の自サイトへ投稿へのリンクの付け方

例えば、昨日のblog記事へのリンクを貼ってみましょう。

まずはその投稿を別タブで表示します。そして、

Image

タイトルをコピーして、

Image

投稿フォームに貼り付けます。それから、

Image

urlをコピーするのですが、httpからだとセルフピンバックになってしまうので /blog/ のところからをコピーします。

コピーしたものを先ほどの投稿フォームのタイトル

Image

Image

リンクとしてはりつけます。これで、

Image

このように表示されました。ちょっと手数が多くて面倒くさいなといつも思っていました。

ショートコードにpostIDを指定すればリンクしてくれるショートコード

子テーマfunctions.phpに以下のコードを追加しました。

使い方としては、

投稿記事に書くことで、リンクが表示されます。ここで id としているものは引数と呼ばれるもので、後ほど説明しますね。

Image

このように記述すると、

Image

このように表示されるようになりました。今までよりぐっと簡単にリンクが張れるようになりました(^^)/

なお、idで投稿記事が見つからなかった場合は指定されたidがそのまま表示されるようにしてあります。

ショートコードの書き方をもう一歩進めました 引数を使う

ちょっと前に「 [ryus_another_post_link id=3496]」でショートコードの書き方について書いたのですが今回はそこから一歩進めして、引数を追加してみました。

引数というのは今回のpostIDのように外から指定する値です。functions.phpに追加したコードで、

の()内にある$attsが引数の配列です。これを

とすることで $id という変数に渡された引数が入ります。もしidという引数がなければ => で指定されたデフォルト値(この場合は空文字)が入ります。

これでショートコードを使って色々な表示をすることができるようになります。

おまけ:postIDはどこにある?

postIDはログインしていればその投稿の編集リンクに入っています。

編集をクリックすると、

https://usortblog.com/wp-admin/post.php?post=3496&action=edit

このようなurlになり、 post=3496 の 3496 がpostIDとなります。

もっと簡単に見るには投稿記事のソースで postid という文字列を検索するといくつも postid=3496 のようになっていますので、その数字がpostIDです。

兎本美佳

ブログを見た人がそのままできたらいいなと思って、できるだけ丁寧に書いています。blogに書いたようなネタの有償対応のご相談は「ゆうそうと」へいただければと思います(^^)/
無償での対応をご希望の場合は、コメントをいただけましたら可能な場合はコメントを返させていただきます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサー広告
ブログをメールで購読

メールアドレスを記入して購読すれば、更新をメールで受信できます。

261人の購読者に加わりましょう

トップへ戻る