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

Wordpress: code added to functions.php disappears after update

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

function allowed_link_protocols_filter($protocols)
{
     $protocols[] = 'file';
     return $protocols;
}
add_filter('kses_allowed_protocols', 'allowed_link_protocols_filter');

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

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

请注意,虽然我略懂 PHP,但我没有 Wordpress 经验。

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

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

  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
       */
    

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

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

这只是一个更新,我发现放置自定义 javascript 的最佳方式是直接通过页面本身,在每个页面中都有一个编辑器从中选择文本并放置您的 javascript 如下所示,它就像一个魅力,不会引起任何冲突。

<script> your code here </script>