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/


この記事が気に入ったらサポートをしてみませんか?