トップページなどから、固定ページへのリンクボタン「詳しく見る」などをビジュアルエディタに書いて表示している場合。
ページスラッグを変えると、リンクURLを書き換えなくてはならず面倒。
ナビゲーションメニューみたいに自動で書き換えてほしい。
目次
ソース
/* ---------- 固定ページ、シングルへのリンク - idから ---------- */
function id_link( $atts ){
extract( shortcode_atts( array(
'id' => '',
'wrapper' => '',
'class' => '',
'anker' => ''
), $atts ) );
if( $id ){
$link = get_permalink( $id );
if( $wrapper ){
$wrapper = $wrapper;
}else{
$wrapper = 'p';
}
if( $class ){
$class = ' ' . $class;
}else{
$class = ' btn btn-m';
}
if( $anker ){
$anker = $anker;
}else{
$anker = '詳しく見る';
}
return '<' . $wrapper . ' class="id-link' . $class . '"><a href="' . $link . '">' . $anker . '</a></' . $wrapper . '>';
}else{
return false;
}
}
add_shortcode( 'id_link', 'id_link' );
・idを指定しなければ何もしない。
・ラッパーは「p」、指定すればソレに。
・アンカーテキストを指定しない場合は「詳しく見る」
・CSSクラスはよく使うもの。明示すればソレに。
呼び出し
「お問い合わせ」にリンク
「id_link id=”73″」
[id_link id=”73″]
「お見積り」にリンク、アンカーテキストを「お見積りはお気軽に」、CSSクラスを「btn btn-xl」に
「id_link id=”77″ anker=”お見積りはお気軽に” class=”btn btn-xl”」
[id_link id=”77″ anker=”お見積りはお気軽に” class=”btn btn-xl”]
「トップ」にリンク、アンカーテキストを「トップに戻る」、ラッパーを「span」に、CSSクラスを「link-underline」に
「id_link id=”107″ anker=”トップに戻る” wrapper=”span” class=”link-underline”」
そのほかの記事は[id_link id=”107″ anker=”トップに戻る” wrapper=”span” class=”link-underline”]をご覧ください。
これで、スラッグを変更するたびにあちこち直さなくて済む。