[英]How can I use the block editor for a 404 page in WordPress without redirecting from /404
我有一個 WordPress 網站和一個自定義主題,當然還有一個404.php
文件。 我遵循了這個驚人的指南,讓 404 頁面模板可以使用塊編輯器進行編輯。
當我 go 到/404
(或就此而言,任何無效鏈接)時,我在 404 頁面上的組件顯示正確,但是,當轉到/404
時,用戶被重定向到/404-2
這是我想要的行為使固定。 當用戶轉到/abc
(無效頁面)時,會顯示 404 並且它們沒有被重定向並且仍然在/abc
上(這是預期的)。
我檢查了 WP 中的頁面,並且 URL slug 設置為/404-2
並嘗試將其更改為 404 只是默認返回 404。這似乎是由於404 是一個數字和默認的 WP 行為。 但這只是告訴我為什么會出現問題; 我不知道如何覆蓋或糾正這種行為。 提前致謝。
正如您所發現的,頁面標題“404”(或任何數字標題)將始終被重寫為“404-2”,這確保標題是不同的/永遠不會與數字帖子/頁面 ID 混淆。
一個簡單的解決方案是將頁面重命名為“404 page”並將 php function 更新為get_page_by_title( '404 page' )
。 這將使您的頁面對/404-page
的 url 更加 SEO 友好,並且不需要嘗試更改.htaccess文件的永久鏈接/重寫。
如果使用 WordPress 5.9 或更高版本,可以考慮將自定義主題遷移到塊主題。 這將使您能夠使用可以通過Site Editor > Templates
編輯的塊編輯器創建真正的“404”頁面模板。 站點編輯器使您能夠添加新模板、保存和導出它們,以便為您的自定義主題輕松創建您自己的模板。 從像二十二十二這樣的基本主題開始是了解可能的好方法。 這與創建“經典”基於 php 的主題非常不同; 盡管塊模板和站點編輯器的優勢對於將來驗證您的主題是一個很大的好處。
通過掛鈎do_redirect_guess_404_permalink
來修復它
請參閱https://developer.wordpress.org/reference/hooks/do_redirect_guess_404_permalink/
<?php
function stop_redirect_guess() {
return false;
}
add_filter( 'do_redirect_guess_404_permalink', 'stop_redirect_guess');
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.