如果你發現網站上的熱門文章外掛 WordPress Popular Posts (WPP) 最近顯示異常,特別是標題或摘要出現了亂碼(Encoding artifacts),請別擔心,這是一個已知的版本錯誤,目前開發者已正式發布修復更新。
問題發現:[wpp] 短代碼導致的亂碼現象
在升級到 WPP 版本 7.3.7 後,我在使用 [wpp] 短代碼自定義輸出格式時,發現輸出的內容(如文章標題與摘要)會出現編碼解析錯誤的亂碼。當時我使用的短代碼參數如下:
[wpp range="last24hours" limit=10 thumbnail_width=75 thumbnail_height=75 excerpt_length=55 stats_views=true stats_author=true stats_date=true stats_date_format='Y-m-d' stats_category=true post_html='
<ul>
<li>{thumb}<a href="{url}">{text_title}</a>
<div class="wpp-excerpt">{excerpt}</div>
<div class="wpp-meta post-stats">{views_copy}|{author_copy}|{date_copy}|{category_copy}</div></li>
</ul>
']
即便參數設定正確,前台依然無法正常顯示文字。針對此問題,我第一時間前往 WordPress.org 的官方支援論壇回報給外掛開發者 Hector Cabrera。
https://wordpress.org/support/topic/encoding-issue-with-titles-and-excerpts-in-wpp-shortcode/
開發者回應與暫時解決方案
開發者 Hector 非常迅速地回應了這項回報,並確認他也能成功重現該錯誤。問題出在 src/Output.php 檔案中一段處理換行符號的正規表示式。在正式版本發布前,他提供了一個暫時性的手動修復方法:
找到 src/Output.php 第 241 行左右的代碼,並將其註解掉:
// $this->output = preg_replace('/\R+/', "\n", $this->output);
經過測試,這項修改能立即恢復正常的編碼顯示。
正式修復:請更新至 7.3.8 版本
在確認修復有效後,開發者已經正式發布了 7.3.8 版本。這個版本專門修正了在特定情況下可能發生的字符編碼問題(並在更新日誌中特別感謝了我的回報)。
https://cabrerahector.com/wordpress/wordpress-popular-posts-7-3-experimental-elementor-support/#7.3.8


更新日誌 7.3.8:
Fixes a character encoding issue that can happen under some circumstances (props to qwe987299 for the report!)
如果你目前的網站版本停留在 7.3.7,強烈建議立即前往 WordPress 後台執行更新,以確保熱門文章清單能正確顯示。
額外貢獻:繁體中文翻譯已提交
除了回報此錯誤,我也順手為 WPP 外掛貢獻了完整的 繁體中文(台灣) (zh_TW) 翻譯。目前翻譯內容已提交並等待 WordPress 官方團隊審核中,希望能讓更多台灣的使用者在操作時更加直覺。
https://translate.wordpress.org/projects/wp-plugins/wordpress-popular-posts/stable/zh-tw/default/
再次感謝開發者 Hector Cabrera 的高效處理,讓這個優秀的外掛能夠持續穩定運作!