将 href 中的".html"替换为 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]

编辑:这是我的解决方案的类似堆栈溢出帖子。

尝试使用"the_content"过滤器代替 ot gettext

最新更新