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

首頁 > 網站 > 建站經驗 > 正文

為你的WordPress主題框架創建子主題

2024-04-25 20:39:59
字體:
來源:轉載
供稿:網友

之前建立的主題框架將用作所開發網站的父主題。這意味著,在每一種情況下,你都需要去創建一個子主題,并運用自己的設計以及更多的其他的函數創建一個網站,而這個網站也是唯一的。

最顯而易見的方式是全身心地投入,并開始在你的子主題中創建模板文件,用來覆蓋框架中的那些原文件,但由于你已經給你的框架添加了動作掛鉤和過濾掛鉤, 所以這未必就是最好的一種方法。

在這篇文章中,我將重點介紹你可以運用在子主題中的一些技術,從而讓你充分地利用好自己的框架,并能根據需要隨時改善工作流程。

我將介紹的主題如下:

創建初始子wordpress主題

通過該框架的過濾掛鉤修改代碼

通過該框架的行動掛鉤添加代碼

在你的子主題中建立新的模板文件

何時使用插件

創建初始子主題

開發主題框架的主要目的是為了運用DRY(切勿重復自己)原則,這也同樣適用于你的子主題。

為框架創建一個或多個“初始”子主題會讓你變得更有效率。子主題中包含有你需要在新項目中使用的一些核心代碼。

在決定如何去創建的同時,有一些關于工作方式和建立網站的問題需要加以考慮:

你是否是在為同一個部門有類似需求的客戶創建網站?

你是否是想給小客戶提供低成本的基于模板的網站?

你是否有能為大多數新項目服務的具體模板文件?

你的某些網站是否需要具有一些獨特的功能(例如,我使用的兩個初始子主題,一個有評論功能,另一個就沒有)?

是否有適用于大多數項目的樣式?你能否使用面向對象的樣式或一個CSS預處理器來處理大多數項目?

是否有適用于大多數(或占有一定顯著比例的)新項目的代碼庫或者其他資源?

是否有兩個或三個主要范疇,你可以將一些項目放置于其下,而每個范疇都涉及到類似的開發工作?

如果你對上述某一個問題的回答是肯定的話,那么創建一個或多個初始子主題就可以節省你的時間。你可以使用一些基本代碼創建一整套子主題,這些代碼你在所有項目中都會重復用到,那樣你就不需要為每一個新項目去重寫代碼(或創建文件)。

注意:如果你要為每一個新項目添加一些代碼的話,也許你只是想將它添加到你的框架之中,而不是子主題內,將來如果另有需要的話,使用一個掛鉤你就可以將其覆蓋。

即使你對以上問題的回答都是否定的,用空樣式表和函數文件創建一個非?;镜某跏贾黝},并在樣式表中添加WordPress相關說明,來訪問框架父主題,也是很有必要的:

/*

Theme Name: My Theme Framework Child

Theme URI:

Description: Starter Child Theme

Author: Rachel McCollin

Author URI: http://rachelmccollin.co.uk

Template: wptutsplus-theme-framework-part6

Version: 1.0.0

Tags:

Text Domain: tutsplus

*/

@import url("../wptutsplus-theme-framework-part6/style.css");

以上必填的字段是Theme Name(主題名稱)和 Template(模板),其余的都是可填可不填。要確保Template使用的是框架主題的地址,而不是它的命名。這也將有助于完成與主題相關的其他字段。

如果你要加載架構樣式表單的話,那么該@import聲明也很重要。只要你把這個聲明放在任何其他的CSS上,它就會在子主題樣式表單的任何樣式之前加載父主題樣式表單,這意味著你可以在子主題框架內根據需要添加或覆蓋樣式。

您可能還需要使用你在子主題中最常用到的函數建立一個初始functions.php文件。然后,您可以選擇將這些函數全部刪除和/或根據具體項目將它們添加到主題中。

通過該框架的過濾掛鉤修改代碼

在給你的子主題添加樣式之外,你很可能還想要更改由框架輸出的代碼。最輕巧的方式是通過過濾掛鉤來實現,所以首先要確認你能否使用其中任何一個掛鉤。

為新代碼創建一個函數,再附上一個過濾掛鉤,這比建立一個全新的模板文件更加有效;但是,如果你需要使用相同的過濾掛鉤不斷反復這樣做時,你可能要考慮一下改變鉤連一個動作掛鉤的過濾掛鉤,并為由該行動掛鉤激活的每一個項目重寫一個新函數。

為了更有效率,你可以創建一整套相關函數,放置在不同初始主題的函數文件中,或者使用一些函數創建一個插件,這些函數可以根據需要來激活。我將在之后的課程中更加詳細地介紹到這個插件。

我在前面的課程中已經介紹過創建過濾掛鉤的流程。簡單說來,就是使用add_filter()函數給一個過濾掛鉤附加一個函數。例如,在修改網站版權標記的鏈接和名稱時,我創建了兩個函數,如下所示:

function wptp_amend_colophon_name() {

$name = 'Rachel McCollin';

return $name;

}

add_filter( 'wptp_colophon_name', 'wptp_amend_colophon_name' );

function wptp_amend_colophon_link() {

$link = 'http://rachelmccollin.co.uk';

return $link;

}

add_filter( 'wptp_colophon_link', 'wptp_amend_colophon_link' );

主題框架中的兩個過濾掛鉤分別是:wptp_colophon_name和wptp_colophon_link,它們都可以改變輸出內容。

通過該框架的動作掛鉤添加代碼

你可以使用主題框架中的動作掛鉤在網站的各個地方插入內容。

如果你是一直跟著本系列教程使用代碼文件的,你目前就會有七個行動掛鉤:

在網頁標題之前

在網頁標題之中

在網頁內容之前

在網頁內容之后

在網頁側邊欄中

在網頁頁腳中

在網頁頁腳后

例如,你想調用行動按鈕添加到側邊欄,就可以新建一個sidebar.php文件,但是如果使用wptp_sidebar掛鉤的話會更高效。

要做到這一點,就得在你的子主題中建立一個functions.php文件并添加以下內容:

function wptp_cta() {?>

<div class="cta">

<p>Email us on <a href="mailto:mail@example.com">mail@example.com</a></p>

</div>

<?php

}

add_action( 'wptp_sidebar', 'wptp_cta', 1 )

該 wptp_cta()函數為調用行動掛鉤創建了一個標記,并通過wptp_sidebar掛鉤由add_action()函數激活,因為這個掛鉤優先級為1,所以它會出現在其他任何內容被觸發之前。

使用動作掛鉤你還可以添加大量其他的內容,比如頁面內容之前/后的共享按鈕、頁腳中的其他內容、標題中的搜索框等等。

你可能只是想給特定的網頁類型添加一些內容,比如單博客文章(single blog posts)。在這種情況下,最顯而易見的方式是先新建一個single.php模板。其實,你仍然可以使用行動掛鉤,外加一個條件標簽就行了:

function wptp_after_single_posts() {

if( is_singular( 'post' ) ) { ?>

<h3>Enjoyed this? Try reading more!</h3>

<?php

// query to list latest blog posts here

}

}

add_action( 'wptp_after_content', 'wptp_after_single_posts' );

這會創建一個新的查詢(使用WP_Query)——輸出最新的博客文章列表,這是為了鼓勵訪客在閱讀完一篇博客文章后再讀點別的東西。該is_singular( 'post' ) 條件標簽確保了只能輸出一篇文章,并將其連接到wptp_after_content掛鉤上,它會顯示在主體文章的內容之后。

在你的子主題中建立新的模板文件

有時,僅僅使用過濾掛鉤或動作掛鉤并不能達到目的,在這種情況下,你需要在你的子主題中創建新的模板文件。

這些文件可能和存儲在你的框架中的模板文件是相同的,這種情況下,在子主題中的文件將會覆蓋它們。但也有可能它們是新的模板文件,例如一個新的范疇、分類或文章類型。

如果在一開始,你就在子主題中創建并使用了模板文件,事情就會變得容易得多。我遵循的步驟是:

確定你需要創建的模板文件,參照wordpress模板層次結構(WordPress template hierarchy)

在你的子主題中建立一個有相應名稱的空白文件

確定框架中的文件,該文件與新文件關系最緊密(請再次參照模板層次結構)

將內容復制到你的新文件中

按要求修改新文件

這樣做就不用復制任何代碼,而這些代碼在新文件和現有文件里是相同的,如調用包括文件(include files)。

何時使用插件

根據你的框架創建網站時,你還有一個選擇是結合你的子主題使用插件。一個插件并不會完全取代子主題,但它在下列情況下會非常有效:

你要添加的功能與主題無關(要保持它不變,即使將來該網站改變了主題)。這可能包括注冊自定義文章類型或分類。

你想在你創建的眾多網站上使用某個功能,但它又不能直接添加到初始子主題或框架本身之中。

我會在下一課介紹如何為你的框架開發插件。

小結

目前,你建立的代碼庫和支持你開發網站的所有文件只是創建主題框架的一個起點。每個創建的網站需要運行在一個子主題上,你的主題框架就是其父主題。

正如我們所看到的,你子主題會加入自己的風格和功能,它們通過框架的動作掛鉤和過濾掛鉤,或者通過創建新的模板文件做到這一點。采用最少的代碼來解決問題總是好的,因為它可以讓你的網站運行更快,你的工作也會變得更加輕松!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美国产精品va在线观看| 久久男人资源视频| 国产亚洲精品一区二区| 美女国内精品自产拍在线播放| 国产日韩av在线| 亚洲欧洲一区二区三区在线观看| 亚洲a级在线观看| 91免费国产网站| 日韩视频在线免费观看| 亚洲精品国产成人| 45www国产精品网站| 国产日产欧美精品| 久久久久中文字幕| 日本a级片电影一区二区| 国产一区香蕉久久| 亚洲成av人片在线观看香蕉| 国产日本欧美视频| 一本色道久久88精品综合| 欧美另类99xxxxx| 欧美日韩成人在线观看| 国产精品久久在线观看| 亚洲激情第一页| 欧美日韩第一页| 亚洲欧美激情四射在线日| 91精品国产色综合久久不卡98口| 亚洲综合精品伊人久久| 国产午夜精品全部视频在线播放| 国产精品成人久久久久| 亚洲国产精品系列| 久久99精品久久久久久琪琪| 日韩在线精品视频| 51精品在线观看| 91福利视频在线观看| 精品美女国产在线| 国产剧情久久久久久| 精品国产福利在线| 日韩欧美a级成人黄色| 欧美大片免费看| 欧美三级xxx| 在线亚洲午夜片av大片| 亚洲欧美中文字幕在线一区| 欧美激情视频一区二区| 在线观看日韩视频| 久久精品最新地址| 亚洲精品永久免费精品| 国产欧美精品在线| 992tv在线成人免费观看| 久久99久久99精品中文字幕| 日韩午夜在线视频| 亚洲精品欧美日韩专区| 97久久精品人人澡人人爽缅北| 国产91成人video| 国产999精品视频| 欧美日韩综合视频| 欧美老肥婆性猛交视频| 亚洲性无码av在线| 久久久久国产精品www| 欧美在线一区二区视频| 亚洲激情视频在线| 九九热99久久久国产盗摄| 亚洲成人中文字幕| 亚洲亚裔videos黑人hd| 国产美女精彩久久| 亚洲激情视频在线观看| 欧美与黑人午夜性猛交久久久| 欧美大胆a视频| 欧美成人国产va精品日本一级| 欧美最近摘花xxxx摘花| 久久久精品在线观看| 久久久av免费| 97视频在线播放| www.久久久久久.com| 亚洲已满18点击进入在线看片| 日本亚洲欧美三级| 色偷偷9999www| 久久天天躁狠狠躁老女人| 亚洲人成网站免费播放| 欧美激情va永久在线播放| 亚洲成人亚洲激情| 超碰精品一区二区三区乱码| 国产精品久久久久久久久免费看| 亚洲国产天堂久久国产91| 45www国产精品网站| 国产精品 欧美在线| 亚洲电影中文字幕| 91精品久久久久久久久不口人| 亚洲在线www| 国产视频久久久久久久| 欧美激情精品在线| 亚洲香蕉伊综合在人在线视看| 欧美性生交xxxxxdddd| 欧美日韩精品二区| 国产99视频在线观看| 久久99久久久久久久噜噜| 92看片淫黄大片看国产片| 久久欧美在线电影| 黄色一区二区在线观看| 奇米一区二区三区四区久久| 欧美精品少妇videofree| 久久精品久久精品亚洲人| 欧美性视频在线| 日韩av观看网址| 久久久久久这里只有精品| 久久成人国产精品| 国产在线播放91| 77777少妇光屁股久久一区| 国产精品视频免费在线观看| 久久久久久久久久久成人| 97视频在线观看免费| 精品少妇一区二区30p| 欧美乱人伦中文字幕在线| 中文字幕在线看视频国产欧美| wwwwwwww亚洲| 日韩中文字幕免费看| 久热精品视频在线观看| 亚洲男人天堂2024| 91最新国产视频| 国产精品h片在线播放| 久久精品国产清自在天天线| 国产精品pans私拍| 国产午夜精品免费一区二区三区| 91在线精品播放| 久久久国产视频| 2020久久国产精品| 一区二区三区www| 91免费综合在线| 91网站免费观看| 91日本视频在线| 亚洲欧美日韩国产中文| 欧美激情视频网站| 亚洲午夜久久久影院| 成人国产精品久久久久久亚洲| 日韩少妇与小伙激情| 国产日韩欧美在线观看| 日韩国产精品亚洲а∨天堂免| 久久久久五月天| 国产成人亚洲精品| 欧美精品午夜视频| 国产成人a亚洲精品| 中文字幕亚洲欧美| 精品久久久精品| 欧美精品日韩www.p站| 91久久嫩草影院一区二区| 亚洲国产精品电影| 色yeye香蕉凹凸一区二区av| 久久久国产精品亚洲一区| 91在线免费网站| 色噜噜亚洲精品中文字幕| 久久99久久99精品中文字幕| 国产亚洲精品综合一区91| 国产精品视频公开费视频| 欧美日韩国产精品一区二区三区四区| 96精品久久久久中文字幕| 欧美中文在线免费| 亚洲伦理中文字幕| 日韩欧美第一页| 97成人精品视频在线观看| 国产精品国内视频| 久久久精品美女| 国产亚洲精品美女久久久久| 亚洲国产91色在线| 欧美精品电影免费在线观看| 欧洲亚洲免费在线| 久久久久久这里只有精品|