要找出產生Html Title的核心程式碼,從大多樣板header.php中的wp_head()下去追。
wp_head() //可產生Title tag
# wp-includes/general-template.php
function wp_head() {
...
do_action( 'wp_head' );
}
wp_head()函數是去 do_action: 'wp_head'。
而在wp_head action中,Title要用的hook為: _wp_render_title_tag
# wp-includes\default-filters.php
add_action( 'wp_head', '_wp_render_title_tag', 1 );
Hook: _wp_render_title_tag
# wp-includes/general-template.php
function _wp_render_title_tag() {
...
echo '<title>' . wp_get_document_title() . '</title>' . "\n";
}
其Hook內,生成Title內文函數:
# wp-includes/general-template.php
function wp_get_document_title() { ...
範例:在首頁Title後面加入網站描述(‘description’ - Site tagline )
# wp_get_document_title() function return之前加入
if (is_home())
$title .= ' - ' . get_bloginfo('description');
總結:
WordPress若使用wp_head()作為HTML Title調用,其Title tag產生自 _wp_render_title_tag
hook,而Title content產生自 wp_get_document_title()