目錄
$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)

如何開始WordPress博客:初學者的分步指南 如何開始WordPress博客:初學者的分步指南 Apr 17, 2025 am 08:25 AM

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

對於初學者來說,WordPress容易嗎? 對於初學者來說,WordPress容易嗎? Apr 03, 2025 am 12:02 AM

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 Apr 19, 2025 pm 11:57 PM

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

如何在 WordPress 中按帖子過期日期對帖子進行排序 如何在 WordPress 中按帖子過期日期對帖子進行排序 Apr 19, 2025 pm 11:48 PM

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

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:51 PM

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

我可以在3天內學習WordPress嗎? 我可以在3天內學習WordPress嗎? Apr 09, 2025 am 12:16 AM

能在三天內學會WordPress。 1.掌握基礎知識,如主題、插件等。 2.理解核心功能,包括安裝和工作原理。 3.通過示例學習基本和高級用法。 4.了解調試技巧和性能優化建議。

See all articles