程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> WordPress開發中用於標題顯示的相關函數使用解析

WordPress開發中用於標題顯示的相關函數使用解析

編輯:PHP綜合

single_cat_title()函數
single_cat_title()函數,日常中我們很少會用到,但這個函數會給我們解決很多問題,諸如當前頁面的目錄、標簽,該函數不依附於 WordPress 主循環中,也不能放入主循環中使用。

描述
獲取當前頁面的分類、標簽。

 <?php single_cat_title($prefix,$display); ?>

  • $prefix :用於設置在標題之前顯示的內容。
  • $display :用於設置是直接顯示還是返回到變量。

實例
在此摘取 WordPress 2011 默認主題中,category.php 文件 第18行左右位置的代碼

 <?php
printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?>

get_the_title 和 the_title
get_the_title 和 the_title 兩個函數用來在文章頁面顯示文章標題的函數,之所以將兩個函數合並到一篇文章裡面去是因為這兩個函是一個實現,只不過 the_title 默認直接顯示,get_the_title 默認返回字符串,如果你對此心存疑惑,那請你往下看。

函數詳解
get_the_title 和 the_title這兩個函數主要用於在循環中顯示當前文章的標題,請注意 the_title 這個函數必須使用在循環中。
兩者的區別在於,get_the_title僅能以字符串形式返回文章標題,而 the_title 可以設置標題前後的自定義字符,以及是顯示還是返回字符串。

the_title 函數使用、參數詳解

<?php the_title( $before, $after, $echo ); ?>
  • $before標題前的字符
  • $after標題後的字符
  • $echo顯示、還是返回字符串,默認為true

the_title示例

<?php the_title( ‘=>', ‘<=' ); ?>

以本文為例,我們將得到以下這樣的標題:

‘=>get_the_title 和 the_title<='

get_the_title 函數使用、參數詳解

<?php $myTitle = get_the_title($ID); ?>

以上代碼我們將得到文章標題的變量$myTitle;
$ID 用於設置文章 ID ,當然在循環中我們可以省略此參數。

get_the_title 示例

<?php
 $myTitle = get_the_title($ID); 
 echo $mytitle.'【標題演示】';
?>

我們將得到

get_the_title 和 the_title【標題演示】

總結
說了這麼多,不知道對您是否有所幫助?
總的來說 the_title 是 get_the_title的更高一級封裝。就像在 wp_title中說的那樣,更高級封裝,雖然使用起來簡單,但能折騰花樣相對少了點。
下面是該兩個函數的源代碼

the_title 函數聲明
該函數位於 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 函數聲明
該函數位於 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 );
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved