メニュー 閉じる

WordPressで記事の代わりにアーカイブが出る件


うまくいかないのには理由がある、その条件は

  • %post_id%
  • %postname%

このいずれかまたは両方が入っていることが必要。システム的に絶対に同一にならない項目が必要ということ。


WordPressにおいて、閲覧者が他者へ記事ページを紹介するためにも使われるURL。日本人が日本語で書いていると、ブラウザ上では見えていてもコピペするととんでもなく長い記号の羅列になりがちだ。

タイトル等がURLにこんな感じで、ブラウザ上では違和感がないのに、コピペするとこれだ

https://www.photopierre.com/2024/10/09/%e3%83%90%e3%83%8a%e3%83%8a%e3%82%b1%e3%83%bc%e3%82%b9/

「バナナケース」の部分がエンコードされてしまい「%e3%83%90%e3%83%8a%e3%83%8a%e3%82%b1%e3%83%bc%e3%82%b9」てなことになって、知らなければ何となくエラーっぽく思う人もいるだろう。ちょっと知識があれば「文字化けした!」と思う人もいるだろう。

文字化け風味を回避するには、パーマリンク設定

これを回避したいから、なるべく「タイトル」を入れたくない。選択肢には「数字ベース」も選べるが、「?」が入ったり「archives」が入ったり、自由度が低い。気にしない人はそれを選んでください。でもURLのツリー構造を気にするとちょっとそれもいただけない。

そんな人のために、自由に決められるカスタム構造も選べる。

パーマリンク構造設定

基本的には自由なのだが、一つ条件がある。記事毎にかぶらないユニークなものが必要。

たとえば日時ベースで考えると、そんなに1秒未満で次々に記事を配信しないと思っていても、WordPress氏はそう思ってくれない。設定できるということことがダメなのだ。だから、日時ベースにしようとしても、「その日時を含む全記事」を表示しようとして、アーカイブとして表示したがる。

うまくいかないもんだ。

うまくいかないのには理由がある、その条件は

  • %post_id%
  • %postname%

このいずれかまたは両方が入っていることが必要。システム的に絶対に同一にならない項目が必要ということ。

ただし、%postname%の方は、結局記事タイトルの事なので元の木阿弥となるわけだから、%post_id%を指定しておけばいいでしょう。「基本」「数字ベース」と同じ考え方ですね。


Posted in ウェブ関連
4 2 評価
Article Rating
ウォッチする
通知
0 Comments
インラインフィードバック数
すべてのコメントを表示

関連してるかもしれない記事