在我的WordPress 3.1管理面板中,在外观下面有一个菜单选项。 对于URL输入,我需要键入file:// network path / path1 / path2 / index.htm,但是当我点击保存时,该值消失。如果我把http://network path / path1 / path2 / index.htm放在它上面。它就像它不接受FILE协议,而只接受HTTP协议。如何找到实际的PHP文件,以便我可以使用链接对其进行硬编码?还是有其他选择?
答案 0 :(得分:1)
我知道这是一个老问题,但是我碰到了这个问题,公认的答案不是在WordPress中添加允许的协议的正确方法。 WordPress核心文件绝对不能修改,因为当WordPress更新时,所有修改都将被覆盖。有一种非常简单的方法可以以正确的方式添加协议。
在主题的functions.php文件中添加以下功能。如果您使用的是下载的主题,请确保将其添加到子主题中,否则在更新主题时,对主主题文件所做的更改将被覆盖。
function allowed_link_protocols_filter($protocols){
$protocols[] = 'file';
return $protocols;
}
add_filter('kses_allowed_protocols', 'allowed_link_protocols_filter');
https://developer.wordpress.org/reference/hooks/kses_allowed_protocols/
答案 1 :(得分:0)
我找到了解决方案。 在wp-includes / formatting.php中有一行:
$protocols = array ('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn');
我刚刚将文件添加到数组中,现在它接受菜单中的文件协议