WordPress:添加到functions.php的代码在更新后消失

Joe*_*Joe 1 php wordpress updates

我们的 Intranet 网站有一个链接,可从页面内打开 Windows 资源管理器窗口。Wordpress 更新后,此功能丢失。经过一番谷歌搜索后,我通过将以下代码添加到functions.php文件中找到了解决方案:

function allowed_link_protocols_filter($protocols)
{
     $protocols[] = 'file';
     return $protocols;
}
add_filter('kses_allowed_protocols', 'allowed_link_protocols_filter');
Run Code Online (Sandbox Code Playgroud)

几天前,我们的Wordpress网站再次更新,之后我注意到添加的功能再次被删除(可能被新版本的新functions.php文件覆盖)。

如何向functions.php添加一些内容,这样我就不必在随后的每个新更新中再次添加它?

请注意,虽然我对 PHP 有一点了解,但我没有 WordPress 经验。

ran*_*ank 7

一种方法是创建主题的子主题,当您更新主题时,该子主题不会被覆盖。

但如果你只想添加一个功能,我建议创建一个插件。

  1. 使用 FTP 转到文件夹wp-content>>plugins

  2. 在文件夹内plugins创建一个名为的新文件夹my_protocol_filter

  3. 在这个新创建的文件夹中,创建一个同名的 php 文件my_protocol_filter.php

  4. 在此 php 文件内,您必须粘贴以下代码

       <?php /*
       Plugin Name: My custom protocol filter
       Description: Allowed link protocol filter
       Author: Joe
       Version: 1.0
       */
    
    Run Code Online (Sandbox Code Playgroud)

该注释定义了您的插件的名称。下面粘贴您的代码

function allowed_link_protocols_filter($protocols)
{
     $protocols[] = 'file';
     return $protocols;
}
add_filter('kses_allowed_protocols', 'allowed_link_protocols_filter');
Run Code Online (Sandbox Code Playgroud)
  1. 由于该文件夹和文件位于 WordPress 安装的插件文件夹中(使用 FTP),您现在将在 WordPress 后端的插件部分中找到新插件。
  2. 激活插件。无论您使用或更新什么主题,您的函数现在都可以运行。

  • 非常感谢您的解释和易于遵循的步骤!它就像一个魅力。 (3认同)