首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WordPress 过滤钩子(Filter)基础详解

这个特性的基础就是钩子(hooks)—— WordPress的过滤(filters)和动作(actions)钩子。没有它们,我们就无法利用 WordPress 的可扩展性的优势。...什么是 WordPress 过滤钩子(Filter) 在 WordPress 官方开发文档里面,过滤钩子(filter)是这样定义的: 过滤钩子是一类函数,WordPress 执行传递和处理数据的过程中...,在针对这些数据做出某些动作之前的特定点运行(例如将数据写入数据库或将其传递到浏览器页面)。...过滤钩子是 WordPress 的两种钩子之一,另外一个我们叫做动作钩子(actions)。当然这不是我们这篇文章讨论的。...在这个教程里面,你可以学到如何在你的插件或者主题中创建过滤钩子和动作钩子。 结论 你用过滤钩子用的越多,你就会感觉到越有趣。

1.1K100

Genesis框架从入门到精通(2):什么是动作?

好的,让我们看看如何在代码中使用。...在()中可以是任何可以传递的参数(稍后会详细介绍),{是函数的开头。之后的一切都是在函数内部运行的代码。 }是函数的结尾。真的很简单,但也很容易搞砸。...如果未设置,则WordPress会将其视为10。具有相同优先级的动作(action)将按出现的顺序来执行,WordPress核心代码,插件,框架文件,主题的fucntion文件,主题的模板文件加载。...如果像个变量相同,条件为真,那么我将“hook”钩子被触发从而运行function_1的代码,但我不希望触发第二个钩子“hook_2”,所以我必须删除它,即使在function_1的代码没有被添加的情况下...本系列的下一部分将介绍如何在Genesis文件中查找需要的动作(action)并在子主题中更改它们。

74920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何开发一个简单的WordPress 插件

    钩子分为两种类型:动作钩子(Action Hooks):允许开发者在特定事件发生时执行自定义代码。过滤器钩子(Filter Hooks):允许开发者修改 WordPress 数据或输出。...插件2.1 环境准备在开始开发之前,确保你有一个运行中的 WordPress 环境。...第三部分:深入插件开发3.1 使用钩子3.1.1 动作钩子动作钩子允许你在 WordPress 的特定事件发生时执行代码。...以下是一个示例,展示如何在文章发布时发送电子邮件通知:function my_first_plugin_send_email($post_id) { $post = get_post($post_id...以下是实现国际化的步骤:3.5.1 加载文本域在插件文件中添加以下代码,以加载文本域:function my_first_plugin_load_textdomain() { load_plugin_textdomain

    35010

    Genesis框架从入门到精通(3):框架的内置动作

    下面是Genesis目录中的文件和简要描述: genesis :包含所有文件和目录。此目录中的文件是通用模板文件,主要是用于在框架中加载其他文件。...archive.php :包含操作归档页面的动作,如归档页面的标题输出 comments.php :包含操作评论的动作,如评论的提交表单 footer.php :用于页脚的动作,包括页脚上的widget...header.php :会被header.php中的钩子触发的动作,包括站点标题 layout.php :用于加载侧边栏的动作 loops.php :处理Genesis中可用的3种循环:标准循环(Standard...修改动作 这是处理Genesis 动作时最难搞的部分。你必须删除现有动作,然后创建自己的函数来替换它。在子主题中最常见的修改之一是自定义循环。...使用我新合并的$args,我现在可以运行genesis_custom_loop(),基本上,它就是根据传递的参数来构建一个新查询,然后依据标准循环中的完全相同的钩子运行该循环。

    98030

    WordPress 函数:get_post() 获取指定 ID 文章相关信息

    wordpress主题制作中可能需要单独调用指定文章的标题、链接或内容等,可以通过get_post()函数指定文章ID来获取文章标题、文章内容、文章链接、时间等文章相关信息。...必须传递一个含有整数的变量(如$id),如果直接添加数字会报错,这个需要注意。默认值为空。 $output:需要返回的参数,可选参数。...> 实 际应用场景 WordPress 发布文章,或定时发布文章,需要实时推送文章给百度收录 米扑博客在主题下面的 functions.php 自定义的函数,实际应用如下: // 百度百熊号(原创文章保护...', 'post_baidu_xzh2', 10, 1); // 到定时发布文章设定的时间点就会被触发 在米扑博客先前写的一篇博客里 WordPress 发布文章触发动作钩子 ,可以查到动作钩子的函数参数和个数...动作钩子: publish_post:参数一个($post_ID),点击发布文章时就会被触发,仅含已发布;(推荐) save_post:参数一个($post_ID),发布或更新文章时就会被触发,包含已发布

    72230

    Genesis框架从入门到精通(1):什么是框架?

    WordPress主题框架Genesis的工作原理可能会让很多人感到困惑不解,这导致开发者在开始用Genesis框架时可能会一脸蒙逼,无所适从。...do_action() 函数的作用是用“钩子(hook)”把需要执行的动作函数(action)“勾入”到Wordpress中,用来执动作函数中的代码。...这个文件中有7个“钩子”,分别会把不同的动作函数“勾入”wordpress中。我将在稍后解释什么是动作函数,现在让我们先简单的总体看一下Genesis里典型的“钩子”的结构和加载过程。...以下是“钩子”加载顺序的简化版,最开始的就是加载框架自身的钩子: genesis_pre genesis_pre_framework genesis_init header.php genesis_title...每个“钩子”都可以将其他函数“勾入”进来以便添加一些功能。只需几行代码就可以移动网站的各个部分。动作函数将在下次再讲。

    1K41

    WordPress主题开发,从入门到精通。

    2.init 大部分 WP 在这个阶段被加载,并且用户被认证。WP 继续加载随后的“init”钩子(例如小部件),许多插件出于各种原因在其上实例化自己(例如,它们需要用户、分类等)。...3.wp_loaded 彻底加载完毕, WP、所有插件和主题完全加载并实例化,就会触发此钩子。...") 8.after_switch_theme 主题切换后,第一次加载wp时触发的钩子;check_theme_switched()检查是否已经触发这个钩子 9.save_post、publish_post...、edit_post 在文章保存后立即触发,remove_all_actions(),移除所有钩子,did_action(),钩子的运行次数 10.admin_menu 在后台加载管理菜单之前触发。.../roles-and-capabilities/ 1.角色分类 WordPress 使用角色的概念来让博客的所有者对用户进行权限控制。

    10.7K40

    【译】WordPress 中的50个过滤器(1):何为过滤器?

    在WordPress 的官方Codex 中,是这样介绍过滤器的: 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定点运行(例如将数据写入数据库或将其传递到浏览器页面...过滤器是WordPress 中hook 机制的一种——另外一种是动作(action)。 尽管看起来很复杂,但过滤器(以及动作)其实很容易明白。...> 这个函数使用PHP中的 preg_replace函数来替换标题中的元音字母并返回替换后的tile 参数。很简单不是吗?让我们挂载这段函数到一个过滤器上: <?...当然,它可以在核心外运行意味着你可以在自己的主题或插件中创建过滤器。 让我们看看它是如何工作的: <?...这个教程是介绍如何在个人开发的主题或插件中创建过滤器或动作。 结论 写的代码越多,你就越能发现过滤器的乐趣。

    1.2K100

    WordPress 常用动作钩子 (action)分享

    在制作主题和插件,或者为 WordPress 增加某些功能时,一般都要使用 WordPress 的动作钩子 (action),分享几个比较常用的动作钩子,以备用时查看。...plugins_loaded 对插件开发者来说,plugins_loaded 动作钩子也许是最重要的动作钩子了,它在大多数 WordPress 文件加载完成之后,并在 pluggable 函数和 WordPress...在大多数的插件中,在这个钩子触发之前,不应该执行其他的代码。plugins_loaded 在所有用户启用的插件都被 WordPress 加载之后执行。...这也是在加载过程中插件开发这最早能用到的钩子,WordPress 的插件应该在这个钩子中执行安装,其他动作也应该添加到这个钩子的回调函数中。...唯一一种使用这个钩子来添加 JavaScript 的情形是当 JavaScript 代码不在一个单独的文件中时。

    79620

    WordPress面试题

    主题 wordpress 的后台密码是 MD5 加密的密码怎么修改 有自己的博客网站吗?...下面是关于如何在 WordPress 源码中开发主题和插件的基本指南: 开发 WordPress 主题: 创建主题目录: 在 WordPress 的wp-content/themes/目录下创建一个新的文件夹...自定义主题功能: 在functions.php文件中添加自定义功能和钩子。 使用add_theme_support函数来启用特定功能,如自定义菜单、特色图像等。...模板标记和循环: 使用 WordPress 的模板标记,如the_title()、the_content()等,在模板中显示文章的标题、内容等。...添加插件信息: 在插件文件中添加插件的基本信息,包括插件名称、版本、描述等。 使用add_action和add_filter函数来添加钩子和过滤器。

    40340

    niRvana · 轻拟物主题4.8完美版

    如: Gutenberg专用模块 niRvana主题除了外观的变化以外,主要还是针对WordPress5做了大量优化:由于WordPress5.0引入了“Gutenberg Block...文章目录(Wiki模式) 当文章中存在多个“二级”、“三级”标题时,主题将自动启用“文章Wiki模式”。...“文章Wiki模式”将自动把文章内的“二级”、“三级”标题显示为文章导航并展示在边栏中,点击边栏标题可导航到文章中的指定位置。...UI样式 您可以轻松的在文章中插入小标题样式、模态框、提示框、折叠内容、内容回复可见、下载按钮、下拉菜单、站内文章链接等,例如: 图片 图片 未标题 显示下拉菜单 左眼会配右眼哭の博客...v2.3.0 1、新增:文章归档页面,后期继续优化 2、新增:页面加载用时计算 3、新增:当前在线人数统计 4、新增:文章添加运行代码功能 5、新增:使用必应(Bing)每日美图作为后台登录背景 v2.2.0

    8.7K10

    WordPress 通过模板文件和自带的函数引入 cssjs 的两种方法

    WordPress 引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的 css,js,甚至很有可能还需要加载 Jquery 文件,网上方法特多,说法不一,我们今天借鉴 wordpress...该参数只在WordPress不了解脚本情况时使用。默认值:None $deps(数组)(可选)脚本所依靠的句柄组成的数组;加载该脚本前需要加载的其它脚本。若没有依赖关系,返回false。...3、加载样式到我们的网站 我们不能在主题中随便找个地方使用 wp_enqueue_style() 函数 - 我们需要使用“动作”钩子。...还有我们可以使用各种用途的三个动作钩子: wp_enqueue_scripts 用来在网站前台加载脚本和CSS admin_enqueue_scripts 用来在后台加载脚本和CSS login_enqueue_scripts...> 告诉 WordPress 需要加载 jquery.js,WordPress 在 wp_footer() 中处理的时候也会先检查前面是不是已经有了,如果有了就不会再重新加载一次。

    1.8K30

    Wordpress

    Wordpress加载css以及javascript和正常的网页加载不同。1.创建functions.php文件图片动作名’, ‘响应函数名’, [优先级], [参数数目] );参数说明:1.动作名: WordPress所提供的动作名,用于标识在哪个动作发生时,执行响应函数。...2.相应函数名:当动作 hook_name 发生时需要执行的响应函数的名字。可以是 PHP 标准的函数,或者是 WordPress 内的函数,或者是插件内自定义的函数。...解释一下动作|action:动作 (Actions) 是由 WordPress 内部的某些事件所触发的,比如说发表一篇文章、更换主题或者访问后台的某个管理界面,这些都是一件事件的例子。...wp_head();方法是用来加载functions.php文件中配置的CSS以及javascript图片<!

    61120

    WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

    本文有助于你深度了解 WordPress 主题和插件的 PHP 加载顺序,学习 Hook(钩子)Action(动作钩子) Filters(过滤钩子)的概念,弄懂 WordPress 重要函数:do_action...结论 经过上述的分析可以得出一个结论,WordPress 的加载是这样的一个顺序,先加载 插件,再加载 主题根目录中的 functions.php,最后加载主题。...插件是如何运行的 WordPress 的插件也是一段代码, WordPress 插件通过 WordPress 提供的插件 API 和函数,来实现集成到 WordPress 当中去。...什么是 Hook WordPress 的插件机制是基于 Hook 机制实现的,简单来说,就是在 WordPress 的核心代码中,加入了大量让 Hook 挂载的位置,当程序执行到这里时,就会顺着 Hook...do_action do_action 是 WordPress 插件机制非常重要的一环,当程序运行到这个函数时,就会将挂载在这个 Hook 上的所有函数执行一遍。

    1.4K10

    WordPress主题制作(四):制作头部模板header.php

    修改页面标题 不同页面的标题都是不一样,而且title的设置会影响到SEO的效果,应该谨慎设置。将Candy | Blog修改为: 时返回true is_category():当前页面为分类页时返回true is_single():当前页面为单文章页时返回true is_page():当前页面为单页面时返回...那为什么header.php 没有加载呢?因为这是WordPress的主题,是要被WordPress的主程序调用,经过层层解析才能把你的博客显示出来,而不是简简单单的html静态网页文件。...>" /> 添加wp_head 有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。...) 输出博客描述 wp_head() 用于包含WordPress程序输出头部信息 wp_list_categories(); 用于列出博客分类页 wp_list_pages() 用于列出博客页面 WordPress

    1.3K20

    5个最佳WordPress广告插件

    在这篇文章中,我们晓得博客为你介绍5个最佳WordPress广告插件1、Ad Inserter插件  Ad Inserter是WordPress.org上最受欢迎的广告插件。...这是有充分理由的——即使是免费版本,这个插件在自动在您的内容中插入广告时也非常灵活。5个最佳WordPress广告插件  Ad Inserter的一个缺点是界面。...延迟加载–提高广告效果和核心Web Vitals。粘性广告广告插入选项Ad Inserter在插入广告时非常灵活,这是它的强项之一。这包括手动插入或自动插入。...只要您使用自托管的WordPress,您就可以在您的网站上放置您想要的任何广告。如何在我的WordPress文章中投放广告?所有广告管理插件都允许您使用简码或块手动放置广告。...您所做的就是将您的广告添加到插件中,然后将该广告的短代码或块包含在您要显示广告的帖子中。如何在WordPress上的帖子之间放置广告?

    8.6K20

    Genesis框架从入门到精通(6):过滤器

    简而言之,如果你想要改变一个函数的值,那么你可以走捷径而不必费事地使用动作。在Genesis框架和WordPress中有大量的过滤器。...添加过滤器 add_filter()函数与add_action() 的用法完全,我在之前的教程中已经解释过,如果你没有看过我之前的文章什么是动作,请让我带你快速过一下,详细信息请参阅看看什么是动作这篇文章...,这里就是将代码加载到名为“hook”的一个钩子上。...这是过滤器和动作函数之间非常重要的区别。过滤器必须要有一个最终值返回出来,而不是打印出来。有些开发者在编写时将用过滤器把内容修改了并把修改过内容打印出来而不是返回出来,这一次次的让我感到恼火。...接下来的部分,我将使用Genesis中的一些示例来展示如何在不使用动作的情况下进行主题更改,为了好玩,我将首先演示如何使用动作来修改,再演示用过滤器的方式,这样就能看出哪种方式更高效。

    62920

    WordPress架构简单剖析

    前言 最近在搭建自己的博客站点时, 选择了网站使用较多的WordPress, 随着慢慢的使用, 它灵活的插件和主题令我折服. 基本上任何想要实现的功能, 都可以在上面通过插件的形式进行添加....在WordPress中, 随处可见各种钩子的调用, 初始化的时候、加载插件、插件加载完成、加载主题等等等等....不过在查看源码的过程中, 有一个问题, 所有钩子函数的调用, 都是直接使用字符串调用的, 如 do_action('init'). 这种通用的变量, 不应该写个常量列表的么?...其他细节 配置加载 WordPress的配置是存储在MySQL中的, 而请求加载配置文件的方式是执行sql查询: SELECT option_name, option_value FROM $wpdb-...因为 配置的首次读取是在调用wp_not_installed()函数时, 而此时插件还没加载呢.

    1.5K40

    Genesis框架从入门到精通(13): 小部件函数

    genesis_register_widget_area: 注册新的侧边栏 genesis_register_sidebar: genesis_register_default_widget_areas:动作钩子的一部分...,用于注册默认的侧边栏 genesis_register_default_widget_areas_cb genesis_register_footer_widget_areas:动作钩子的一部分,注册页脚的侧边栏...侧边栏(Sidebar) WordPress中的侧边栏术语是指主题中任何可以用于添加窗口小部件的部分。...在WordPress中注册小部件需要扩展一个特殊的类,一个小部件包括有两个主要部分。后台和前端。在后台,可以将小部件拖动到侧边栏中。小部件放入侧边栏后,你还可以对其进行各种设置。...要删除它们,你需要删除布局中的选项。我将在下一次涉及layout.php文件时讨论这个问题。

    1.1K20
    领券