この記事には広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
リライトしたときにタイトル名を変えると、内部リンクを貼っている記事でもタイトルを変える必要があります。
タイトルを変えるには、サイト内で検索かけて手で直していくかプラグインで変換をかける必要があります。プラグインなら一瞬で終わりますが、たまに変換漏れがあるので油断できません。
SANGOでは自サイト内のリンクを記事を横長で表示する「関連記事を出力する(横長)」というショートコードが用意されています。
このショートコードを応用してサイト内のタイトルリンクを取得するショートコードを作ってみましょう。
- [kanrenl id = “13260”]
- [kanrenl id = “11372”]
- [kanrenl id = “8140”]
SANGOを使っている人が対象
目指す姿の確認です。
編集画面では「関連記事を出力する(横長)」に近いショートコードを使います。
記事を表示すると、このように記事タイトルがリンク形式で取得できます。
PORIPUを使っているので更に外側に関連記事のショートコードを使っています。
すると、このようにそれぞれの記事のタイトルが取得できます。
functions.phpにコードを追加すればOK
以下のコードをfunctions.phpに追加してください。
使うのはリンクだけなのでcssの編集はありません。
ショートコードの名前を変えたい人は一番したのkanrenlの部分を変更してください。
functions.php
/*********************
関連記事のタイトルリンクを取得
*********************/
function sng_entry_link_title($atts)
{
$output = ‘’;
$id = isset($atts[‘id’]) ? esc_attr($atts[‘id’]) : null;
if ($id) {
$ids = (explode(‘,’, $id)); //一旦配列に
}
$target = isset($atts[‘target’]) ? ’ target="_blank"’ : "";
if (isset($ids)) {
foreach ($ids as $eachid) {
$url = esc_url(get_permalink($eachid)); //URL
$title = esc_attr(get_the_title($eachid));
if ($url && $title) {
$output .= <<<EOF
<a href="{$url}"{$target}>{$title}
EOF;
}
} //endforeach
} else { $output = ‘関連記事のIDを正しく入力してください’;}
return $output;
}
add_shortcode(‘kanrenl’, ‘sng_entry_link_title’); //関連記事のタイトルリンクを出力
SANGOのショートコード定義先
ちなみにSANGOで使用できるショートコードはSANGOのテーマ内のstyle-shortcode.phpに記載されています。
liberary > functions > style-shortcode.php
今日のまとめ
タイトルリンクを動的に取得するようにすれば、PORIPUを使っている人は関連記事を書くときに使えます。
また、テキストで内部リンクを貼っている人も変更の手間がなくなるので便利になるので試してみてください。
¥1,880
(2024/09/11 03:50:15時点 Amazon調べ-詳細)