WordPress 文章網址包含分類及子分類

以 hello-world 文章為例,這是一般文章內容頁網址結構:

https://example.com/hello-world

把這篇文章加在某一分類,假設文章加入 news 分類裡,並希望文章內容頁網址結構如下:

https://example.com/news/hello-world

設定固定網址

以管理員身分登入WordPress後台

左側選單,設定 > 固定網址

就醬~~[……]

Read more

WordPress 修改摘要擷取字數

WordPress 在設定中可以設定顯示摘要的篇數,但沒有原生的設定可以設定列表文章摘要擷取字數,我們可透過 excerpt_length  這個 Hook 去修改需要顯示的字數。

可以參考下面這一段,將這段代碼加在主題的 functions.php 這個檔案最下方即可。

當然也可以做一點運用上的變化,下方代碼加上不同頁面顯示不同字數

參考資料:

https://www.wpbeginner.com/wp-themes/how-to-display-post-excerpts-in-wordpress-themes/

[……]

Read more

WordPress 修改列表文章摘要擷取字數

WordPress 在設定中可以設定顯示摘要的篇數,但沒有原生的設定可以設定列表文章摘要擷取字數,我們可透過 excerpt_length  這個 Hook 去修改需要顯示的字數。

可以參考下面這一段,將這段代碼加在主題的 functions.php 這個檔案最下方即可。

[……]

Read more

WordPress 使用 Namespace Warning call_user_func_array() expects parameter 1 to be a valid callback

在開發 WordPress Plugin 常用字串來代表 functions ,最常用的莫過於add_action() &add_filter()

實際上在 WordPress API 中是用 php call_user_func() 來執行傳入的 function,但到了執行階段並沒有辦法直接調用在 Namespace 中的 function , 否則 Namespace 就沒意義了。

所以在 Namespace 文件中用上述的方法呼叫

會得到下列錯誤訊息,主要是找不到傳入的 function

Warning call[……]

Read more

WordPress Contact Form 7 (CF7) 新增自訂義欄位

Contact Form 7 這插件應該不用我多說了,是WordPress百萬級插件,但他的表單欄位有限,是一些常用的欄位,這樣怎麼能應付刁鑽的客戶呢?本篇介紹幾種方式新增自訂義欄位

  1. 透過 CF7 shortcode 來建立自訂義欄位。
  2. 透過 CF7 的 wpcf7_form_elements 這個 filter 新增自訂欄位HTML。
  3. 透過 WP shortcode 新增自訂欄位HTML。

透過 CF7 shortcode 來建立自訂義欄位。

Contact Form 7 提供的 shortcode API 跟 WordPress 不同,Contact Form[……]

Read more

WordPress Load css or script in Footer

主題或外掛載入 CSS 或 JS 檔案

一般情況下,會在 Head 中載入 CSS & JS 檔,可參考此篇:
WordPress 插件或主題載入 CSS & JS 檔案

於 Footer 中載入 CSS 或 JS 檔案

放在 footer 中主要有兩種情況,不那麼重要的檔案,放在 Footer 中最後載入,可以增加頁面開啟的速度,另外一種就是主題或插件把 style 直接 output 在頁面中,我們在 Head 中載入的 CSS 無法覆蓋這些樣式,所以放到 Footer 以覆蓋這些樣式。

範例:

[……]

Read more

WordPress 文章不分頁顯示全部,不使用WP_Query(),使用pre_get_posts

不限制顯示文章筆數(文章不分頁)

在自訂頁面上顯示所有文章,我們可以用 WP_Query()  輕易達成, 在 posts_per_page 參數設為 -1 即可,但有時我們需要在主題頁面上顯示所有文章,但又不想再跟資料庫要一次資料,多少會影響效能,或是開發插件,並不會去動到主題,所以就沒辦法使用 WP_Query()  ,所以可以改使用 pre_get_posts  這個鉤子,去修改Main Query 參數,下方針對兩種方法作介紹。

使用 WP_Query()

pre_get_posts_fun

使用這個鉤子,要[……]

Read more

$wpdb get SQL string 取得mySQL查詢字串

$wpdb 取得MySQL查詢字串

WordPress 提供了 wpdb 這 Class 有很多方法可以操作資料庫,如果是用 wpdb 的內建方法來處理查詢,有時除錯會想看最終組出來送到資料庫的查詢字串,只要 echo $wpdb->last_query ,就可以取得囉。

範例:

參考:

[……]

Read more