如何在 WordPress 中创建简码

已发表: 2022-12-05

您是否需要在 WordPress 网站帖子或页面上运行或显示自定义 PHP 代码的结果? 由于默认情况下 WordPress 不允许您在帖子或页面中运行 PHP 以采取安全预防措施,您可能已经考虑使用插件来启用在您的帖子或页面上使用 PHP 代码。 实际上,您可以在不安装任何额外插件的情况下运行代码,只需创建一个简码,您可以将代码添加到单独的 PHP 文件中,或者您可以将代码放在主题functions.php中,然后使用您创建的简码来在您的网站帖子或页面上显示结果!

什么是简码?

随着 WordPress 2.5 的 Shortcode API 的发布而引入,shortcode 允许您以最小的努力添加功能,而这些功能通常需要在方括号内的一行中添加大量复杂的代码,例如[thisone] 。 许多 WordPress 插件过去都提供短代码,以大大简化显示复杂函数结果的过程。 例如,像 WooCommerce 这样的流行电子商务插件也有几个预制的简码,对于使用该平台的任何店主来说都非常有用。

然而,自从块编辑器 (Gutenberg) 取代了经典编辑器以来,许多插件开始提供块,因为它更容易并且具有漂亮的视觉布局。 但是,如果您有编码知识或者您有一些代码可以为您的网站添加额外的功能,那么使用短代码仍然是您可以尝试的最佳选择之一! 您可以阅读我们之前的文章,了解如何使用 Gutenberg、Elementor 和 Divi 中的短代码为您的博客文章添加预估阅读时间。

在本教程中,我们将向您展示如何在 WordPress 中创建短代码

如何创建简码

在创建短代码之前,我们建议备份您的网站并使用子主题以避免在更新主题时破坏父主题或丢失更改,因为我们会将代码添加到主题functions.php文件中。 要打开该文件,请从您的 WordPress 管理仪表板导航到外观主题文件编辑器。 在出现的页面上,单击Theme Files列表中的Theme Functions( functions.php )以打开文件编辑器。

或者,您可以在主题文件夹中创建一个单独的 PHP 文件(在大多数情况下位于wp-content themes “Your Theme” ),名称为myshortcodes.php

创建文件后,您可以在该文件的 PHP 分隔符 ( <?php ?> ) 之间添加任意数量的代码和短代码。 然后你只需要在你的主题functions.php文件的底部添加一行代码来告诉系统包含你对你的短代码文件所做的任何更改。 代码如下:

 包括('myshortcodes.php');

第 1 步:准备代码

准备就绪后,准备要制作成简码的代码。 代码必须有一个函数并且返回时没有副作用,因为短代码本质上是一个过滤器。 对于本教程,我们使用 PHP 代码来获取字数,并通过将字数除以 260(成人每分钟默读的平均字数)来计算预计阅读时间。 然后返回估计时间和一个短语中的字数,如下所示:

  • “1 分钟阅读(字数 121)”

将以下代码放在主题functions.php的底部

 函数 reading_time() {
$content = get_post_field( 'post_content', $post->ID );
$word_count = str_word_count( strip_tags( $content ) );
$readingtime = ceil($word_count / 260);
$wcounttext = " (字数统计 ". $word_count .")";
如果($阅读时间== 1){
$timer = "分钟阅读";
} 别的 {
$timer = "阅读分钟数";
}
$totalreadingtime = $readingtime 。 $计时器。 $wcount文本;
返回$总阅读时间;
}

第 2 步:创建基本简码

下一步是为您准备的代码创建一个基本的短代码。 要创建短代码,您可能需要遵循以下准则以避免错误:

  • 使用add_shortcode( string $tag, callable $callback )函数添加一个简码,而$tag是您要在帖子内容中搜索的简码名称, $callback是调用您准备的代码
  • 短代码名称应全部小写(接受数字和下划线)
  • 避免使用连字符 (-)
  • 添加前缀以使您的短代码名称唯一,以避免与另一个插件短代码冲突。

准备就绪后,使用add_shortcode函数为您的代码创建简码,并将简码名称和代码回调添加到函数参数,如下例所示:

 add_shortcode('wpbread', 'reading_time');

上面的短代码是第 1 步中的估计阅读时间代码。我们使用'wpbread'作为短代码名称, 'reading_time'回调是我们后面的代码函数名称。 继续将上述代码添加到functions.php文件或自定义 PHP 文件中您从第 1 步准备的代码下方,然后保存对其所做的更改。

第 3 步:使用简码

一旦短代码准备就绪,在我们的例子中短代码是 [wpbread],现在让我们尝试通过在内容上方或您选择在内容编辑器中显示它的任何地方添加短代码来在您的一篇帖子中调用它。

现在,让我们通过预览或发布帖子来查看前端结果。

正如您从上面的屏幕截图中看到的,在我们的内容上方有一个估计的阅读时间,上面写着我们写的文章“阅读 11 分钟(字数 2775) ”。

底线

默认情况下,出于安全原因,WordPress 不允许您在帖子或页面中运行 PHP。 但是,只需创建一个简码,您就可以将代码添加到单独的 PHP 文件中,或者将代码放在主题的functions.php文件中,然后使用您创建的简码在您的网站帖子或页面上显示结果而无需安装任何额外的插件。 短代码允许您以最小的努力添加通常需要在一行中编写大量复杂代码的功能。

自从块编辑器 (Gutenberg) 取代经典编辑器作为 WordPress 中发布内容的一种方式以来,许多插件已经开始提供块,因为它更容易并且具有漂亮的视觉布局。 但是,如果您有编码知识或者您有一些代码可以为您的网站添加额外的功能,使用短代码仍然是您可以尝试的最佳选择之一!