WordPress主題製作中自訂頭部的相關PHP函數解析_php技巧

來源:互聯網
上載者:User

header_image()
header_image() 函數是 WordPress 自定頂部映像的標準介面函數,該函數可以自動判斷後台設定,並返回字串形式的使用者自訂頂部映像地址。本文主要涉及該函數的詳解及使用。

【Display header image path.】 即,顯示頂部映像地址。
使用

複製代碼 代碼如下:

<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />

函式宣告原始碼
function header_textcolor() { echo get_header_textcolor();}function get_header_image() { $url = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );  if ( 'remove-header' == $url ) return false;  if ( is_random_header_image() ) $url = get_random_header_image();  if ( is_ssl() ) $url = str_replace( 'http://', 'https://', $url ); else $url = str_replace( 'https://', 'http://', $url );  return esc_url_raw( $url );}

get_custom_header 自訂頂部
get_custom_header 函數是 WordPress 3.4 送給我們的新禮物,該函數的出現是為了更好的整合和封裝頂部的使用,本文主要對 get_custom_header 這個函數進行詳解、以及如何在 WordPress 3.4 版本的主題中整合頂部功能。

請注意,根據本文折騰你的主題時,請確保你的 WordPress 已經升級到 3.4版本。

get_custom_header 意義詳解
自訂頂部目前大部分主題主要用到的還只是兩個功能 1.自訂頂部映像 2.自訂頂部樣式
具體的效果你可以看一下 預設主題 twenty eleven ,或者我的另一個部落格 悠悠我心
本函數是 WP 3.4 版本後才出現的一個內建函數,主要用於將使用者佈建的頂部的各項參數以對象(object)的形式返回。
單單說這麼句屁話,也許你還不明白,想要明白的話,請往下看。
請注意本函數與get_header()有著本質的區別。

函數使用執行個體
下面的例子來自於 預設主題 twenty eleven 中 header.php 檔案
PHP 代碼:

//判斷是否存在該函數,以便相容老版本if ( function_exists( 'get_custom_header' ) ) {//get_custom_header()->width 調用帶向 width 屬性$header_image_width = get_custom_header()->width;//get_custom_header()->height 調用帶向 height 屬性$header_image_height = get_custom_header()->height;} else {//相容老版本的代碼$header_image_width = HEADER_IMAGE_WIDTH;$header_image_height = HEADER_IMAGE_HEIGHT;}

綜合使用詳解
以下主要援引官方文檔解釋 自訂頂部

//開啟主題自訂頂部支援add_theme_support( 'custom-header' ); $headarg = array(//將設定打包成數組 'default-image'     => '', 'random-default'     => false, 'width'         => 0, 'height'         => 0, 'flex-height'      => false, 'flex-width'       => false, 'default-text-color'   => '', 'header-text'      => true, 'uploads'        => true, 'wp-head-callback'    => '', 'admin-head-callback'  => '', 'admin-preview-callback' => '',);//將數組中的設定添加到自訂頂部上add_theme_support( 'custom-header', $headarg );

自訂頂部映像

//開啟主題自訂頂部支援add_theme_support( 'custom-header' ); $headarg = array(//將設定打包成數組 'default-image'     => '', 'random-default'     => false, 'width'         => 0, 'height'         => 0, 'flex-height'      => false, 'flex-width'       => false, 'default-text-color'   => '', 'header-text'      => true, 'uploads'        => true, 'wp-head-callback'    => '', 'admin-head-callback'  => '', 'admin-preview-callback' => '',);//將數組中的設定添加到自訂頂部上add_theme_support( 'custom-header', $headarg );

自適應頂部映像設定

$args = array( 'flex-width'  => true,//自適應高度 'width'     => 980, 'flex-width'  => true,//自適應寬度 'height'    => 200, 'default-image' => get_template_directory_uri() . '/images/header.jpg',);add_theme_support( 'custom-header', $args );

自訂頂部映像的調用

<img   src="<?php header_image(); ?>"   height="<?php echo get_custom_header()->height; ?>"   width="<?php echo get_custom_header()->width; ?>"   alt="" />

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.