如何分享 WordPress 文章草稿給團隊成員或朋友?
總會有文章寫到一半,想要諮詢友人的想法但對方對登入 WordPress 網站後台一點興趣都沒有的時候。
文章一但發佈,網站上的 SEO 外掛就會自動把文章提交給搜尋引擎索引,所以草稿狀態的文章不適合這樣做。(全自動化的缺點!?)
這時候可以運用 Post Draft Preview 或 Public Post Preview 這類外掛,在文章層級建立預覽 (preview) 連結,將文章草稿分享給團隊成員或朋友。
Post Draft Preview 外掛
安裝 Post Draft Preview 外掛之後,在編輯文章頁面的右上方可以看到 Enable PDP 啟用外掛功能的按鈕。
按下之後,就會產生「預覽連結」。
接著就可以將「預覽連結」複製並傳給朋友閱讀文章草稿了。
Public Post Preview 外掛
Public Post Preview 則是在文章狀態摘要區塊中新增了「啟用公開預覽」的功能,啟用之後一樣會產生預覽連結。
預覽連結預設的有效時間為 48 小時,一但超過時間就會失效,也確保草稿內容不會提前外流出去。
如果想要自訂有效時間,也可以參考官方外掛頁面中 FAQ 的說明。
自行撰寫 Code Snippet
當然,如果是熟悉程式碼的人,也可以使用 Code Snippet 寫出這個功能,不需要分享草稿文章的時候只要停用這段程式碼即可,相當的方便,不需要額外安裝第三方外掛。
將程式碼片段嵌入網站的方式都是相同的,可以將以下程式碼片段加到子佈景主題中,或是利用 Code Snippet 外掛,例如 (我們使用的) WPCodeBox 外掛,加入程式碼並啟用。
add_action('pre_get_posts', 'draft_post_preview');
function draft_post_preview($query) {
if (isset($_GET['pwd']) && $_GET['pwd'] == 'xyz1234') {
if ($query->is_main_query()) {
$query->set('post_status', array('publish', 'draft'));
}
}
}
這段代碼主要就是定義一個函式,檢查 query 參數中是否包含我們指定的「pwd」以及 pwd 的值是否一致。
如果一致就將文章狀態設定為考量「已發佈」與「草稿」狀態文章。
啟用這個程式碼片段之後,就可以將以下網址分享給團隊成員或朋友了。
https://yoursite.com/?p=123&pwd=xyz1234
當然,在正式使用這個程式碼片段之前,別忘了先在測試網站上確認一切運作正常,再拿到正式網站上使用喔!
結語
使用第三方外掛免不了會將一些資料 (例如產生的預覽網址) 儲存在資料庫中,而一般使用者架設 WordPress 網站最常遇到的問題也是因為時常安裝、試用了不少外掛,而導致資料庫中存有許多冗餘的資料。
而自行撰寫程式碼的好處就是,這麼簡單、簡短的代碼可以隨時啟用、停用,對網站的效能影響有限。
如果在架站、寫文章的過程中有類似的需求,希望這個分享能幫得上忙。
有什麼心得、想法或建議,也歡迎大家加入社團一起討論唷!