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

WordPress 插件或主題載入 CSS & JS 檔案

將插件或主題載入 CSS & JS 檔案

CSS與JS在網站中可說是不可或缺的資源,我們在進行插件開發的時候,會面臨到如何載入CSS&JS,WordPress 設計了一個勾 wp_enqueue_scripts ,專門處理載入CSS&JS資源,再利用wp_enqueue_script & wp_enqueue_style 載入,但是載入會有先後順序之分,以下範例介紹,如何設定依賴的資源。

在插件中:

在插件中用 plugins_url()  來取得當前插件的路徑:

Plugin 載入 JS

載入Javascript , 並依賴 jquery[……]

Read more

WordPress 取所有子分類id

1. 先取出第一層分類,請參考下列文章
WordPress 只取第一層分類

2. 用 get_term_children(); 所有子分類id

/* 
	取所有仔分類ID
	https://v123.tw 
*/
foreach($categories as $cat){
	echo 'name='.$cat->name.'<br/>';
	$term_children = get_term_children( $cat->term_id , 'category' );
	if($term_children){
		echo 'child_id=[......]

Read more

WordPress WP_Term_Query 只取第一層分類或指定分類的字層分類

WP_Term_Query 只取第一層分類

只取得第一層分類,初始化參數中parent為0即可

$args = array(
  'taxonomy' => 'category',
  'orderby' => 'name',
  'order' => 'ASC',
  'parent' => 0,
  'hide_empty' => false,
);
$the_query = new WP_Term_Query($args);
$categories = $the_query->get_terms();
print_r($the_q[......]

Read more

WordPress wp_redirect not working , Warning: Cannot modify header information …

開發WordPress 常調用 wp_redirect() 這方法重定向,有時候我們會得到下列錯誤

Warning: Cannot modify header information – headers already sent by

其主要原因是PHP header已發送,就無法用header方法去重定向,有PHP開發經驗的朋友應該了解,header重定向的作法,所以選對鉤子很重要,下面我們選擇template_redirect 這個Hook,順利解決上述問題,而且這勾也可以取得頁面資料。

add_action('template_redirect', 'v123_logged_red[......]

Read more

WordPress 使用全域 jQuery 判斷是否正在某一頁

在Page或Post中,檢視HTML,我們會看到在Body中有很多Class,page-id-4250或postid-47,這就是page 或 post 的 id,可以藉此判斷目前正在某一篇文章或頁面中,進而做下一步的動作

Body 大概長這樣,範例中 4250 為Page ID

<body data-rsssl=1 class="page-template-default page page-id-4250 page-parent logged-in  color-custom style-simple button-flat layout-full-width if-bord[......]

Read more

WordPress中插入 Google Analytics GA 追蹤碼或全域網站代碼gtag.js

WordPress中插入 Google Analytics GA 追蹤碼或「全域網站代碼gtag.js」

網頁常常都會使用一些追蹤碼來分析網站流量,Google Analytics 就提供一個簡單又強大的流量分析工具,如何申請及設定Google Analytics至取得GA 追蹤碼,本篇文章暫不討論,可參考網路文章:

Google Analytics 網站分析追蹤碼安裝

但是需要在網站中插入GA追蹤碼,由於Wordpress沒提供這樣功能,可用下面方法,插入GA追蹤碼或「全域網站代碼gtag.js」。

複製追蹤碼

在 Google Analytics 找到追蹤碼

編輯 WordPress function[……]

Read more

更改 WordPress 的 wp-content、plugin 預設路徑

這是一個基於安全性的修改,阻止比較笨的機器人掃描指定目錄是否存在
修改Wordpress安裝目錄下的 wp-config.php 檔

# 設定 wp-content 自訂路徑(最後無斜線)
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );

# 設定 wp-content 自訂路徑url(最後無斜線)
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');

# 設定 wp-content/plugin 自訂路徑[......]

Read more