1 回答

TA貢獻1785條經驗 獲得超8個贊
我認為您的問題可能是$post_id
沒有正確定義或沒有傳遞給回調。另請注意,wp_title
自 WordPress 4.4 起已棄用,并且不適用于 5.4。
無論如何,WordPress 有一個get_post_type()函數,可以簡化事情。大多數 WordPress 功能不需要帖子 ID,它們將默認為全局$post
對象。
add_filter('pre_get_document_title', function($title) {
? ? $postType = get_post_type();
? ? if( $postType === 'product' || $postType === 'product_variation') {
? ? ? ? $title = str_replace(' .co.uk', '', get_the_title());
? ? }
? ? return $title;
}, 99);
正如您在下面所說的,帖子標題已手動更新,并.co.uk在 Yoast SEO 片段標題中添加了附加內容。
假設您有權訪問數據庫,糾正此問題的最佳方法是更新標題,完全消除問題,而不是嘗試對其進行修復。
Yoast 將其標題存儲在postmetaWordPress 數據庫的表中,鍵為_yoast_wpseo_title。要替換.co.uk這些標題中的所有添加內容,您可以運行如下查詢:
UPDATE `database_name`.`postmeta`
SET meta_value = REPLACE(meta_value, ' .co.uk', '')
WHERE meta_key = '_yoast_wpseo_title'
確保更改上面的查詢,以便這database_name是 WP 數據庫的正確名稱,如果數據庫表名稱有前綴,也請設置正確的表名稱postmeta。
- 1 回答
- 0 關注
- 101 瀏覽
添加回答
舉報