WordPress插件开发新手指南

WordPress插件开发新手指南

时间:2020-9-9 作者:gykj

WordPress CMS改变了我们互联网的面貌,并催生了许多新想法,其开放源代码运动在软件和软件领域拥有强大的影响力 Web开发

WordPress是一个博客 平台 可以启动许多其他脚本,例如网络论坛,工作委员会,甚至是经典的网页内容管理系统。

我们将介绍几种入门方法 外挂程式WordPress开发。这些步骤相对简单,不需要花费大量的精力进行研究。即使基本了解WordPress文件结构和“ 管理”面板,对PHP的基本知识也将很有用。

在这个简短的教程中,我们将介绍创建简单的WordPress插件所需的必要步骤。该功能将用于根据传递给函数调用的数字来开发动态摘录。

您需要上传插件文件并从“管理”面板激活它,然后在希望摘录显示的任何页面上调用我们的函数进行后续操作。本文稍后将添加指向完整插件源代码的链接:)

60+最想要的WordPress技巧和窍门(更新)

60+最想要的WordPress技巧和窍门(更新)

您是否曾经遇到过WordPress博客,看到过您喜欢和思考的东西;他们是如何做到的,…阅读更多

为什么要为WordPress开发?

插件是通过添加其他功能来增强博客功能的好方法。这些可以通过功能挂钩放置在模板内的任何位置。

随着时间的流逝,WordPress插件系统的可扩展性实现了巨大的增长,并开发了数百个开发人员提交的软件。WordPress在其CMS中明确提供了如此高级的功能,以至于很少有独特的插件。

作为开发人员,您可以完全控制Weblog的后端细节。雇用一个PHP开发人员来创建系统插件的成本比您想象的要高得多,并且该API相对容易使用和学习。

作为第二个论点,在WordPress上进行开发是将自己调整到其他领域的绝佳实践。在WordPress中构建较小的插件和侧栏小部件将有助于您了解后端系统的工作原理。

这不仅限于WordPress,因为您将对绝大多数内容系统有更深入的了解。

1. WP文件夹结构

WordPress文件夹结构的简介将显示主要的应用程序目录。在wp-content内,您将找到一个plugins目录。这是所有单个插件(单个文件或正确命名的子目录)所在的位置。

对于仅需要单个.php文件的小型插件,您可以选择将其直接放置在plugins /目录中。但是,当您开始开发更复杂的应用程序时,创建以您的插件命名的子目录会更加有用。

在内部,您可以容纳JavaScript,CSS和HTML包括以及PHP函数。

readme.txt,如果你在你提供的插件下载计划文件也可能是有用的。该文件应包括您的姓名和插件的功能。作为作者,您还可以考虑包括有关每个修订以及已发布哪些更新的详细信息。

2.启动您的PHP文件

创建新插件时,您需要从一个简单的PHP文件开始。可以命名为任何名称,但通常应反映您插件的正式名称。

因此,例如,我创建了基本代码,并将文件命名为hongkiat-excerpt.phps(保存并将其重命名为.php)。

插件的第一行必须是解析引擎的注释信息。

这非常重要,因为WordPress将无法处理您的文件。下面是一个示例代码片段,您可以将其复制并成型为自己的代码。

1个
2
3
4
5
6
7
8
<?php
/*
Plugin Name: Plugin Name here
Plugin URI: http://www.yourpluginurlhere.com/
Version: Current Version
Author: Name please
Description: What does your plugin do and what features does it offer...
*/

激活时,“插件名称”即显示在“管理后端”面板中。与URI相同,它将放置在插件面板内的详细信息窗格中。

尽管不需要包含版本或说明,但是它确实使您的插件看起来更加专业。

3. WordPress命名约定和最佳实践

有几种实际构造插件的方法。

PHP开发人员很多时候会创建一个完整的类系统,以避免与函数和变量名发生冲突。如果您不熟悉PHP的高级OOP功能,那么最好只在示例函数中编写代码。

因此,对于我们的示例代码,我们将编写一个函数来容纳我们的数据。我们还需要定义一些变量,这些变量对于在模板文件中实现至关重要。

以下是从我们的插件文件中获取的一些示例代码,其中删除了核心逻辑。

在编写示例代码时,最好遵循WordPress设置的法规和指南。由于已经定义了太多内部函数,因此可以通过在所有变量和函数名称前添加标签前缀来避免重复。

1个
2
3
4
5
6
7
<?php
define("HK_EXAMPLE_CONSTANT", "this is a value");
function hk_example_function( $limit ) {
  // Some code goes here.
}
?>

在上面的示例中,我们为所有设置名称加上hongkiat前缀。

可以用您选择的通常与您的插件名称相关的任何关键字替换它。上面的代码只是示例设置,不应该与我们最终的插件有关。

这只是为了让您了解如何编写变量名和函数调用。

4.分为过滤器和动作

在跳入原始代码之前,还有一个值得一提的概念。

操作过滤器是两个完全不同的概念,它们与操纵插件数据的方式真正相关。

这两段代码是WordPress API中的标准配置。过滤器和操作允许插件开发人员在整个WordPress管理面板中更新与您的新插件有关的代码。

这意味着您可以在侧栏中添加新标签,也可以为插件选项添加其他设置链接。

WordPress插件开发新手指南
了解add_filter()

滤波器是在一个位文本或数据的使用被传递到WordPress。使用过滤器,您实际上可以通过自己的自定义编写函数过滤内容,从而以任何方式更改数据。

例如,您可以创建一个要更改的过滤器,$the_content该过滤器是WordPress设置的变量,其中包含WordPress文章的整个帖子内容。

对于我们的插件,我们将$the_content摘录并缩短字符的长度。

在编写插件以自定义博客的外观时,过滤器非常有用。当编写侧栏小部件或较小的功能以更改帖子的显示方式时,这些功能尤其流行。

下面的代码示例代码显示了如何应用过滤器。

1个
add_filter('wp_title', 'hongkiat_func');

在这里,我们将过滤器添加到WordPress页面标题中。请注意,此代码与我们的官方插件无关,此处仅用作示例。

add_filter函数是WordPress的本机,用于向页面内容中的变量添加新的过滤器。

在上面的行中,我们定位$wp_title了包含当前页面标题的行。

然后,我们将此变量传递给一个伪造的标题为的函数hongkiat_func(),该函数可以出于任何目的操纵并返回新的title标签。

了解add_action()

操作与过滤器类似,因为它们不适用于数据的某些位,而是针对模板和管理面板中的预定义区域。例如,您可以在更新或编辑页面内容时应用操作。

WordPress 在其API文档中提供了完整的操作列表。以下是一些示例操作的清单,可让您熟悉一些预定义的目标区域。

  • publish_post –在发布帖子或状态更改为“已发布”时调用
  • save_post –从开始创建或更新帖子/页面时调用
  • wp_head –加载模板并运行wp_head()函数时调用
  • loop_end –通过WordPress循环处理最终帖子后立即调用
  • trackback_post –每当新的引用添加到帖子中时调用

再次,我们可以看到这段代码简化为多么简单。如果您能够理解操作和过滤器之间的区别,那么您将更接近于构建全面,有效的WordPress插件。

下面是另一行代码,用于初始化save_post钩子上的动作函数。再次澄清一下,这与我们当前正在开发的插件无关,仅用作理解该add_action()功能的示例代码。

1个
add_action('save_post', 'notify');

因此,在这里我们看到与之前类似的设置add_filter()。我们需要2个变量,第一个变量包含我们要定位的钩子的名称。

在这种情况下save_post,这意味着每当保存新帖子时,我们都将调用第二个位置(notify())中定义的函数。您显然可以将notify更新为您想要运行的任何函数名称,但是我们当前的示例插件并不需要这样做。

完成我们的插件逻辑

完成我们的路径后,我们将最终功能直接添加到我们的插件文件中。API文档非常具体,为可能遇到高级问题的开发人员提供了极好的资源。

如果您不熟悉PHP,但是花些时间了解概念,事情可能会很自然地开始!

以下功能应直接在插件的标题注释后添加。或者,也可以将其放置在主题functions.php文件中。

该代码用于基于有限范围的字符创建动态帖子内容。

因此,对于我们的示例,我们可以使用该hk_trim_content()函数将故事摘录限制为仅55个字符长。您可以轻松地从侧边栏小部件或您要替换的主题文件中调用此代码$the_content

1个
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function hk_trim_content( $limit ) {
  $content = explode( ' ', get_the_content(), $limit );
  
  if ( count( $content ) >= $limit ) {
    array_pop( $content );
    $content = implode(" ",$content).'...';
  } else {
    $content = implode(" ",$content);
  }
  
  $content = preg_replace('/\[.+\]/','', $content);
  $content = apply_filters('the_content', $content);
  return $content;
}
?>

不应期望您完全了解此处使用的所有内部变量或函数。大致了解应该如何编写函数以及示例集将是一个很好的开始。

您可能还会注意到,我们正在使用apply_filters另一个WordPress特定功能的调用。

这是您不需要完全掌握的另一个方面,但是对于以后通过WP进行编程确实有帮助。请查看apply_filters参考页面,以获取有关该主题的更多详细信息和常见问题解答。

上面的核心功能称为hk_trim_content()。这仅需要1个名为的参数$limit

这也可以缩短为$lim应该存储一个整数,该整数指定要限制摘录的字符数。内容用于完整的帖子页面和静态页面(关于我们,联系人)。

因此,为了调用此函数,我们需要将参数添加到模板文件中。它将放置在您index.phploop.php文件中的某个位置,并且需要您首先安装插件。下面的例子:

1个
<?php echo hk_trim_content(55); // display page content limited at 55 chars ?>

安装并运行插件

如果您想跳过硬编码,我已经为插件创建了一个示例文件进行演示。

只需下载此文件(将文件保存并重命名为.php)或将代码复制/粘贴到新的PHP文档中,然后将其上传到您的/wp-content/plugins目录中即可。

完成后,您将要访问WordPress管理面板并浏览您当前的插件集,以获取刚刚安装的演示。一旦激活,就不会发生新的事情,除非我们手动添加函数调用。

为此,只需导航Appearance -> Editor并查找single.php

该文件包含基本文章发布页面的所有模板HTML / CSS。向下滚动,直到找到the_content()并替换为上面的示例代码。无论使用哪种视图,这都会将您的所有文章页面限制为55个字符。

您也可以将此功能添加到模板目录中的类似页面,例如search.phparchive.php

结论

这些是使您开始从事WordPress开发工作的一些基础知识。插件系统非常庞大,并且包含大量内部功能。

如果您已经有了插件的想法,请在WordPress的本地安装上尝试一下以练习这些主题。

如果您仍然对很多信息感到困惑,可以查看WordPress文档并在其中搜索答案。

开发社区中充斥着乐于助人的用户,并且论坛保存了存档,其中包含了几年前的问题。

福州网站建设

版权所有:https://www.eraycloud.com 转载请注明出处