需求背景
情境描述
- 一篇文章可能有多個作者
- 編輯群可以幫作者新增一篇文章
使用套件
建議閱讀
- 網站開發人員
WordPress系統角色介紹
前情提要,在這邊文章寫到,WordPress預設跟文章有關係的角色權限有三個:Editor、Author、Contributor。因為都會新增、修改、刪除文章的行為,所以基本也就有登入WordPress管理後台的權限。對於一個相對多作者參與的網站,其文章很多都是互相交叉授權,不一定是作者有義務或時間來到網站上面新增文章,通常,是頃向由網站維護資料的人員,代為做文章上稿。
- 減少開立具有管理後台登入的編輯權限,減少被有心人利用的可能性。
- 多數帳號到後期會容易疏於管理,管理還需要費心去一一確認有效性。
系統實作角度,可以透過下面方式:
- 使用Custom Post Type UI套件創建一個新的類型叫作者群,並將作者群類型,依附到所有的Post類別
- 使用Advanced Custom Fields套件,擴充作者群有作者分類的功能
作者群可以點選1到多個,文章正式發佈以後,前端頁面就會顯示出來。
先透過Custom Post Type UI(CPT UI),建立新的文章類別(Post Types)跟分類(Taxonomies)
文章類別(Post Types)
-新建立一種貼文,叫做作者群,例如Title(作者名稱)、Featured Image(作者頭像用)
– Slug可以自由設定 , 建議用英文,因為它也是有可能顯示在網誌上的路徑之一。
– Label部分就是看得到的敘述,你可以直接打中文,這邊直接用作者群。
– Supports這邊,挑選最常用到的欄位就好。
分類(Taxonomies)
– 作者群也會有分類,例如可能想分編輯、校稿等等,你可以在分類這邊擴充。
– 將此分類,加掛載在作者群這個類別,以後你在作者群加作者,就可以挑選分類了。
– 當你的分類加載成功,切換回剛剛的類別,就會看到它有這個分類了
將作者群跟文章綁定
這邊透過Advanced Custom Fields(ACF),設定關聯,新增一個關聯叫做設定作者(這個以後,每一篇文章都會有一個設定作者的區塊)
相關關聯參數如下,指定,當文章類型是部落格貼文(Blog Post),而且不屬於我們剛剛建立的作者群,就允許可以設定作者。
前端顯示設定
最近愛用的套件是AnyWhere Elementor,需要使用到付費版本,所幸它費用不高,直接買到Life Time版本也不貴。
這邊使用它的Widget叫做Post Blocks Adv,Primary Block Layout可以自訂範本,設定排列方式。
Query是重點,要將資料關聯起來,才抓得到文章其設定作者,被選定的作者資料,cwriter就是第一個步驟設定的Slug,在這當作關聯的橋樑。