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

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

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

在插件中:

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

plugins_url( '/js/script.js' , __FILE__ )

Pl[……]

Read more

WordPress WP_Term_Query 類,取分類程式產生器

我們可以用 Class WP_Term_Query 取得分類資料,詳細取得方式可參考此篇:

WordPress 只取第一層分類

在初始 WP_Term_Query 這物件時,我們需要帶入相關參數,一個一個去了解其實蠻麻煩的,WP_Term_Query Generator 提供線上產生器,彙整很多選項,我們可以依據不同的屬性選擇頁籤,選擇我們要的值,就可以產生出相對應的語法

 

複製產生出來的程式去用就好了,非常方便

[……]

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 multi level categories / taxonomy to Tree Array

取得無線級樹狀分類
我相信物件導向是Wordpress未來發展方向,所以本文使用 Class WP_Term_Query 取得所有分類,而不是使用 get_terms 方法,代碼如下:

$args = array(
  'taxonomy' => 'category',
  'orderby' => 'name',
  'order' => 'ASC',
  'hierarchical'  => true,
  'hide_empty' => false,
);
$the_query = new WP_Term_Query($args);
$c[......]

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 追蹤碼

Wordpress中插入 Google Analytics GA 追蹤碼

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

Google Analytics 網站分析追蹤碼安裝

但是需要在網站中插入GA追蹤碼,由於Wordpress沒提供這樣功能,可用下面方法,插入GA追蹤碼。

編輯當前主題的functions.php文件,通常這檔案位置會在

wp安裝目錄/wp-content/themes/{{目前主題}}/f[……]

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