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

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

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-02-10 16:27:10
原创
419 人浏览过

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>$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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板