single_cat_title()函數(shù)
single_cat_title()函數(shù),日常中我們很少會(huì)用到,但這個(gè)函數(shù)會(huì)給我們解決很多問題,諸如當(dāng)前頁(yè)面的目錄、標(biāo)簽,該函數(shù)不依附于 WordPress 主循環(huán)中,也不能放入主循環(huán)中使用。
描述
獲取當(dāng)前頁(yè)面的分類、標(biāo)簽。
<?php single_cat_title($prefix,$display); ?>
- $prefix :用于設(shè)置在標(biāo)題之前顯示的內(nèi)容。
- $display :用于設(shè)置是直接顯示還是返回到變量。
實(shí)例
在此摘取 WordPress 2011 默認(rèn)主題中,category.php 文件 第18行左右位置的代碼
<?phpprintf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );?>
get_the_title 和 the_title
get_the_title 和 the_title 兩個(gè)函數(shù)用來(lái)在文章頁(yè)面顯示文章標(biāo)題的函數(shù),之所以將兩個(gè)函數(shù)合并到一篇文章里面去是因?yàn)檫@兩個(gè)函是一個(gè)實(shí)現(xiàn),只不過 the_title 默認(rèn)直接顯示,get_the_title 默認(rèn)返回字符串,如果你對(duì)此心存疑惑,那請(qǐng)你往下看。
函數(shù)詳解
get_the_title 和 the_title這兩個(gè)函數(shù)主要用于在循環(huán)中顯示當(dāng)前文章的標(biāo)題,請(qǐng)注意 the_title 這個(gè)函數(shù)必須使用在循環(huán)中。
兩者的區(qū)別在于,get_the_title僅能以字符串形式返回文章標(biāo)題,而 the_title 可以設(shè)置標(biāo)題前后的自定義字符,以及是顯示還是返回字符串。
the_title 函數(shù)使用、參數(shù)詳解
<?php the_title( $before, $after, $echo ); ?>
- $before標(biāo)題前的字符
- $after標(biāo)題后的字符
- $echo顯示、還是返回字符串,默認(rèn)為true
the_title示例
<?php the_title( ‘=>', ‘<=' ); ?>
以本文為例,我們將得到以下這樣的標(biāo)題:
‘=>get_the_title 和 the_title<='
get_the_title 函數(shù)使用、參數(shù)詳解
<?php $myTitle = get_the_title($ID); ?>
以上代碼我們將得到文章標(biāo)題的變量$myTitle;
$ID 用于設(shè)置文章 ID ,當(dāng)然在循環(huán)中我們可以省略此參數(shù)。
get_the_title 示例
<?php $myTitle = get_the_title($ID); echo $mytitle.'【標(biāo)題演示】';?>
我們將得到
get_the_title 和 the_title【標(biāo)題演示】
總結(jié)
說(shuō)了這么多,不知道對(duì)您是否有所幫助?
總的來(lái)說(shuō) the_title 是 get_the_title的更高一級(jí)封裝。就像在 wp_title中說(shuō)的那樣,更高級(jí)封裝,雖然使用起來(lái)簡(jiǎn)單,但能折騰花樣相對(duì)少了點(diǎn)。
下面是該兩個(gè)函數(shù)的源代碼
the_title 函數(shù)聲明
該函數(shù)位于 wp-include/post-template.php 文件的 43 – 55行左右的位置
<?php/** * Display or retrieve the current post title with optional content. * * @since 0.71 * * @param string $before Optional. Content to prepend to the title. * @param string $after Optional. Content to append to the title. * @param bool $echo Optional, default to true.Whether to display or return. * @return null|string Null on no title. String if $echo parameter is false. */function the_title($before = '', $after = '', $echo = true) { $title = get_the_title(); if ( strlen($title) == 0 ) return; $title = $before . $title . $after; if ( $echo ) echo $title; else return $title;}?>
get_the_title 函數(shù)聲明
該函數(shù)位于 wp-include/post-template.php 文件的 103 – 118行左右的位置
<?php/** * Retrieve post title. * * If the post is protected and the visitor is not an admin, then "Protected" * will be displayed before the post title. If the post is private, then * "Private" will be located before the post title. * * @since 0.71 * * @param int $id Optional. Post ID. * @return string */function get_the_title( $id = 0 ) { $post = &get_post($id); $title = isset($post->post_title) ? $post->post_title : ''; $id = isset($post->ID) ? $post->ID : (int) $id; if ( !is_admin() ) { if ( !empty($post->post_password) ) { $protected_title_format = apply_filters('protected_title_format', __('Protected: %s')); $title = sprintf($protected_title_format, $title); } else if ( isset($post->post_status) && 'private' == $post->post_status ) { $private_title_format = apply_filters('private_title_format', __('Private: %s')); $title = sprintf($private_title_format, $title); } } return apply_filters( 'the_title', $title, $id );}?>