簡體   English   中英

用Wordpress替換href內的“ .html”

[英]replacing “.html” inside a href with Wordpress

我有一個WordPress站點,其中有很多鏈接。 每個鏈接都有擴展名“ .html”(例如<a href="https://example.com/about.html> )。

我想添加一個過濾器,該過濾器在所有頁面上搜索“ .html”並將其替換為“”( <a href="https://example.com/about> )。

我嘗試使用str_ireplace和gettext過濾器來完成此操作。

function kb_rename_links( $kb_rename_item ) 
{  
$kb_rename_item = str_ireplace( '.html', '', $kb_rename_item );

return $kb_rename_item;
}

add_filter( 'gettext', 'kb_rename_links' );

此片段無法完成工作(它適用於純文本)。 我認為gettext過濾器不是此工作的正確選擇,甚至我需要在此處執行操作。 但是我不願找到合適的人。

謝謝你的幫助

我認為更好的解決方案是修改.htaccess文件以刪除.html擴展名。 這樣,您根本不需要接觸代碼。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

資源

編輯: 是我的解決方案類似的stackoverflow帖子。

嘗試使用“ the_content”過濾器,而不是ot gettext

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM