如何在 WordPress 中創建簡碼

已發表: 2022-12-05

您是否需要在 WordPress 網站帖子或頁面上運行或顯示自定義 PHP 代碼的結果? 由於默認情況下 WordPress 不允許您在帖子或頁面中運行 PHP 以採取安全預防措施,您可能已經考慮使用插件來啟用在您的帖子或頁面上使用 PHP 代碼。 實際上,您可以在不安裝任何額外插件的情況下運行代碼,只需創建一個簡碼,您可以將代碼添加到單獨的 PHP 文件中,或者您可以將代碼放在主題functions.php中,然後使用您創建的簡碼來在您的網站帖子或頁面上顯示結果!

什麼是簡碼?

隨著 WordPress 2.5 的 Shortcode API 的發布而引入,shortcode 允許您以最小的努力添加功能,而這些功能通常需要在方括號內的一行中添加大量複雜的代碼,例如[thisone] 。 許多 WordPress 插件過去都提供短代碼,以大大簡化顯示複雜函數結果的過程。 例如,像 WooCommerce 這樣的流行電子商務插件也有幾個預製的簡碼,對於使用該平台的任何店主來說都非常有用。

然而,自從塊編輯器 (Gutenberg) 取代了經典編輯器以來,許多插件開始提供塊,因為它更容易並且具有漂亮的視覺佈局。 但是,如果您有編碼知識或者您有一些代碼可以為您的網站添加額外的功能,那麼使用短代碼仍然是您可以嘗試的最佳選擇之一! 您可以閱讀我們之前的文章,了解如何使用 Gutenberg、Elementor 和 Divi 中的短代碼為您的博客文章添加預估閱讀時間。

在本教程中,我們將向您展示如何在 WordPress 中創建短代碼

如何創建簡碼

在創建短代碼之前,我們建議備份您的網站並使用子主題以避免在更新主題時破壞父主題或丟失更改,因為我們會將代碼添加到主題functions.php文件中。 要打開該文件,請從您的 WordPress 管理儀表板導航到外觀主題文件編輯器。 在出現的頁面上,單擊Theme Files列表中的Theme Functions( functions.php )以打開文件編輯器。

或者,您可以在主題文件夾中創建一個單獨的 PHP 文件(在大多數情況下位於wp-content themes “Your Theme” ),名稱為myshortcodes.php

創建文件後,您可以在該文件的 PHP 分隔符 ( <?php ?> ) 之間添加任意數量的代碼和短代碼。 然後你只需要在你的主題functions.php文件的底部添加一行代碼來告訴系統包含你對你的短代碼文件所做的任何更改。 代碼如下:

 包括('myshortcodes.php');

第 1 步:準備代碼

準備就緒後,準備要製作成簡碼的代碼。 代碼必須有一個函數並且返回時沒有副作用,因為短代碼本質上是一個過濾器。 對於本教程,我們使用 PHP 代碼來獲取字數,並通過將字數除以 260(成人每分鐘默讀的平均字數)來計算預計閱讀時間。 然後返回估計時間和一個短語中的字數,如下所示:

  • “1 分鐘閱讀(字數 121)”

將以下代碼放在主題functions.php的底部

 函數 reading_time() {
$content = get_post_field( 'post_content', $post->ID );
$word_count = str_word_count( strip_tags( $content ) );
$readingtime = ceil($word_count / 260);
$wcounttext = " (字數統計 ". $word_count .")";
如果($閱讀時間== 1){
$timer = "分鐘閱讀";
} 別的 {
$timer = "閱讀分鐘數";
}
$totalreadingtime = $readingtime 。 $計時器。 $wcount文本;
返回$總閱讀時間;
}

第 2 步:創建基本簡碼

下一步是為您準備的代碼創建一個基本的短代碼。 要創建短代碼,您可能需要遵循以下準則以避免錯誤:

  • 使用add_shortcode( string $tag, callable $callback )函數添加一個簡碼,而$tag是您要在帖子內容中搜索的簡碼名稱, $callback是調用您準備的代碼
  • 短代碼名稱應全部小寫(接受數字和下劃線)
  • 避免使用連字符 (-)
  • 添加前綴以使您的短代碼名稱唯一,以避免與另一個插件短代碼衝突。

準備就緒後,使用add_shortcode函數為您的代碼創建簡碼,並將簡碼名稱和代碼回調添加到函數參數,如下例所示:

 add_shortcode('wpbread', 'reading_time');

上面的短代碼是第 1 步中的估計閱讀時間代碼。我們使用'wpbread'作為短代碼名稱, 'reading_time'回調是我們後面的代碼函數名稱。 繼續將上述代碼添加到functions.php文件或自定義 PHP 文件中您從第 1 步準備的代碼下方,然後保存對其所做的更改。

第 3 步:使用簡碼

一旦短代碼準備就緒,在我們的例子中短代碼是 [wpbread],現在讓我們嘗試通過在內容上方或您選擇在內容編輯器中顯示它的任何地方添加短代碼來在您的一篇帖子中調用它。

現在,讓我們通過預覽或發布帖子來查看前端結果。

正如您從上面的屏幕截圖中看到的,在我們的內容上方有一個估計的閱讀時間,上面寫著我們寫的文章“閱讀 11 分鐘(字數 2775) ”。

底線

默認情況下,出於安全原因,WordPress 不允許您在帖子或頁面中運行 PHP。 但是,只需創建一個簡碼,您就可以將代碼添加到單獨的 PHP 文件中,或者將代碼放在主題的functions.php文件中,然後使用您創建的簡碼在您的網站帖子或頁面上顯示結果而無需安裝任何額外的插件。 短代碼允許您以最小的努力添加通常需要在一行中編寫大量複雜代碼的功能。

自從塊編輯器 (Gutenberg) 取代經典編輯器作為 WordPress 中發佈內容的一種方式以來,許多插件已經開始提供塊,因為它更容易並且具有漂亮的視覺佈局。 但是,如果您有編碼知識或者您有一些代碼可以為您的網站添加額外的功能,使用短代碼仍然是您可以嘗試的最佳選擇之一!