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

WordPress get same level post id of current post

取同層級頁面id

/**
	取同層級頁面id
	bool $with_parent = true ; 包含父層id
	return array
	
	https://v123.tw
*/
function v123tw_get_same_level_post_id_of_current_post($with_parent=false){
	if(!$id = get_the_ID())return array();
	if($pid = wp_get_post_parent_id( $id ))$id = $pid;
	if(!$id)return array();[......]

Read more