適合誰使用
使用 Slim SEO 免費版、且熟悉在 functions.php 加入程式碼的 WordPress 網站管理者
開始前準備
- 文章內容中已使用會出現問題的 shortcode 或區塊
- 能夠編輯佈景主題的 functions.php 檔案
教學內容
Shortcode 無法正常運作的原因
Slim SEO 在自動產生 meta description 時會先解析文章中的 shortcode
若 shortcode 涉及 session 或特殊邏輯,可能因此無法如預期運作,甚至造成頁面空白
設定略過特定 Shortcode
- 在佈景主題的 functions.php 檔案中加入使用
slim_seo_skipped_shortcodesfilter 的程式碼片段 - 在程式碼中填入該 shortcode 的名稱(僅名稱本身,不含屬性),例如將
my_shortcode加入陣列 - 若要略過多個 shortcode,可在同一個 filter 內加入多筆
$shortcodes[] = ... - 也可改用相反方向的
slim_seo_allowed_shortcodesfilter 來篩選允許的 shortcode 清單,此 filter 接受的是以 shortcode 名稱為鍵、callback 為值的關聯陣列 - 若要完全停用所有 shortcode 解析,可使用
add_filter( 'slim_seo_allowed_shortcodes', '__return_empty_array' )
設定略過特定區塊 (Blocks)
與 shortcode 類似,部分區塊可能也無法正常運作
- 使用
slim_seo_skipped_blocksfilter,在陣列中加入要略過的區塊名稱,例如namespace/your-block-name - 若要略過第二個區塊,可再加入一行
$blocks[] = 'namespace/your-2nd-block-name' - 也可改用
slim_seo_allowed_blocksfilter 篩選允許的區塊清單,此 filter 接受的是數字索引陣列,每個元素為一個區塊名稱 - 若只想允許核心區塊,可篩選出名稱以
core/開頭的區塊
介面名稱對照
slim_seo_skipped_shortcodes:用於指定要略過解析的 shortcode 名稱清單的 filterslim_seo_allowed_shortcodes:用於篩選允許被解析的 shortcode 清單的 filter,屬相反方向的過濾方式slim_seo_skipped_blocks:用於指定要略過解析的區塊名稱清單的 filterslim_seo_allowed_blocks:用於篩選允許被解析的區塊清單的 filter,接受數字索引陣列
