目录
$title
首页 CMS教程 &#&按 如何为编辑器创建自定义的WordPress短代码

如何为编辑器创建自定义的WordPress短代码

Feb 10, 2025 pm 04:27 PM

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

热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

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
如何开始WordPress博客:初学者的分步指南 如何开始WordPress博客:初学者的分步指南 Apr 17, 2025 am 08:25 AM

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

wordpress文章列表怎么调 wordpress文章列表怎么调 Apr 20, 2025 am 10:48 AM

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

如何在 WordPress 中获取登录用户信息以获得个性化结果 如何在 WordPress 中获取登录用户信息以获得个性化结果 Apr 19, 2025 pm 11:57 PM

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

如何在父分类的存档页面上显示子分类 如何在父分类的存档页面上显示子分类 Apr 19, 2025 pm 11:54 PM

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

如何在 WordPress 中按帖子过期日期对帖子进行排序 如何在 WordPress 中按帖子过期日期对帖子进行排序 Apr 19, 2025 pm 11:48 PM

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

对于初学者来说,WordPress容易吗? 对于初学者来说,WordPress容易吗? Apr 03, 2025 am 12:02 AM

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

如何使用 IFTTT 自动化 WordPress 和社交媒体(及更多) 如何使用 IFTTT 自动化 WordPress 和社交媒体(及更多) Apr 18, 2025 am 11:27 AM

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

如何在 WordPress 中显示查询数量和页面加载时间 如何在 WordPress 中显示查询数量和页面加载时间 Apr 19, 2025 pm 11:51 PM

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

See all articles