WordPress 網頁設計初心者的第一支外掛

WordPress 網頁設計師的第一支外掛

剛開始接觸Wordpress是使用安裝主題及在wordpress.org找免費外掛,東拼西湊的將所需的功能整合。對於不會寫PHP的設計師來說著實很方便,但唯一美中不足的是我需要花很多時間測試外掛和確定外掛和主題他們能夠好好相處。

近期因為客戶提供了一個zip檔,內含html、css、js各一支檔案,主要功能為一個表單填表後送至預約訂房網站。此時腦子靈機一現,好像可以試試看寫一個小外掛。

註:此外掛沒有後台管理介面。因為這真的是一隻非常非常簡單的外掛。

正文:

在整個外掛根目錄v123-Fastbooking內有唯一一支php,

上方的註解文字是後台的外掛清單所呈[……]

Read more

WordPress 關閉自動更新 、 核心、主題、翻譯更新

WordPress 有一個很好的優點,就是可以線上自動更新主題、插件及翻譯,可以獲得很好的安全性,但這一項優點有時卻也是缺點,每次登入都去檢查更新除了速度會被拖慢外,直接在線上做更新是一個很危險的事,很容易造成相容性的問題而造成WordPress崩潰,這種情況就不是一般使用者能去應付的了,所以筆者習慣一段時間再開啟更新,檢查更新,確定完整備份完成後,再行更新,若發生問題,馬上就可以縮小範圍的去找出問題,更新的細節本篇先不討論,以下將介紹兩個關閉自動更新的方法。

方法一:透過wp-config.php來設定更新

這個方法最簡單,WordPress已經貼心地做了一個常數,讓我們簡單控制自動更新開啟與關[……]

Read more

WordPress http 強制重定向至 https

首先必須正確安裝好憑證,沒問題後才執行下列動作,讓 WordPress 強制重定向到Https的網址,本篇提供兩種方法

.htaccess

在 WordPress 安裝目錄下的 .htaccess 檔案最前方加入下列幾行

 RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

http to https through .htaccess

純 WordPress PHP 方式

當主機不支援 .htaccess 或[……]

Read more

WordPress jQuery 搜尋及替代文字

主題偷吃步 – jQuery 搜尋及替代文字

在設計WordPress時,常需要替換一些文字,但為了一點文字就去更改主題或子主題,有點殺雞用牛刀,況且為了這一點小東西直接去改主題並不是一個好選擇,除非永遠不去更新主題,否則主題更新後,問題又回來了,所以下方這段代碼算是偷吃步,用jQuery去替代文字就好,主題更新也不會有影響,雖然不正規,不過相當管用。

/*
   v123 DEV
   https://v123.tw
*/
jQuery(document).ready(function(e) {
	var textarea=jQuery('span.excerpt-hellip[......]

Read more

WordPress List all actions and filters

在插件開發的時候,有可能會去刪除或更動一些勾,但是又不可能全部的程式碼都看過,WordPress 把所有所有 actions 和 filters 都存在 $wp_filter 這個全域變數,我們可藉由列表這個變數,了解目前載入各種勾的情況,算是蠻幫助開發的。

列出所有 actions 和 filters

並不是很建議直接輸出所有勾的資料,記憶體可能會爆掉,可用下一個方法,輸出指定的Hook

/*
  List all actions and filters
  https://v123.tw
*/
add_action( 'wp_head', 'print_all_action_[......]

Read more

WordPress get_children() Not Working with orderby Parameter

get_children() 頁面排序不起作用

無法由Wordpress後台面板的排序欄位進行排序

解決方法:

請將orderby這個參數的值改為menu_order,並加入order這個參數即可,

示例如下:

$args = array(
	'post_parent' => $id,
	'order'       => 'ASC',
	'orderby'     => 'menu_order',
	'post_type'   => 'page', 
	'post_status' => 'publish',
);
$childr[......]

Read more