搜索
首页CMS教程WordPress如何为编辑器创建自定义的WordPress短代码

How to Create Custom WordPress Shortcodes for Your Editors

WordPress Shortcode 速成指南:无需编码即可轻松嵌入HTML组件

WordPress 短代码为作者提供了一种便捷的方式,无需编写代码即可在渲染页面中插入HTML组件。这些短代码可以在插件代码中创建,也可以放置在主题的functions.php文件中。

短代码的关键优势:

  • 简化HTML嵌入: 轻松添加复杂的HTML内容,而无需直接编写HTML代码。
  • 参数化定制: 通过参数自定义短代码的输出,实现灵活的个性化设置。
  • 嵌套功能: 支持短代码嵌套,构建更复杂的页面功能。
  • 提高效率: 简化内容管理,提高内容创作效率。

建议创建一份短代码速查表,包含各种示例,尤其是在处理复杂功能时,这将使内容管理更加便捷和用户友好。

短代码创建位置:

通常,为自定义插件创建的短代码应放置在插件代码本身中。但是,您也可以将短代码定义放置在主题的functions.php文件中。更实用的方法是创建一个单独的shortcodes.php文件,然后使用以下语句将其包含在functions.php中:

include('shortcodes.php');

第一个“Hello World”短代码:

短代码定义包含:

  1. 一个返回HTML代码字符串的函数;
  2. 对WordPress add_shortcode() 钩子的调用,该钩子将短代码文本定义绑定到该函数。

最基本的示例:

// "Hello World" 短代码
function shortcode_HelloWorld() {
  return '<p>Hello World!</p>';
}
add_shortcode('helloworld', 'shortcode_HelloWorld');

保存文件,然后在页面或文章中输入[helloworld]。访问该页面,您将看到它已被替换为“Hello World!”段落。

短代码参数:

短代码可以具有可选参数,例如:

<code>[sitemap title='网页列表', depth=3]</code>

参数作为数组传递给短代码函数作为第一个参数。生成页面层次结构站点地图的完整代码:

// sitemap 短代码
function shortcode_GenerateSitemap($params = array()) {

  // 默认参数
  extract(shortcode_atts(array(
    'title' => '站点地图',
    'id'    => 'sitemap',
    'depth' => 2
  ), $params));

  // 创建站点地图
  $sitemap = wp_list_pages("title_li=&depth=$depth&sort_column=menu_order&echo=0");
  if ($sitemap) {
    $sitemap =
      ($title ? "<h2 id="title">$title</h2>" : '') .
      '<ul>' . $sitemap . '</ul>';
  }

  return $sitemap;
}
add_shortcode('sitemap', 'shortcode_GenerateSitemap');

shortcode_atts() 函数在需要时为参数分配默认值。然后,PHP extract() 函数将每个数组值转换为实际变量 $title$id$depth。(如果您使用的是PHP 5.4或更高版本,则可以使用较短的[...]语法替换array(...)。)在任何文章或页面中添加[sitemap]短代码,并根据需要更改参数,例如[sitemap depth=5]

嵌套BBCode短代码:

BBCode(公告板代码)是一种轻量级标记格式,与标准短代码一样,使用[方括号]来表示命令。这允许短代码包含文本内容或彼此嵌套。假设您的页面需要引用和通用的号召性用语按钮。创建一个单个短代码是不切实际的,尤其是在按钮可以单独使用或嵌入到引用中时。我们可能需要这样的HTML:

include('shortcodes.php');

当编辑器非常熟悉HTML时,这可能会出错。幸运的是,短代码提供了一种更简单的途径,例如:

// "Hello World" 短代码
function shortcode_HelloWorld() {
  return '<p>Hello World!</p>';
}
add_shortcode('helloworld', 'shortcode_HelloWorld');

标签之间的内容作为第二个参数传递给短代码函数。我们可以创建两个短代码函数:

<code>[sitemap title='网页列表', depth=3]</code>

请注意do_shortcode($content)函数的使用,该函数在存在时将进一步的短代码应用于内容。短代码易于实现,并且可以快速更改或增强。我建议创建一个包含示例的短代码速查表,以便编辑器在需要复杂功能时可以参考。

How to Create Custom WordPress Shortcodes for Your Editors

(文章部分内容由SiteGround赞助提供。感谢您支持使SitePoint成为可能的合作伙伴。)

以上是如何为编辑器创建自定义的WordPress短代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
WordPress的插件生态系统如何增强其CMS功能?WordPress的插件生态系统如何增强其CMS功能?May 14, 2025 am 12:20 AM

WordPressPluginsscmscmscapabilities byferingCustomization和Functionality.1)超过50,000pluginsallowuserstalostailortheortheortheortheirsiteirsiteforseo,e-Commerce和security.2)pluginScaneCanextendCorefeatures,likeaddingcustostostposttypes.3 bullycanc.3)

WordPress适合电子商务吗?WordPress适合电子商务吗?May 13, 2025 am 12:05 AM

是的,WordPress非常适合做电商。 1)通过WooCommerce插件,WordPress可以快速变成功能全面的在线商店。 2)需要关注性能优化和安全性,定期更新和使用缓存、安全插件是关键。 3)WordPress提供了丰富的定制选项,提升用户体验和SEO优化效果显着。

如何在 Yandex 网站管理员工具中添加您的 WordPress 网站如何在 Yandex 网站管理员工具中添加您的 WordPress 网站May 12, 2025 pm 09:06 PM

您想将您的网站连接到Yandex网站管理员工具吗?Google搜索控制台、Bing和Yandex等网站管理员工具可帮助您优化网站、监控流量、管理robots.txt、检查网站错误等。在本文中,我们将分享如何在Yandex网站管理员工具中添加您的WordPress网站来监控您的搜索引擎流量。什么是Yandex?Yandex是一个位于俄罗斯的流行搜索引擎,类似于Google和Bing。您可以在Yandex中优

如何修复 WordPress 中的 HTTP 图片上传错误(简单)如何修复 WordPress 中的 HTTP 图片上传错误(简单)May 12, 2025 pm 09:03 PM

您需要修复WordPress中的HTTP图片上传错误吗?当您在WordPress中创建内容时,此错误可能会特别令人沮丧。当您使用内置WordPress媒体库将图像或其他文件上传到CMS时,通常会发生这种情况。在本文中,我们将向您展示如何轻松修复WordPress中的HTTP图片上传错误。WordPress媒体上传过程中出现HTTP错误的原因是什么?当您尝试使用WordPress媒体上传器将文件上传到Wo

如何修复添加媒体按钮在 WordPress 中不起作用的问题如何修复添加媒体按钮在 WordPress 中不起作用的问题May 12, 2025 pm 09:00 PM

最近,我们的一位读者报告说,他们的WordPress网站上的“添加媒体”按钮突然停止工作。此经典编辑器问题不会显示任何错误或警告,这使用户不知道为什么他们的“添加媒体”按钮不起作用。在本文中,我们将向您展示如何轻松修复WordPress中的“添加媒体”按钮不起作用的问题。是什么导致WordPress“添加媒体”按钮停止工作?如果您仍在使用旧的经典WordPress编辑器,那么“添加媒体”按钮允许您将图像、视频等插入博客文章中。

如何设置、获取和删除 WordPress Cookie(像专业人士一样)如何设置、获取和删除 WordPress Cookie(像专业人士一样)May 12, 2025 pm 08:57 PM

您想了解如何在WordPress网站上使用cookie吗?Cookie是在用户浏览器中存储临时信息的有用工具。您可以使用此信息通过个性化和行为定位来增强用户体验。在本终极指南中,我们将向您展示如何像专业人士一样设置、获取和删除WordPresscookie。注意:这是一个高级教程。它要求您精通HTML、CSS、WordPress网站和PHP。什么是Cookie?Cookie是用户访问网站时创建并存储在用户浏览

如何修复 WordPress 429 请求过多错误如何修复 WordPress 429 请求过多错误May 12, 2025 pm 08:54 PM

您是否在WordPress网站上看到“429请求过多”错误?此错误消息意味着用户向您网站的服务器发送了太多HTTP请求。此错误可能会非常令人沮丧,因为很难找出导致该错误的原因。在本文中,我们将向您展示如何轻松修复“WordPress429TooManyRequests”错误。是什么原因导致WordPress429请求过多错误?“429TooManyRequests”错误的最常见原因是用户、机器人或脚本尝试向网站

WordPress作为大型网站的CMS有多可扩展?WordPress作为大型网站的CMS有多可扩展?May 12, 2025 am 12:08 AM

WordPressCanHandLeLArgeWebsitesWithCareFulplanningAndOptimization.1)USECACHINGTOREDUCESERVERVERLOAD.2)优化YourdataBaseRegularly.3)actizeyourdatabaseregularly.3)ackdntododistibutecontent.4))

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热门文章

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境