>
>本文将重点介绍创建和激活插件,以及开发插件的管理功能。为了遵循本教程,您需要对PHP和WordPress的基本了解,并且对WordPress插件API具有工作知识。钥匙要点
>前往WordPress插件生成器网站,并用适当的值填写表单。让我们称我们的插件为“过时的通知”。这是一个示例表格,其中填充了字段。
>>
单击“构建”按钮,您应该获得WordPress插件板的不错的自定义副本。
>安装和激活插件>
>我们仍然需要适当地重命名以避免与其他插件的命名冲突,因此我们将把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。
>现在是一个空白页,所以让我们开始使用正确的标记填充部分文件。注册,保存和检索设置值
这是我们将要做的事情的细分:
用样板加载器注册钩子
为了使事情变得更简单,并为我们的选项名称提供了基本的命名空间,我们将在此类的顶部添加另一个私人变量。将此摘要放在Outed_notice_admin类的顶部。
从现在开始,我们将将此值预先为与我们的选项相关的任何事物。
><span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>接下来是实际注册“设置”部分,设置字段和各个设置。再次打开OUTED_NOTICE_ADMIN类,然后添加公共方法寄存器。
注册设置部分
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>>在public Register_setting方法中,我们将注册设置部分。我不会对各种功能和API进行太多的研究,因为法典已经提供了足够的信息来开始。由于我们的插件设置相对简单,我们将仅注册一个部分。
这个片段将允许我们使用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>注册两个设置字段(阈值天数和文本位置)
>我们将使用无线电按钮进行文本位置配置。这是通过将此代码添加到我们拥有的register_setting函数中来完成的。
>我们需要确保Add_settings_field的第五个参数将指向我们之前注册的正确设置部分,否则我们可能在我们的选项页面上看不到字段。
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>>这还尚未完成。我们需要提供回调功能,以呈现我们的无线电按钮的实际标记。在我们的OUTED_NOTICE_POINTION_CB函数中,我们需要包括此代码块:
可以使用普通文本输入来配置一天阈值的第二个选项。因此,我们将注册另一个设置字段:
<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中识别。由于我们使用了两个不同的选项名称,即OUTED_NOTICE_POINTION和OUTED_NOTICE_DAY,因此我们将使用register_setting函数进行注册。
<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>请注意,寄存器_setting函数的第三个参数是消毒回调。尽管它是可选的,但要确保在保存到数据库之前对输入值进行消毒总是很有用的。
这是一个简单的消毒回调函数,可以实现这一目标: >现在我们需要确保正确的页面渲染器。由于我们正在使用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>
>与do_settings_sections and settings_fields功能的简单组合,您的选项页面完全可以立即完成。保存并重新填充字段
>
>尝试填充一些值并保存表单。您应该收到“保存设置”的通知。但是没有发生。让我们尝试对我们的两个选项进行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中文网其他相关文章!