WordPress插件样板第2部分:开发插件
>
>本文将重点介绍创建和激活插件,以及开发插件的管理功能。为了遵循本教程,您需要对PHP和WordPress的基本了解,并且对WordPress插件API具有工作知识。钥匙要点
- >使用WordPress插件样板通过结构化的,有组织的方法加快开发过程,确保遵循最佳实践。
- >通过使用设置API添加选项页面来自定义插件,以允许用户修改设置,例如通知的显示位置以及后来考虑过时的几天。 >通过注册设置,添加设置字段以及使用样板中提供的类和方法来处理这些设置值的保存和检索。
- >通过为选项页面创建一个干净,用户友好的界面来优化插件的面向式功能,并确保正确保存和显示设置。 >
- >计划进一步增强,例如代码清理,国际化和更有选择性的应用程序逻辑,以完善插件的效率和用户体验。
- 关于插件的 >
- >我们将开发一个简单的插件,该插件将显示自上次更新特定帖子以来的天数。我们还将为插件提供几个简单的自定义,从而允许用户选择特定数量,然后将其视为过时的帖子,以及在帖子内容中的通知位置。 > 准备样板
>正如第一篇文章所述,我们可以下载样板的新副本,进行搜索并自行更换,或者我们可以使用非正式的WordPress插件样板生成器来加快流程。让我们将发电机用于插件。
>>前往WordPress插件生成器网站,并用适当的值填写表单。让我们称我们的插件为“过时的通知”。这是一个示例表格,其中填充了字段。
>>我正在为链接到官方存储库的插件URL使用一个假想的URL。不必太担心这些东西,因为我们始终可以在插件标题中对其进行修改。
>
单击“构建”按钮,您应该获得WordPress插件板的不错的自定义副本。
>安装和激活插件生成的邮政编码将包含两个预期的目录,资产和中继。我们不会在安装插件时使用Symlink路由,因此请在存档中提取中继文件夹并将其复制到WP-CONTENT/插件目录中。
>
>我们仍然需要适当地重命名以避免与其他插件的命名冲突,因此我们将把Trunk Directory重命名为过时的通用。如果您现在转到WP-Admin中的“已安装插件”部分,则可以肯定的是,您会看到插件已在已安装但尚未激活的插件列表中。插件样板生成器对插件描述没有更改任何内容,因此,如果要更改它,我们可以简单地在主插件文件中编辑描述,在我们的情况下,eutated-notice.php。
>单击“激活”以激活闪亮的新插件。您的WordPress网站上什么都不会改变,因此请不要担心激活插件后什么都看不到。
>
>插件开发人员通常为用户提供一种自定义插件设置的方法。这可以通过使用WordPress提供的设置API来实现。让我们看看如何将自己的设置集成到插件中。
> 简而言之,我们将允许用户在帖子内容之前或邮政内容之后选择通知出现的位置。就阈值的天数而言,用户可以设置要过时的帖子之前的天数。使用这些信息,我们将动态更改通知的类别,以便我们可以与仍然被认为是新鲜的帖子进行不同的样式。
>让我们开始添加一个插件的选项页面。
>>在管理文件夹中打开class-of-notice-admin.php。我们需要修改此类,以允许我们为插件注册设置页面。将此公共方法添加到班级结束时。
>>要注意的一件事是,由于我们正在使用类来定义钩子,因此我们需要以数组的形式传递一个数组(
<span>/** </span><span> * Add an options page under the Settings submenu </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function add_options_page() { </span> <span>$this->plugin_screen_hook_suffix = add_options_page( </span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ), </span> <span>__( 'Outdated Notice', 'outdated-notice' ), </span> <span>'manage_options', </span> <span>$this->plugin_name, </span> <span>array( $this, 'display_options_page' ) </span> <span>); </span> <span>}</span>
应该做到的。我们现在需要做的最后一件事是使用样板中提供的加载程序类正确加载它。在Include文件夹中打开您的类列出的notice.php,并添加我们在define_admin_hooks方法内定义的其他挂钩。在我们的选项页面上包含的适当操作挂钩是admin_menu,所以让我们添加它。
><span>/** </span><span> * Render the options page for plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function display_options_page() { </span> <span>include_once 'partials/outdated-notice-admin-display.php'; </span> <span>}</span>
>您现在应该在设置下查看附加的“过时通知”子菜单。您可以通过访问URL http:// /wp-admin/options-general.php?page=Outdated-notice。
>现在是一个空白页,所以让我们开始使用正确的标记填充部分文件。注册,保存和检索设置值
WordPress codex上的设置API页面提供了一个很好的解释,以说明如何注册我们自己的设置,包括在选项页面上显示它们。
这是我们将要做的事情的细分:
用样板加载器注册钩子
- 注册设置部分
- 注册两个设置字段(阈值天数和文本位置)
- 注册两个设置
- 填充选项页面
- 保存并重新播放显示字段。
- >将钩子注册到样板加载器
>
>要注册设置部分,我们将需要使用register_setting函数。适当的挂钩以初始化该函数是admin_Init。因此,首先,我们将在样板加载器中添加另一个钩子,以在我们的主样本类的Define_admin_hooks方法中注册我们的设置。为了使事情变得更简单,并为我们的选项名称提供了基本的命名空间,我们将在此类的顶部添加另一个私人变量。将此摘要放在Outed_notice_admin类的顶部。
从现在开始,我们将将此值预先为与我们的选项相关的任何事物。
><span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
注册设置部分
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
这个片段将允许我们使用add_settings_section函数为我们的选项页面注册一个“常规”部分。
<span>/** </span><span> * Add an options page under the Settings submenu </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function add_options_page() { </span> <span>$this->plugin_screen_hook_suffix = add_options_page( </span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ), </span> <span>__( 'Outdated Notice', 'outdated-notice' ), </span> <span>'manage_options', </span> <span>$this->plugin_name, </span> <span>array( $this, 'display_options_page' ) </span> <span>); </span> <span>}</span>
请注意,我们正在用变量$ option_name预列出我们的部分名称,以防止与其他插件发生冲突。回调可用于提供有关我们部分的其他信息,这正是我们想要的。
>我们将添加另一种公共方法,Outdated_notice_general_cb,该方法将呼应有关本节的基本信息。
<span>/** </span><span> * Render the options page for plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function display_options_page() { </span> <span>include_once 'partials/outdated-notice-admin-display.php'; </span> <span>}</span>
我们需要使用的设置API的下一部分是在选项页面上注册要渲染的实际字段。可以使用add_settings_field函数来实现这一点。
>我们将使用无线电按钮进行文本位置配置。这是通过将此代码添加到我们拥有的register_setting函数中来完成的。
>我们需要确保Add_settings_field的第五个参数将指向我们之前注册的正确设置部分,否则我们可能在我们的选项页面上看不到字段。
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
可以使用普通文本输入来配置一天阈值的第二个选项。因此,我们将注册另一个设置字段:
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
注册设置
<span>/** </span><span> * The options name to be used in this plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> * <span>@access private </span></span><span> * <span>@var <span>string</span> $option_name Option name of this plugin </span></span><span> */ </span> <span>private $option_name = 'outdated_notice';</span>
<span>// Add a General section </span> <span>add_settings_section( </span> <span>$this->option_name . '_general', </span> <span>__( 'General', 'outdated-notice' ), </span> <span>array( $this, $this->option_name . '_general_cb' ), </span> <span>$this->plugin_name </span> <span>);</span>
对于日期消费,我们将使用内置的PHP功能,即在我们的情况下足够。至于文本通知位置,我们将定义我们自己的消毒回调函数,这将仅允许将某些值保存到数据库中。当处理仅限于特定值的选项时,这一点特别有用,例如在这种情况下,我们只接受两个值之前和之后的值,因此我们的消毒回调将需要确保,如果值不是一个值这些,它不会被保存到数据库中。
这是一个简单的消毒回调函数,可以实现这一目标: >现在我们需要确保正确的页面渲染器。由于我们正在使用WordPress的方式注册我们的字段和设置,因此此任务特别简单。 >打开admin/partials文件夹内的过时的notice-admin-display.php。 以下是我们可以根据我们之前注册的设置渲染选项页面的方式。
>
>这意味着我们的表单正常工作,因此唯一需要完成的操作是在文本字段中显示当前值,并确保选中正确的广播按钮。
这是回调的更新片段。
这绝不是完整的。我们始终可以改善此插件的管理功能。我能想到的一些事情是: i18n(国际化)准备就绪 - 尽管我们在插件中广泛使用__()和_e(),但我们并没有真正完成实际的I18N过程。我不会在此处介绍此过程,因为该主题已经在SitePoint上进行了广泛讨论,例如在本文中。
>我们通过注册相关设置创建了一个带有基本管理功能的插件,并为用户创建一个选项页面以自定义我们的插件。在使用WordPress插件样板的时间相对较短的时间内,我们实现了这一目标而不损害代码质量,但仍按照WordPress建议的最佳实践。
> > WordPress插件样板,您可以在包含目录中创建新类。这些类应扩展样板提供的基类。然后,您可以将自己的方法添加到这些类中以实现所需的功能。您还可以根据需要修改现有的类和方法。 以将管理特定功能添加到插件中,您可以使用WordPress插入式Blookin Boblelplate的管理目录中提供的类和方法。该目录包括用于创建管理页面,添加设置字段和处理表单提交的类。 以将公共面向公共功能添加到您的插件,您可以使用WordPress插件样板的公共目录中提供的类和方法。该目录包括用于启动脚本和样式的类,以及显示面向公众的内容。 > 用于处理AJAX请求。这些类包括用于注册AJAX操作,处理AJAX请求和发送AJAX响应的方法。<span>/**
</span><span> * Add an options page under the Settings submenu
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> */
</span> <span>public function add_options_page() {
</span>
<span>$this->plugin_screen_hook_suffix = add_options_page(
</span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ),
</span> <span>__( 'Outdated Notice', 'outdated-notice' ),
</span> <span>'manage_options',
</span> <span>$this->plugin_name,
</span> <span>array( $this, 'display_options_page' )
</span> <span>);
</span>
<span>}</span>
填充选项页面
在注册所有相关设置之后,<span>/**
</span><span> * Render the options page for plugin
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> */
</span> <span>public function display_options_page() {
</span> <span>include_once 'partials/outdated-notice-admin-display.php';
</span> <span>}</span>
保存并重新填充字段
>
>尝试填充一些值并保存表单。您应该收到“保存设置”的通知。但是没有发生。让我们尝试对我们的两个选项进行var_dump。将其放在相关功能中。<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
<span>/**
</span><span> * The options name to be used in this plugin
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> * <span>@access private
</span></span><span> * <span>@var <span>string</span> $option_name Option name of this plugin
</span></span><span> */
</span> <span>private $option_name = 'outdated_notice';</span>
代码清理 - WordPress插件样板具有许多有用的功能,但是在我们的情况下,管理方面,CSS和JS加载是完全不必要的。我们随时可以从我们的代码库中删除它。
结论
> WordPress插件样板是什么,为什么要使用它?它提供了一个易于理解和使用的清晰,一致的结构。使用此样板可以为您节省大量的时间和精力来设置插件的基本结构。它还可以确保您的插件遵循WordPress编码标准和最佳实践,这可以帮助防止错误和兼容性问题。>
>我如何开始使用WordPress plugin Boilerplate?使用WordPress插件样板,您首先需要从其GitHub存储库下载它。下载后,您可以重命名样板的目录和文件以匹配插件的名称。然后,您可以通过在样板的现有结构中添加自己的自定义功能来开始开发插件。>如何处理WordPress插件样板中的插件设置?
>如何在插件中添加Admin特定功能?
>如何将面向公共的功能添加到我的插件中?
如何使用WordPress插入式插件国际化我的插件?
>
>在使用WordPress plubin Boblein blogin blogin Plate时,我如何调试我的插件?插件样板可以通过多种方式完成。一种常见的方法是在wp-config.php文件中使用wp_debug常数。这将显示PHP错误,通知和警告。您还可以使用可用于WordPress的各种调试插件,也可以使用PHP的内置错误记录功能。
以上是WordPress插件样板第2部分:开发插件的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

博客是人们在网上表达观点、意见和见解的理想平台。许多新手渴望建立自己的网站,却因担心技术障碍或成本问题而犹豫不决。然而,随着平台不断发展以满足初学者的能力和需求,现在开始变得比以往任何时候都更容易。 本文将逐步指导您如何建立一个WordPress博客,从主题选择到使用插件提升安全性和性能,助您轻松创建自己的网站。 选择博客主题和方向 在购买域名或注册主机之前,最好先确定您计划涵盖的主题。个人网站可以围绕旅行、烹饪、产品评论、音乐或任何激发您兴趣的爱好展开。专注于您真正感兴趣的领域可以鼓励持续写作

有四种方法可以调整 WordPress 文章列表:使用主题选项、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代码(在 functions.php 文件中添加设置)或直接修改 WordPress 数据库。

您想了解如何在父分类存档页面上显示子分类吗?在自定义分类存档页面时,您可能需要执行此操作,以使其对访问者更有用。在本文中,我们将向您展示如何在父分类存档页面上轻松显示子分类。为什么在父分类存档页面上显示子分类?通过在父分类存档页面上显示所有子分类,您可以使其不那么通用,对访问者更有用。例如,如果您运行一个关于书籍的WordPress博客,并且有一个名为“主题”的分类法,那么您可以添加“小说”、“非小说”等子分类法,以便您的读者可以

最近,我们向您展示了如何通过允许用户将自己喜欢的帖子保存在个性化库中来为用户创建个性化体验。您可以通过在某些地方(即欢迎屏幕)使用他们的名字,将个性化结果提升到另一个水平。幸运的是,WordPress使获取登录用户的信息变得非常容易。在本文中,我们将向您展示如何检索与当前登录用户相关的信息。我们将利用get_currentuserinfo(); 功能。这可以在主题中的任何地方使用(页眉、页脚、侧边栏、页面模板等)。为了使其工作,用户必须登录。因此我们需要使用

过去,我们分享过如何使用PostExpirator插件使WordPress中的帖子过期。好吧,在创建活动列表网站时,我们发现这个插件非常有用。我们可以轻松删除过期的活动列表。其次,多亏了这个插件,按帖子过期日期对帖子进行排序也非常容易。在本文中,我们将向您展示如何在WordPress中按帖子过期日期对帖子进行排序。更新了代码以反映插件中更改自定义字段名称的更改。感谢Tajim在评论中让我们知道。在我们的特定项目中,我们将事件作为自定义帖子类型。现在

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

我们的一位用户询问其他网站如何在页脚中显示查询数量和页面加载时间。您经常会在网站的页脚中看到这一点,它可能会显示类似以下内容:“1.248秒内64个查询”。在本文中,我们将向您展示如何在WordPress中显示查询数量和页面加载时间。只需将以下代码粘贴到主题文件中您喜欢的任何位置(例如footer.php)。queriesin

您是否正在寻找自动化 WordPress 网站和社交媒体帐户的方法? 通过自动化,您将能够在 Facebook、Twitter、LinkedIn、Instagram 等平台上自动分享您的 WordPress 博客文章或更新。 在本文中,我们将向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 轻松实现 WordPress 和社交媒体的自动化。 为什么要自动化 WordPress 和社交媒体? 自动化您的WordPre
