如何在WordPress中编写和激活函数


如果您开始开发自己的WordPress插件,或者您正在创建自己的主题,您需要学习的技能是写作功能.
虽然你已经写了一个没有工作的功能,你已经放弃了挫败感.或者也许你是由行动和过滤钩子混淆的,你不确定如何让你的功能工作.
在这篇文章中,我会帮助您通过写作功能的任何出牙问题.我将向您展示如何构建功能,为您提供最佳实践提示,并澄清您可以使用的方法来激活功能.
所以让我们开始!
- 你需要的是什么
- 你应该把你的功能放在哪里?
- 写作你的功能
- 添加评论
- 打开功能
- 填充功能
- 激活函数
- 将函数编码为主题模板文件
- 通过动作钩引导函数
- 通过筛选器挂钩引导函数
- 使用条件标签
您需要的
与本教程一起进行,如果您有一个您已经锻炼的功能,它就会有用.这样你就可以把你学习的实践放在实践中,你会得到更多信息.在这种情况下,您需要一些工具:
- 代码编辑器
- WordPress 的开发安装
- 为您的函数文件-可以在您的主题的函数中.php 文件,或者可以在插件中.
如果你没有,因为你还没有开始你的功能,不要担心-阅读,你会学习如何开始.
您应该在哪里放置函数?
在开始之前,您需要考虑您将在哪里放置代码的功能.您有两种选择:您的主题文件文件或插件.
您使用的是函数的目的:
- 如果它与您的内容的设计和显示有关,则将其放在主题中.它与主题直接相关,只能与其余的主题代码一起工作.
- 如果它的功能(并且大多数函数是,线索在名称中),然后将其放在插件中.
我们中的许多人在我们的函数文件中开始,因为这更容易,然后我们在获得信心时继续创建插件.创建插件实际上非常简单-查看我们的创建插件指南.
如果您有信心的插件应该在主题函数文件中,并且您的主题尚未拥有一个,请查看函数文件的最终指南.
编写函数
所以,现在您已打开文件( clusers.php 或您的插件文件),您可以编写该功能.让我们把它分成零件.
添加注释
我知道你在想什么:评论,我们不能再上手写一些代码吗?但我总是在编码我的插件之前添加评论.这样,当我回到它时,我可以看到我的功能是什么.有时我不需要多年回到一段代码,并相信我,我会忘记该代码在我做的时候如何工作!如果有人需要努力工作,那么评论将帮助他们理解它的所作所为.
我的功能将是一个简单的功能,用于在我的主题中注册几个谷歌字体.它在主题函数文件中,因为它与显示而不是布局.但首先,我将添加一些评论:
加载gist de9cc0fe9de6ce1711adf384a09f3a5f
我格式化了我的评论,所以当我在稍后通过文件迅速滚动文件时,他们可以清晰易于找到.
打开功能
现在是时候编写函数了.您将其打开它function
和函数的名称.您应该始终使用函数名称的前缀来帮助确保其名称是唯一的.这样它不会与主题中的任何功能或任何第三方插件发生冲突.使用您正在编写代码的站点或插件的名称,姓名缩写或名称或姓名姓名.
您将使用Crace括号遵循此功能,其中主题的代码进入:
加载GIST A89E565B86B7C1CD2A0C9D82447F372C
填充函数
您希望运行函数的所有代码都在括号内.这包括任何条件标签,我稍后会更详细地解释.这是我的Google字体功能的代码:
加载GIST A2DC67C80217582D046B8FC1678F4D8A
我不会教你如何在这里编写特定函数,因为这将取决于您尝试实现的目标.我们有很多其他帖子,可以帮助您解决各种功能-更不用说我们的学术课程WordPress Development!
这是全功能:
加载GIST 5ED34D25438D267DA2C7BD52441B0370
但是一旦你完成了,你就可以在您的网站上打开一个页面,并想知道为什么不发生任何事情.那是因为你还没有激活你的功能.
激活函数
功能无用,除非您以某种方式激活它,否则拨打WordPress何时射击功能.您有三种选择:
- 代码直接进入主题模板文件(或其他插件文件).
- 将它附加到动作钩.
- 将其连接到过滤器钩子.
让我们看看这些中的每一个.
将函数编码为主题模板文件
如果您使用自己的主题,则此选项仅适用于您.
如果要与第三方主题进行这样做,您必须创建一个子主题,复制子主题中的父主题中的相关主题模板文件,并将函数添加到其中.如果通过将来更新父主题的更新更改模板文件,则您的子主题文件(将使用哪个WordPress)不会反映.
我将假设您正在使用您开发的主题,您可以在多个模板文件中重复一下代码段.而不是创建包含文件并在这些文件中调用它,而是决定使用函数文件并创建一个函数-用于代码片段的函数更高效.
让我们想象你的函数回声.这是:
加载GIST 45057F06F3DDD5C7BCE493954262C571
现在,要将此代码添加到您的主题,您将在您希望代码运行的位置添加此代码,将其添加到您的主题模板文件中:
加载GIST 8B56F9742C554AFF01E77D4AAD63EC
简单!您只需将此代码添加到主题中的相关模板文件中.
通过动作钩引导函数
替代品使用动作钩.这是允许您运行附加到它的代码的代码,每次WordPress遇到挂钩.
您可以使用WordPress已提供的挂钩,或者您可以创建自己的钩子.
在字体函数我上面写道的情况下,您可以使用WordPress:wp_enqueue_scripts
钩子提供的钩子.所以要解雇我的功能,我将在括号外添加:
加载GIST 76233077A815A728D57ADC589FFDD922
所以我的全功能看起来像这样:
加载GIST D791D151F52BBF823943897E0B4EC06A
现在让我们看看我可以写自己的钩子的一个例子.而不是将我的功能直接输出到我的主题模板文件(在这种情况下循环),我使用do_action()
添加一个动作钩子,然后将我的函数挂钩.
所以在我的模板文件中我添加这个:
加载GIST 93AFBA0B9C1BDD01FC49611437BB26F7
然后我将我的功能附加到那样,所以整个东西读取:
加载GIST 63FA39BedDCD098BA3919AE1414340F1
通过筛选器挂钩启动函数
其他类型的钩子是滤波器.在创建时,这将围绕某些代码或内容包裹,并且您的函数将覆盖该代码.如果要将某种东西归档为主题模板文件,但它是有用的,但让自己选择稍后将其推翻.WordPress还为您提供一系列过滤器挂钩,用于各种功能.
如果您不确定两种类型的钩子之间的区别,我们的操作指南和筛选挂钩将为您澄清一下.
这是一个例子:模板文件中的一块文本.
注意:我知道将文本直接写入模板文件不是最好的实践.我也知道这样做就是这样,没有内化也是糟糕的做法.但这是一个简单的例子,所以请不要在评论中打败我.
要将筛选器挂钩添加到模板文件中,使用筛选器名称的apply_filters()
函数作为第一个参数和默认内容为第二个参数:
加载GIST B860800AB600232F52A6643D3C8DA5F0
和这里你如何将附加到它的函数:
加载GIST D4C6F4EF94F4D90483E775E968D80EC0
注意函数后的add_filter()
函数与add_action()
函数非常相似.第一个参数是钩子的名称,第二个参数是函数的名称.另请注意,apply_filters()
函数通常在echo
之前,因为它会回应一些文本(在这种情况下,标题).
使用条件标签
当您使用挂钩启动您的功能时,可以将其与条件标签组合,以定义功能将触发的情况.
我经常看到人们出错的是条件标签的定位.逻辑可以告诉您,您只希望在特定情况下触发功能,因此您将条件标签放在功能外,右?
错误.
这里有两种方法,我已经看到了它,这两个都是错误.首先,将标签缠绕在动作钩周围:
加载GIST B1202F3C8A69F97061A5621FDE29E960
然后,围绕函数包装它-也是错误:
加载GIST 77A9D9DD25D27B11AAFEF2E321C6735A
唯一正确的方法是将条件标记放在函数内的代码周围.所以功能将在所有情况下发射,但如果不符合条件,那么什么都不会发生.
这是正确的方法来使用条件标记来检查单个帖子:
加载GIST A69C3E296F00365150782D7655AF1560F.
使用这样的条件标签使得事物更简单,更精确,并且对于功能强大使用.
知道如何编写和激活函数将KickStart启动
了解函数如何工作并能够编写它们是一个重要技能,如果您计划编写自己的WordPress主题和插件.使用本指南,您将确切地了解如何正确编写功能以及如何选择激活它们的方法.
VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/11667.html