如何分享 WordPress 文章草稿給團隊成員或朋友?
總會有文章寫到一半,想要諮詢友人的想法但對方對登入 WordPress 網站後台一點興趣都沒有的時候。
文章一但發佈,網站上的 SEO 外掛就會自動把文章提交給搜尋引擎索引,所以草稿狀態的文章不適合這樣做。(全自動化的缺點!?)
這時候可以運用 Post Draft Preview 或 Public Post Preview 這類外掛,在文章層級建立預覽 (preview) 連結,將文章草稿分享給團隊成員或朋友。
Post Draft Preview 外掛
安裝 Post Draft Preview 外掛之後,在編輯文章頁面的右上方可以看到 Enable PDP 啟用外掛功能的按鈕。
![如何分享 WordPress 文章草稿給團隊成員或朋友? - Post Draft Preview image Post-Draft-Preview-image](https://www.quantsnote.com/wp-content/uploads/2023/12/Post-Draft-Preview-image-300x181.png)
按下之後,就會產生「預覽連結」。
![如何分享 WordPress 文章草稿給團隊成員或朋友? - Post Draft Preview 1 1 768x301 1 Post-Draft-Preview](https://www.quantsnote.com/wp-content/uploads/2023/12/Post-Draft-Preview-1-1-768x301-1-300x118.png)
接著就可以將「預覽連結」複製並傳給朋友閱讀文章草稿了。
Public Post Preview 外掛
Public Post Preview 則是在文章狀態摘要區塊中新增了「啟用公開預覽」的功能,啟用之後一樣會產生預覽連結。
![如何分享 WordPress 文章草稿給團隊成員或朋友? - public post preview public-post-preview](https://www.quantsnote.com/wp-content/uploads/2023/12/public-post-preview-204x300.png)
預覽連結預設的有效時間為 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 網站最常遇到的問題也是因為時常安裝、試用了不少外掛,而導致資料庫中存有許多冗餘的資料。
而自行撰寫程式碼的好處就是,這麼簡單、簡短的代碼可以隨時啟用、停用,對網站的效能影響有限。
如果在架站、寫文章的過程中有類似的需求,希望這個分享能幫得上忙。
有什麼心得、想法或建議,也歡迎大家加入社團一起討論唷!