クライアントは、非常に長いスラッグ(90文字)、特殊文字(ハイフン以外)などのない投稿を作成しました。
管理バックエンドからの「プレビュー」または「この投稿を表示」リンクを含む、その投稿へのリンクがクリックされるたびに、404が生成されました。
スラッグを手動でトリミングすると、すべてが期待どおりに機能しました。これは「機能」ですか「バグ」ですか?
編集:DBの制限について話しているすべての人のためのメモ。
DBフィールドの制限に達した場合、スラッグ自体は切り捨てられます。少し考えてみてください。ほとんどのWPインストールの場合、wp_posts.post_nameはVARCHAR(200)です。だから、誰かが200文字以上のタイトルを入力したとしましょう。何が起こるのですか?スラッグは200文字に切り捨てられ、wp_posts.post_nameに保存されます。誰かがブラウザのアドレスバーに投稿の完全なタイトルを入力して、スペースをダッシュで置き換えているわけではありませんか?URLはWordPressによって生成されており、wp_posts.post_nameテーブルからURLを取得し、それをアンカータグのhref属性に配置しています。したがって、そこに格差はありません。DB全体は赤いニシンです。
いずれにせよ、問題のスラッグは90文字しかないため、DBの制限とは関係ありません。
書き換えに関する既知の制限はありますか?