亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Wordpress > 正文

深入解析WordPress中加載模板的get_template_part函數

2024-09-07 00:40:17
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress中加載模板的get_template_part函數,其中重點講解了其函數鉤子的使用,需要的朋友可以參考下。

最近研究官方主題 Twenty Eleven ,有一些東西網上現成的中文資料不好找,在博客里記載下來,算是分享,也算是備忘,wordpress 3.0 以后就開始便有了get_template_part() 這個函數 ,應該是為文章呈現形式提供更為多樣化的選擇而給出的新功能。

Twenty Eleven 中 實例如下:

Twenty Eleven index.php 文件

行:21

  1. <?php if ( have_posts() ) : ?> 
  2.  <?php twentyeleven_content_nav( 'nav-above' ); ?> 
  3.  <?php /* Start the Loop 在循環中使用以調用不同類型的文章 */ ?> 
  4.  <?php while ( have_posts() ) : the_post(); ?> 
  5.  <?php get_template_part( 'content', get_post_format() ); ?> 
  6.  <?php endwhile; ?> 
  7. ............................ 
  8. <?php endif; ?> 

描述:

加載一個制定的模板到另一個模板里面(不同于包含header,sidebar,footer).

使得一個主題使用子模板來實現代碼段重用變得簡單

用于在模板中包含指定的模板文件,只需用指定參數slug和name就可以包含文件{slug}-{name}.php,最重要的功能是如果沒有這個文件就包含沒有{name}的.php文件文件

使用方法:

<?php get_template_part( $slug, $name ) ?>

參數:

$slug (必須) 通用的模板名

$name (可選) 指定的模板名

示例:

使用 loop.php 在子主題里面

假設主題文件夾wp-content/themes下父主題是twentyten子主題twentytenchild,那么下面的代碼:

<?php get_template_part( 'loop', 'index' ); ?>

php 的require()函數將按下面優先級包含文件

1. wp-content/themes/twentytenchild/loop-index.php

2. wp-content/themes/twentytenchild/loop.php

3. wp-content/themes/twentyten/loop-index.php

4. wp-content/themes/twentyten/loop.php

導航(這個例子很爛,但卻是另一種使用思路)

使用通用的nav.php文件給主題添加導航條:

  1. <?php get_template_part( 'nav' );      // Navigation bar (nav.php) ?> 
  2. <?php get_template_part( 'nav''2' );   // Navigation bar #2 (nav-2.php) ?> 
  3. <?php get_template_part( 'nav''single' ); // Navigation bar to use in single pages (nav-single.php) ?> 

get_template_part() 的鉤子詳解

因為在官方主題(Twenty Eleven)中 get_template_part() 函數被大量使用,所以就目前來看,該函數應該算是比較熱門的一個函數了,之前有寫過一篇文章講述該函數的具體使用方法,在這里也就不便再贅述,本文主要針對該函數的 add_action 中的 hook $tag 值進行探討,因為,WP hook 中林林總總有那么些函數在$tag 值中比較讓人費解。

與普通hook的區別

普通的hook的$tag 是一個固定值,而 get_template_part() 確是一個可變值,好吧先不說,wp這么做給我們實現一個簡單功能帶來多少麻煩,但如此設置確實給多樣化的主題實現帶來了不少方便之處。

實現這一原理的源代碼如下,截取自 WordPress 源程序。

  1. function get_template_part( $slug$name = null ) { 
  2. //$tag = "get_template_part_{$slug}"  
  3. //也就是,get_template_part_+你當時設置的$slug值 
  4.  do_action( "get_template_part_{$slug}"$slug$name ); 
  5.  $templates = array(); 
  6.  if ( isset($name) ) 
  7.   $templates[] = "{$slug}-{$name}.php"
  8.   $templates[] = "{$slug}.php"
  9.   locate_template($templates, true, false); 

實例

像上面那樣說,可能也許基本上有點看不明白,好吧給點實例

  1. //復習一下get_template_part($slug, $name)的用法, 
  2. //如果你在主題里這樣 
  3. get_template_part( 'index' , 'photo'); 
  4. //那么 WP 會去找主題根目錄下 index-photo.php 文件 
  5.    
  6. //那么我們想掛一個函數的話就得像如下 
  7. function addFunction ($slug$name){ 
  8. echo $slug
  9. add_action("get_template_part_index","addFunction",10,2); 
  10. get_template_part() 函數詳解備忘

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲综合在线做性| 精品视频久久久久久久| 精品国产福利在线| 欧洲成人性视频| 成人黄色在线播放| 国产福利精品av综合导导航| 国产精品自产拍在线观看| 丝袜情趣国产精品| 91欧美视频网站| 色久欧美在线视频观看| 国产精品高清免费在线观看| 精品亚洲一区二区| 久久影院资源站| 欧美成年人视频网站| 国产在线精品一区免费香蕉| 欧美一级视频在线观看| 久久久国产成人精品| 成人国产精品一区| 亚洲精品女av网站| 国产欧亚日韩视频| 国产成人小视频在线观看| 欧美日韩国产精品一区二区三区四区| 欧美性xxxxhd| 九九精品在线播放| 日韩电视剧在线观看免费网站| 韩国一区二区电影| 欧美日韩国产精品专区| 国自在线精品视频| 日韩av在线直播| 欧美日韩亚洲激情| 69久久夜色精品国产69乱青草| 亚洲日本欧美日韩高观看| 亚洲一区二区三区久久| 深夜福利亚洲导航| 亚洲成人精品视频| 亚洲成人久久一区| 日韩电影免费在线观看| 欧美午夜女人视频在线| 高清亚洲成在人网站天堂| 亚洲精品中文字幕有码专区| 国产精品亚洲美女av网站| 久久香蕉精品香蕉| 热久久美女精品天天吊色| 精品国产电影一区| 亚洲色图五月天| 亚洲男人第一av网站| 欧美最猛黑人xxxx黑人猛叫黄| 热草久综合在线| 久久精品福利视频| 国产欧美精品日韩| 国产精品视频在线观看| 538国产精品视频一区二区| 国语自产在线不卡| 国产一区视频在线播放| 欧美亚洲另类在线| 色悠久久久久综合先锋影音下载| 久久久久久久久亚洲| 色狠狠av一区二区三区香蕉蜜桃| 国产亚洲精品久久| 韩曰欧美视频免费观看| 夜夜嗨av色综合久久久综合网| 久久亚洲综合国产精品99麻豆精品福利| 亚洲男人天堂久| 97成人在线视频| 亚洲精品国精品久久99热一| 欧美激情一级二级| 久久国产精品影片| 国产成人午夜视频网址| 色综合伊人色综合网站| 日韩av不卡电影| 国产综合久久久久久| 国产精品99久久久久久白浆小说| 亚洲第一区中文字幕| 欧美激情在线视频二区| 中文字幕自拍vr一区二区三区| 国产日韩中文字幕在线| 51精品国产黑色丝袜高跟鞋| 亚洲韩国欧洲国产日产av| 精品在线欧美视频| 精品露脸国产偷人在视频| 在线观看亚洲区| 国产精品永久免费在线| 国模精品视频一区二区三区| 亚洲精品在线91| 97香蕉超级碰碰久久免费软件| 成人黄色av网站| 久久免费成人精品视频| 欧美在线观看www| 久久中文字幕在线视频| 欧美成人小视频| 欧美在线视频一区二区| 欧美日韩亚洲一区二区| 欧美精品免费在线观看| 日韩一区视频在线| 久久久久五月天| 日韩在线观看免费全| 国产aⅴ夜夜欢一区二区三区| 国产精品18久久久久久麻辣| 欧美激情乱人伦一区| 日韩av电影院| 日韩av电影手机在线观看| 亚洲国产成人精品女人久久久| 粉嫩av一区二区三区免费野| 亚洲成人黄色网| 色偷偷av一区二区三区| 久青草国产97香蕉在线视频| 欧美在线一区二区三区四| 欧美日产国产成人免费图片| 狠狠综合久久av一区二区小说| 51色欧美片视频在线观看| 成人免费激情视频| 亚洲国产精品美女| 国产精品一区二区av影院萌芽| 欧美另类在线观看| 日韩综合视频在线观看| 亚洲国产精品va| 亚洲欧美在线一区| 8x海外华人永久免费日韩内陆视频| 精品中文字幕乱| 欧美性xxxx在线播放| 亚洲人av在线影院| 久久伊人免费视频| 精品亚洲一区二区三区四区五区| 亚洲国产精品久久久久秋霞蜜臀| 欧美在线一级va免费观看| 日本久久久久亚洲中字幕| 2019国产精品自在线拍国产不卡| 亚洲美女中文字幕| 91黑丝在线观看| 国产精品∨欧美精品v日韩精品| 久久99视频精品| 韩国三级日本三级少妇99| 国产精品久久久久7777婷婷| 午夜精品福利视频| 精品久久久久久久久久久久| 日韩在线免费高清视频| 欧美三级欧美成人高清www| 国产精品久久婷婷六月丁香| 红桃视频成人在线观看| 91精品美女在线| 7m第一福利500精品视频| 亚洲娇小xxxx欧美娇小| 国语自产精品视频在线看抢先版图片| 欧美综合国产精品久久丁香| 欧美重口另类videos人妖| 国产精品扒开腿爽爽爽视频| 久久99精品久久久久久噜噜| 97精品视频在线| 国产成人在线一区二区| 久久天天躁夜夜躁狠狠躁2022| 久久久av一区| 亚洲午夜精品久久久久久久久久久久| 欧美激情精品久久久| 久久精品免费播放| 国产成人精品在线视频| 日韩国产精品亚洲а∨天堂免| 欧美在线亚洲一区| 国产深夜精品福利| 欧美大片网站在线观看| 国产日韩欧美视频| 亚洲日本aⅴ片在线观看香蕉| 日韩精品免费在线| 伦伦影院午夜日韩欧美限制| 一区二区三区视频免费|