ちなみにpageはりんごだけではなく、複数存在します。
こんにちは
いくつか方法はあると思いますが、
それぞれの固定ページでリンクをひとつ書けばいいことなのではないかと思ってしまうのですが、どうしてそういうことがしたいのか、もう少し説明していただけますか?
お返事遅れました。申し訳ありません。
すみません、やはり固定ページでひとつずつ書けばいいことですよね。
色々調べていますとテンプレートを呼び出すことや、インクルードという技を知りました。
テンプレートを呼び出すことはできましたけど完璧ではなく、インクルードを見つけましたけどどうもよくわかりません。
ひとつ参照用のファイルを用意して、500もあるURLを登録します。
ページIDもしくはタイトルから参照できるようにして、固定ページを作り、煩わしいURLの打ち込みやコピペをする手間を省きたいだけでした。
「ここがこれならこれを返す、でなければ空白にする」などのようなことがしたかっただけです。
手間を省くだけでたいした理由になってないですが、よろしくお願いいたします。
WordPressには、フィルタという仕組みがあります。
フィルタは、WordPressのデータベースに保存されている情報を、置換などの処理をして変更した情報を表示することができます。
他にも、いろんなやり方があると思いますので、フィルタとかアクションといったキーワードで調べてみるといいと思います。
%「こちらまで」%
の%は、間違いなく置換文字であることを確認するだけの意味です。
add_filter( 'the_content', 'my_notation_link' );
function my_notation_link( $content ) {
/* 変換対象文字列*/
$replace = '%「こちらまで」%';
/* ページIDと、リンク先URL*/
$link_map = array( 24660 => 'http://www.example.com',
2 => 'http://www.example.com', );
if( is_page() ) {
//もしページだったら、
$id = ( int ) get_query_var( 'p' );
//ページのIDを取得して
if ( array_key_exists( $id, $link_map) ) {
//ページIDと、リンク先URLのキーに、IDが存在したら
return str_replace(
$replace,
'<a href="'. $link_map[ $id ]. '">「こちらまで」</a>',
$content
);
//文字列を置換して表示
}
}
//該当がなければ、そのまま表示
return $content;
}