[WordPress] 用標籤載入指定JavaScript程式碼

隨著網站功能增加,要載入的程式碼也越來越多,導致網頁載入的速度也越來越慢。然而有些程式碼,只有在少數頁面才會用到,卻要在每一頁都載入,多少會影響網站的表現。

其實有個方法,可以依據標籤載入特定程式碼。只要某篇文章加入指定標籤,就只載入特定程式碼,這樣就不需要套用到整個網站,只在有需要的頁面才會載入。

假設有一段 JavaScript 要載入:

function a_javascript_wants_add()
{
	<script>
		// your javascript code
	</script>
}
add_action( 'wp_head', 'a_javascript_wants_add' );

在 function 與 add_action 之間包一個條件判斷:

function a_javascript_wants_add()
if ( has_tag( 'code' ) )
{
	{
		<script>
			// your javascript code
		</script>
	}
}
add_action( 'wp_head', 'a_javascript_wants_add' );

這樣一來,如果文章有加「code」標籤,才會把包起來的程式碼載入。標記框起來的地方可自行更改想指定的 tag,不一定要用 code。

多數文章會用 if ( is_single() && has_tag( ‘code’ ) ) 做為判斷條件,講白話就是「如果文章裡有 code 這個標籤,就…」,但其實 is_single() (文章)有點多餘,主要原因在於標籤功能只有文章才有,頁面本來就沒有標籤功能,再加一個「是否為文章」的判斷條件顯得有點多餘。

另一個更重要的原因是,如果有開啟頁面支援標籤功能,加上 is_single() 反而會讓程式碼無法套用到頁面。

無論如何,去掉 is_single() 會比加上去來得彈性方便許多。