
【PHP】フォームのカレンダーの値を投稿のURLに変える【WordPress】
タイトルが分かりづらくて申し訳ないのですが、input type=”date”の場合に送信される値をPHPでいじって、フォームで選ばれた日付に投稿された記事のURLへ飛ぶ、というのをどうしてもしたかったので、未熟なPHPでがんばりました。できる方から見ればたいしたことのない中身ですが、自力でがんばって、1人でまともに書いたはじめてのプログラムなので載せます。
まず送信する側のフォームです。
1 2 3 4 5 |
<!-- 日づけ入力フォーム --> <form action="/php/cal.php" method="post"> <input type="date" name="cal"> <input type="submit" value="の記事へ"></form> <!-- おわり 日づけ入力フォーム --> |
次に受け取る側のPHPです。
1 2 3 4 5 6 |
<?php $date = str_replace("-","/", $_POST['cal']); $return_page = "https://your_site.com/".$date."/"; header("Location: $return_page"); exit(); ?> |
フォームの値は$_POST[‘cal’]の中に入っています。name属性に指定した値calをカッコの中に書いています。そして文字の置き換えをしています。もともとのハイフンをスラッシュへ変えています。
あとは自分のサイトのURLと置き換えたものを「.」でくっつけて、そのURLに飛ぶ処理をします。
なぜこんなことがしたかったかというと、15年以上個人的にブログを書いていて、それをWordPressに移転した際に、昔の自分はなにをしていたかな?と思いついたときや、ピンポイントな記念日などへどうしてもすぐたどり着きたかったからです。WordPressのもともと備わっているカレンダーでは、15年以上前となるとたどっていくのも大変だったので、いい方法はないかと考えたものです。
どなたかのお役にちょっとでも立てれば幸いです。