首頁 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板