WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

什么是 WordPress 过滤器

WordPress 过滤器是一个钩子,可以在数据返回到数据库并显示给用户之前修改数据。因此,你可以自定义插件、主题或网站的功能,而无需更改 WordPress 核心文件。 例如,向所有网站帖子添加脚注或更改其摘录长度。有四种常见的过滤器钩子函数——add_filter、 remove_filter、has_filter和doing_filter。

WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

WordPress 过滤器的工作原理

过滤器拦截 WordPress 传递的数据。它们根据给定的功能对其进行修改并将其显示到用户的网络浏览器上。为了帮助您理解,请查看以下代码片段:

// Specify the filter and the callback function
   add_filter( 'example_filter', 'example_callback' );
   // Define the callback function
   function example_callback( $example ) {
      // alter $example by concatenating on it
      $example . ‘ add a text at the end ’;
      return $example;
   }

以下是该示例的解释:

  1. 使用add_filter函数设置一个将修改数据的过滤器。在我们的例子中,过滤器名称是example_filter
  2. 定义WordPress找到过滤器时将运行的回调函数,即example_callback
  3. 指定回调函数将如何修改$example参数表示的数据。在片段中,我们将使用句号将其与末尾的句子连接起来。
  4. 使用return方法将修改后的数据显示到用户的 Web 浏览器。

要将过滤器挂钩应用到您的 WordPress 网站,请将代码写入当前活动主题的functions.php文件中。

WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

建议将代码添加到子主题文件中,以防止在主题更新后代码丢失。或者在主题根文件夹中创建一个单独的文件来存放过滤器挂钩,并在functions.php文件中调用它。这样可以更好地组织你的代码并确保其在主题更新时不会丢失。

include _once( get_template_directory(), '/yourfilename.php':'

如果你无法访问主题根文件夹,请安装插件以直接从 WordPress 管理仪表板添加自定义代码。用于此任务的插件可选择Code Snippets

注意:修改functions.php文件可能会导致错误或网站无法访问。为了避免这种情况,请在继续之前创建备份

WordPress add_filter 参数

WordPress add_filter函数有四个参数。以下是它们中的每一个:

  • 钩名。你想要将回调函数挂钩到的 过滤器名称。
  • 回调函数。应用过滤器时要运行的回调函数。
  • 优先事项。一个可选参数,指定与过滤器关联的函数的执行顺序。默认值为10 数字越小,执行越早。
  • 接受的论点。传递给挂钩函数的参数数量。此参数是可选的,默认值为1

函数和参数语法如下:

add_filter( hook_name, callback_function, priority=1, 
   accepted_arguments=1);

WordPress 中 add_filter 更改WordPress帖子摘录的长度的示例:

function custom_excerpt_length( $length ) {
    return 20; // 更改此处的数字以调整摘录的长度
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

在这个例子中,我们创建了一个名为custom_excerpt_length的自定义函数,该函数接受一个参数$length,表示摘录的长度。然后,我们将这个函数作为参数传递给add_filter函数,指定了过滤器的名称(excerpt_length)和我们自定义的函数名。最后的999参数表示优先级,这里我们将其设置为较高的值,以确保我们的过滤器最后被应用。

显示特定帖子类别的图像

WordPress 过滤器挂钩可让您自定义具有特定 ID 或类别的帖子。在下面的代码片段中,我们为属于高级类别的每个帖子添加了一个图标:

add_filter( ‘the_content’, ‘add_disclaimer’ );
   function add_disclaimer( $content )
   {
      // concatenate the content to modify it
      return $content . 
      “<br><center><strong>All writings and opinions are my own“;
   }

在示例中,我们创建了the_content过滤器并将其与wpb_content_filter回调函数挂钩。该函数指定过滤器应用的条件。

在这种情况下,如果 帖子属于高级类别,过滤器功能将通过向其中添加图像来更改内容。

WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

更改显示的产品数量

过滤器还允许你修改电子商务插件以自定义你的在线商店。例如,以下自定义代码可更改 WooCommerce 插件上显示的产品数量:

add_filter('storefront_products_per_page','alter_sf_products_per_page' );
   function alter_sf_products_per_page() 
   {
      // change the default value
      return 3 ;
   }

在代码片段中,我们创建了storefront_products_per_page自定义过滤器,并将其与alter_sf_products_per_page函数挂钩。当数据通过它时,过滤器将调用该函数将默认值从12更改为3并将其显示到用户的浏览器。

WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

其他常用的 WordPress 过滤器

除了add_filter之外,开发人员还可以将以下几个其他函数与过滤器挂钩一起使用。

删除过滤器()

此函数删除挂钩到特定过滤器的函数。 Web 开发人员通常使用它来删除默认的 WordPress 功能,而无需完全删除代码。语法如下:

remove_filter( hook_name, callback_function, priority = 10 );

执行过滤器()

该函数检查当前是否正在执行另一个函数。它采用钩子名称作为参数并输出truefalse返回值。代码如下:

if doing_filter( 'hook_name’ )
{ 
// execute a script if the filter is running 
};
WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?

有_过滤器()

has_filter函数验证过滤器是否成功应用于挂钩。它采用过滤器名称作为第一个参数,回调函数作为可选的第二个参数。

要检查特定功能,必须包含第二个参数。否则,它将返回true来指示任何函数已挂接到过滤器。该函数的代码如下:

has_filter( ‘hook_name’, ‘callback_function’ );

总结:

过滤器是一个 WordPress 挂钩,用于在网站上显示数据之前修改数据。 Web 开发人员使用它来自定义插件或主题,以便为他们的网站添加额外的功能。

过滤器挂钩将拦截 WordPress 传递的数据,根据你的需求进行更改,并将其显示到访问者的浏览器上。要设置过滤器,在主题的functions.php文件中编写add_filter函数,并使用挂钩名称和回调函数作为参数。

过滤器挂钩的示例用例包括更改文章摘录长度和向网站帖子添加免责声明。除了add_filter之外,它的其他函数还包括remove_filterdoing_filterhas_filter


联系我们
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
发布者:光子波动,转转请注明出处:https://www.361sale.com/7288/

(1)
上一篇 2024年 4月 4日 下午7:57
下一篇 2024年 4月 5日 下午12:27

相关推荐

  • WordPress网站加速:缓存设置指南

    WordPress网站运行缓慢?这个问题自WordPress诞生以来就一直存在。但现在,我们已经有了标准化的解决办法。 WordPress网站速度慢的6个因素 选择一个好的服务器提供商 2、使用一个轻量级的WordPress主题 3、减少非必要的插件 4、优化图像大小 5、开启服务器缓存和页面缓存 6、使用CDN加速 我列出了六个重要因素,需要你逐一检查你的…

    2024年 3月 26日 WordPress自学建站
    0038
  • 如何在Linux系统中安装Python 3.9.5

    步骤1:更新系统软件包列表 在安装任何软件之前,建议先更新系统软件包列表,以确保使用最新的软件包。在终端中运行以下命令: sqlCopy codesudo apt-get update 步骤2:安装构建Python所需的依赖项 在安装Python之前,需要安装一些构建Python所需的依赖项。在终端中运行以下命令: arduinoCopy codesudo …

    2023年 4月 6日 WordPress自学建站
    00682
  • 四种方法来扩展 WordPress 功能:添加自定义函数指南

    探索如何为 WordPress 添加自定义功能:一份实用指南 作为一个拥有多年 WordPress 后端开发经验的人,我尝试过多种方式来定制 WordPress,以满足自己和他人的特定需求。最常用的方法之一是创建自己的 WordPress 自定义功能插件。但正如你将在本文中看到的,这并非唯一的选择,也不总是最佳选择。 虽然本指南主要面向开发者,但项目经理也可…

    2024年 3月 21日 WordPress自学建站
    0037
  • 宝塔面板 WordPress博客屏蔽大陆IP

    本指南详细介绍如何使用Nginx和宝塔面板屏蔽中国大陆IP,确保跨境电商网站安全并符合地区性网站访问政策。学习如何设置IP黑名单,自定义HTTP响应状态码(如403 Forbidden),以防止不希望的地区访问您的网站。 1,首先先在Nginx里添加屏蔽大陆IP的代码 登陆宝塔面板,找到软件商店,选择Nginx后面的设置,点开 打开设置,选择左侧 配置修改,…

    2024年 4月 22日 WordPress自学建站
    0042
  • WordPress批量修改文章发布的时间

    批量修改文章的发布时间在WordPress管理中是一个重要且实用的功能。为什么要修改时间呢? 批量修改文章发布时间,可以优化文章内容展示顺序,让某个板块的帖子发布时间提前或者推后。 首先,我们先介绍几个时间WordPress文章保存在数据库里的时间格式和字段说明: post_date 格式为 0000-00-00 00:00:00 记录了文章的发布时间 po…

    2024年 4月 17日 WordPress自学建站
    0014

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)

联系我们

020-2206-9892

QQ咨询:1025174874

邮件:info@361sale.com

工作时间:周一至周五,9:30-18:30,节假日休息

客服微信