Skip to content

艾瑞克的沼澤 Posts

【第 12 天】自定義 WordPress 文章類型

我們有時候會想自己定義的文章的類型,所以接著,我們就來看看如何註冊自定義文章類型,以及如何從資料庫中取得自定義文章類型內容並且把這些內容顯示給使用者。 自定義文章類型 WordPress 預設有五種文章類型,分別是 post, page, attachment, revision 和 menu。我們有時候,可能需要創建自定義文章類型,比如說:購物網站的商品、遊戲網站的遊戲。 註冊自定義文章類型 因此,我們可以使用 register_post_type() 函式來註冊一個自定義的文章類型。註冊之後,WordPress 會自動幫我們添加一個新文章類型菜單到 wp_psots 資料表中,我們就可以通過這個分類來創建文章。下面做個簡單的示範: function eric_custom_post_type() { register_post_type( ‘eric_type’, [ ‘labels’ => [ ‘name’…

【第 11 天】如何管理 WordPress metadata

metadata 就是關於資料的資料。簡單來說就是我們創建了類型為商品的自定義文章類型,其中價格就是 metadata 的一種,這個字串就會被存儲在 postmeta 文章 metadata 中。 WordPress 的主要資料(文章、評論、用戶、分類)和他們 metadata 的關係是一對多,也就是一個主要資料可以有很多 metadata 。所以,我們可以在 metadata 中存儲很多附加資訊。 管理文章 metadata 新增 metadata 我們可以使用 add_post_meta() 函式添加 metadata ,該函式接受一個 post_id、一個 meta_key、一個…

【第 10 天】如何修改 WordPress 的後台設置選項

WordPress 為了使管理介面更容易被建立,並且確保安全和一致性 提供了兩個核心 API 給開發者使用,分別是設置 API 和選項 API。設置 API 被用來提供了一種創建選單和管理選單資料。選項 API 則是我們提供一種簡單的 key-value 方式來管理設置資料。 設置 API 為什麼使用設置 API WordPress 2.7 之後增加的設置 API 可以讓我們半自動地管理含有設置表單的後台頁面,讓我們自定義設置頁面。讓我們可以輕輕鬆鬆的開發設置頁面。也就是說,我們使用 API 生成介面的元素後,可以確保我們的自定義設置頁面和WordPress…

【第 09 天】WordPress 的 Shortcode

為了安全,在 WordPress 的世界中,是禁止在內容中運行 PHP 程式碼的,不過有時候我們還是希望說可以動態新增一些內容,所以在 WordPress 2.5 版中引入了 shortcode。 shortcode 是用讓我們在不插入 PHP 程式碼的情況下,動態新增內容的一段 code,對文章動態的新增相簿、播放影片、加入表單,或者實現更多自定義的功能。 WordPress 本身就內建了以下幾個 shortcode: caption – 為圖片或影片添加說明 gallery – 顯示相簿 audio –…

【第 08 天】WordPress 管理選單

好了,我們現在會新增一個外掛,也會對外掛做點事情了,但是總覺得還是少點什麼,是不是可以更好? 對了,就是少了一個管理選單!管理選單是 WordPress 後台左側顯示的後台管理功能選單,可以讓我們為外掛或是主題客製化一個設置選項頁面,像是這樣 選單在 WordPress 後台的左側顯示,可以在裡面塞進子選單。 第一層選單 接著,我們來看看如何添加一個選單到我們的 WordPress 後台。我們可以使用 add_menu_page() 函式來做新增。 <?php add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = ”,…

【第 07 天】WordPress 如何 Debug?

前幾天,我們開始試著在 WordPress 埋了 hook ,用了自己的 hook ,也用了 WordPress 提供的幾個好用的 hook 。在這過程,應該有些人跟筆者有一樣的困擾,就是噴了狀態碼 500 ,也只能雙手一攤盲測(誤) 其實,WordPress 也有提供 debug mode 可以使用,接著就來講講 WordPress 提供的 debug mode。 開啟 WordPress Debug…

【第 06 天】WordPress 啟用、停用、刪除外掛

啟用、停用、刪除外掛?阿不就去 WordPress 後台的外掛列表,動動手指頭按下去就好了? 當然不是這樣了,不然我這是來搞笑的嗎? 今天要聊的是三個的 hooks!透過這三個 hook 可以在自己的外掛被啟用、停用或是刪除的這一瞬間,做點事情。 Set the activation hook for a plugin. 首先第一個是 register_activation_hook() ,官方的介紹是『Set the activation hook for a plugin.』,簡單來說就是設置外掛啟動時的 action hook。我們直接拿官方文件上的範例來看。 function…

【第 05 天】聊聊 WordPress 的 Filter Hooks

今天來介紹一下 Filter Hooks ,這是 WordPress 的另一種 hook,可以讓我們通過某個 Filter 鉤子上的呼叫函式來修改某些函式產生的數據。 如同昨天,在使用 filter hook 之前,我們來看看怎麼埋的。 WordPress 同樣的,提供了一個好用的函式讓我們可以埋 filter hook ,叫做 apply_filters()。 $c = apply_filters(‘do_something’,$a, $b); // 埋下一個名叫 do_something…

【第 04 天】Filter Hooks

今天來介紹一下 Filter Hooks ,這是 WordPress 的另一種 hook,可以讓我們通過某個 Filter 鉤子上的呼叫函式來修改某些函式產生的數據。 接著我們要來試看看 filter hook ! 我們可以通過兩個步驟新增一個函數到某個 filter  上面。 創建一個自己定義的回呼函式(Callback function) 使用 add_filter() 函式,把這個函式增加到對應的 filter上面 add_filter() 也一樣至少需要兩個參數,第一個是 hook…

【第 03 天】第一個 WordPress 外掛

接著,我們要開始來建立第一個 WordPress 外掛囉! 在這之前,我們先來快速地檢視看看,WordPress 怎麼去知道我們的一個外掛。就是 WordPress 會搜索 wp-content/plugins 目錄(及其子目錄,也就是插件自己的目錄),來查找帶有 WordPress 外掛 header comments 的PHP 文件。 建立第一個外掛 整個流程大概是這樣的,因此我們第一步就先到 WordPress 的 wp-content/plugins 路徑下創建一個全新的資料夾吧,資料夾命名為這個外掛的名稱,接著切換到這個資料夾中,創建一個 PHP 檔案(我個人習慣和資料夾同名稱,你也可以自己隨意命名)。 如果你是 CLI…