ショートコード(1)記事タイトルを取得して内部リンクを貼る

公開日:  更新日:2018/12/14

内部リンク、大切ですね。
せっかく検索から来てくれた方、たくさん回遊してほしいですね。

内部リンクはしっかり貼りましょう。

でもここで問題が。

私は記事名をコロコロ変えます。
記事タイトルの付け方ひとつで、読んでくれる方が一気に増えるからです。

内部リンクの記事タイトルを自動的に変えてくれると助かりますよね。

それにときどき記事を削除したりもします。

そんなときは、自動的に内部リンクを削除してくれたら助かりますよね。

記事タイトルを取得して内部リンクを貼るショートコード

そんな願望をかなえてくれるショートコードです。
まずは下記のコードを functions.php に追記します。
(自己責任でお願いします。また十分に検証してからお使いください。)

//記事タイトルを取得して内部リンクを貼るショートコード
//[get_title_link url=""]
function shortcode_get_title_link($var){
	$postID = url_to_postid($var['url']);
	if ($postID != 0) { //記事があった場合
		$title = get_the_title($postID); //記事タイトルを取得
		return '<a href='.$var['url'].'>'.$title.'</a>'; //リンク作製
	}
}
add_shortcode('get_title_link','shortcode_get_title_link');

あとは記事内でショートコードを書くだけ

[get_title_link url="(ここにURLを記述)"]

[get_title_link url="http://inaka3.com/zakki-blog/"]

と書けば、

何を書くか(1)雑記ブログを書くときは、とにかく具体的に

となります。

存在しないURLを指定すると、

[get_title_link url="http://inaka3.com/zak/"]

↑何も表示しません。

(おまけ)ショートコードを記事で紹介する方法

ちなみに、記事にショートコードをそのまま書くと、その機能が働いてしまいます。

それを止めるには、[] で囲むだけです。

[[get_title_link url="http://inaka3.com/zak/"]]

こんな感じかな?

(記事上は二重ですが、編集画面では三重に囲っています^^。)

(もうひとつおまけ)コードを記事でプラグインなしでカッコよく紹介する方法

<pre> ~ </pre> を使いましょう。
スタイルを指定するとカッコいいです。
数値や色は適当に調整してくださいね。

<pre style="margin: 16px 0 32px 0; padding: 16px; color: #fff; background-color: #000; overflow: auto; white-space: pre-wrap; word-wrap: break-word;"><code>

(ここにコードを書く)

</code></pre>

スポンサーリンク