替换" .html"用Wordpress在一个href里面

时间:2018-05-06 18:29:37

标签: php wordpress str-replace

我有一个wordpress网站,里面有很多链接。每个链接都有扩展名&#34; .html&#34; (如<a href="https://example.com/about.html>)。

我想添加一个过滤器来搜索&#34; .html&#34;并将其替换为&#34;&#34; (<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过滤器对于这项工作来说不是正确的,甚至我需要在这里采取行动。但我不想找到合适的人。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我认为更好的解决方案是修改.htaccess文件以删除.html扩展名。这样你根本不需要触摸代码。

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

source

编辑:Here是与我的解决方案类似的stackoverflow帖子。

答案 1 :(得分:0)

尝试the_content&#39;过滤而不是get gettext