WordPress の引っ越しに伴い、旧サイトで各記事の新 URL を通知する
WordPress から Hugo へ引っ越しをした。
これに伴いドメインも変更している。
旧ドメインは来月失効することになっているが、そうなると現時点で 旧 WordPress へアクセスした人には新サイトへの誘導を行いたい。
Hugo への移行に際して、WordPress のリンクのディレクトリ構造は同じにしている。すなわち以下のようになっている。
旧 URL: https://old-site.com/2023/11/13/this-is-a-post/
新 URL: https://new-site.com/2023/11/13/this-is-a-post/
旧 URL にアクセスした人が、そのまま新 URL での同一記事へ飛べるようになれば便利だ。
環境:スターサーバー上の WordPress 6.2、Nirvana テーマ
PHP でドメイン部分を除いた URL は以下のコードで取得できる。
<?php
function my_permalink() {
echo substr(get_permalink(), strlen(home_url('/')));
}
my_permalink();
?>
この結果は以下のようになる。
2023/11/13/this-is-a-post/
これを踏まえて、僕は各記事のタイトル、投稿日のすぐ下に、新 URL の通知を行いたいので、single.php の <div class="entry-content"> の直前に以下のコードを記述した。
<!-- 新サイトへの誘導 -->
<p style="background-color:#ffe4e1">
<?php
function my_permalink() {
echo '本ブログは 2023 年 12 月 1 日以降は ';
echo '<a href='.'https://new-site.com/','>https://new-site.com/</a>';
echo ' へ移行します。';
echo '<br>';
echo '本記事の新 URL: ';
echo '<a href='.'https://new-site.com/';
echo substr(get_permalink(), strlen(home_url('/')));
echo '>https://new-site.com/';
echo substr(get_permalink(), strlen(home_url('/')));
echo '</a>';
}
my_permalink();
?>
</p>
これで、ピンクの背景色で、以下のような通知を表示することができる。URL はクリックできる状態になっている。
本ブログは 2023 年 12 月 1 日以降は https://new-site.com.cc/ へ移行します。
本記事の新 URL: https://new-site.com/2023/11/13/this-is-a-post/
参考:
multilingual - wordpress get current permalink or url without domain - Stack Overflow
https://stackoverflow.com/questions/13436605/wordpress-get-current-permalink-or-url-without-domain
文字に背景色をつける
http://yume.hacca.jp/koiki/text/haikei.htm
PHPでの改行方法(ブラウザとソース表示)と改行できない場合の対処法
https://www.flatflag.nir87.com/nl2br-540
php echoで「HTMLのaタグ(hrefリンク)」を記述するソースコードまとめ | MY-TERRACE(マイテラス)
https://my-terrace.com/php_echo_a/
WEB色見本 原色大辞典 - HTMLカラーコード
https://www.colordic.org/