在WordPress中,若想為新來的讀者帶來一點興趣,可以考慮加入一個隨機文章功能,雖然WordPress沒有內置這功能,但仍可透過簡單的copy and paste,將代碼貼到適當位置即可做到,不用額外安裝外掛、為伺服器帶來負擔。
隨機文章功能簡介
故名思義,用戶在輸入一條連結後,網站會自動隨機跳轉到一篇文章中,而每次的文章都可能不一樣。
例如輸入https://www.blowhk.com/random
,會跳轉到https://www.blowhk.com/drawio/
,再輸入https://www.blowhk.com/random
,會跳轉到https://www.blowhk.com/free-web-hosting-2018/
。
效果示範:https://www.blowhk.com/random
事前凖備
在添加隨機跳轉功能前,為免功能在更新主題時消失,需要先添加子主題,詳細教學在此:
添加功能
- 前往外觀-佈景主題編輯器
- 在界面右上角選擇你目前正在用的子主題
- 編輯functions.php,貼上以下代碼,可按需要顯示部分分類(即將介紹)
add_action('init','random_add_rewrite'); function random_add_rewrite() { global $wp; $wp->add_query_var('random'); add_rewrite_rule('random/?$', 'index.php?random=1', 'top'); } add_action('template_redirect','random_template'); function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($posts as $post) { $link = get_permalink($post); } wp_redirect($link,307); exit; } }
- 儲存後,即可前往
<你的WordPress網址>/random
,網站便會跳轉到隨機一篇文章中。
調整參數
此功能有少量參數可以調整,分別是跳轉的網址和分類。
若要修改網址,可修改以下熒光代碼,例:將random
轉做r
,便可轉入<你的WordPress網址>/r
來跳轉。
若要修改要顯示的分類,可以在$posts = get_posts('post_type=post&orderby=rand&numberposts=1
與')
之間添加&category=1,2,3,-4
按自已需要取締當中的1,2,3,-4,1,2,3為要顯示的分類ID,4為1,2,3的子分類,4前面的-
代表不顯示該分類,所以此例子是顯示ID1,2,3的分類,但不顯示ID4子分類。
想知道分類的ID,可到文章-分類,把鼠標放在分類上,無需點擊,在瀏覽器左下角便會看到分類ID。
參考資料
StackOverflow:https://stackoverflow.com/questions/8672401/get-random-post-in-wordpress
WordPress Developer Handbook:https://developer.wordpress.org/reference/functions/get_posts/
voidCoders:https://voidcoders.com/find-category-id-wordpress/