我創建了一個自定義帖子型別,我想使用自定義 Rest API 端點更新帖子內容。
我更新帖子內容的方式是使用函式wp_update_post。
到目前為止,所有作業都很完美。我的實際問題是,當我從儀表板打開帖子時,古騰堡編輯器使用塊顯示帖子內容,Classic如下面的螢屏截圖所示。
所以我想知道是否有任何 WordPress 功能可以將我從前端客戶端獲得的純 HTML 轉換為 Gutenberg 塊。
我搜索了很多,但我找不到任何東西。也許我錯過了一些東西。
當然,如果我找不到將純 HTML 轉換為 Gutenberg 塊的方法,這不是 Word 的結束,但如果我可以有這個選項,那就太好了 :)
先感謝您。

uj5u.com熱心網友回復:
在編輯器中,單擊經典塊內部以顯示背景關系選單,然后選擇“轉換為塊”。此操作將兼容的經典內容轉換為塊,并且適用于像您的示例這樣的簡單內容轉換為段落塊。

處理從原始 HTML 到塊的轉換的函式是serialize,一個來自塊 API 的 JavaScript 函式。我還沒有找到一個等效的核心 WordPress PHP 函式(從 6.0 開始)來將經典內容轉換為塊,所以我寫了一個簡單的函式來將純文本格式化為段落塊,例如:
php
/**
* Convert text to paragraph block markup that parse_blocks() will render
* @see https://developer.wordpress.org/reference/functions/parse_blocks/
*/
function convert_to_paragraph_block($text){
$content = '';
$paragraphs = preg_split('/\r\n|\r|\n/', $text); // split text on newline
foreach($paragraphs as $paragraph){
$content .= sprintf('<!-- wp:paragraph --><p>%s</p><!-- /wp:paragraph -->', $paragraph);
}
return $content;
}
如果您使用上述函式格式化來自 REST 端點的傳入內容,則保存的標記the_content將是:
<!-- wp:paragraph -->
<p>Lorem ipsum ...</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>Duis aute ...</p>
<!-- /wp:paragraph -->
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/503638.html
標籤:WordPress wordpress-古腾堡 古腾堡街区
上一篇:如何將變數的值增加100?
