WordPress 埋GTM行銷追蹤碼

當行銷人員丟給你兩段GTM行銷碼追蹤碼文件要埋在程式碼中,文件中應該會看到類似下方這兩句話

  • 請將這段程式碼放在網頁最上方<head>中
  • 請將這段程式碼複製到<body>開頭代碼正後方

簡單說就是一段放在<head>與</head>標籤區域中,另一段碼放在<body>標籤之後,由於 WordPress 的主題模板系統不像HTML靜態網頁一般,複製貼上到指定位置就可以了,網路上有其它教學,以修改主題檔案達成,但直接把追蹤碼貼到主題檔案中,雖然可行,但絕對不是一個好主意,只要主題更新,先前做的所有編輯將會消失,除非想每次更新主題就再編輯一次。

Wo[……]

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_user_func_array() exp[……]

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 7 shortcode AP[……]

Read more

jQuery TypeError: $(…). is not a function 簡單的解決方法

WordPress 開發插件,使用jQuery的時候出現下列錯誤

TypeError: $(…). is not a function

在 WordPress 中調用 jQuery 選擇器(Selector)不能使用金錢符號  $  ,原因我也不知道

要使用 jQuery 作為選擇器 (Selector)

但有些是以前寫的,要把它們運用在WordPress上前要把所有金錢符號  $  都改掉,有點麻煩,也可能會造成未知的Bug,因此,可以使用以下方法簡單解決這問題

解決方法:

於 jQuery 載入完成後加上以下程式:

[……]

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

使用這個鉤子,要把下列代碼,貼至主題根目錄下的 fu[……]

Read more