WordPress主題程式碼怎麼靜態化?教學分享

2023-03-17 22:00:24

WordPress主題程式碼怎麼靜態化?下面本篇文章給大家整理分享WordPress主題程式碼靜態化教學,希望對大家有所幫助!

所謂的WordPress主題程式碼靜態化,就是將WordPress主題中的動態程式碼用靜態內容代替,可能你不知道什麼是動態程式碼,那就先思考個問題:為什麼同一個WordPress主題,用在我的部落格上標題顯示的是"露兜部落格",而用在你的部落格上顯示的卻是其他標題呢?答案就在於主題中的動態程式碼,它會根據不同的使用者,不同的使用環境,甚至不同的時間來顯示不同的內容。但是如果這個主題只是用在你的部落格上,那麼很多東西都是固定不變,如部落格標題,你不再需要主題去動態顯示這些靜態內容,而且動態程式碼往往比靜態內容消耗更多時間。

知道了什麼是動態程式碼,下面讓我介紹一下如何將你的主題程式碼靜態化。需要注意的是,靜態化後的主題就只能用於你的部落格了,如果域名等其他資訊變更後還要重新修改程式碼;開始之前,你最好準備一個能夠同時修改搜尋多個檔案的文字編輯器,如UltraEdit,這樣會更方便一些,因為同一段程式碼在主題的多個檔案中都會出現,沒有這類編輯器也沒關係,但是最好不要用Windows自帶的記事本改程式碼;另外,如果你修改程式碼後,有中文的話請用UTF-8儲存,不然中文都是亂碼了。

最後在介紹一下本文的編排規則,下面每個綠色的主標題下面都會有一些加粗的程式碼,這些都是需要替換的動態PHP程式碼,你可以開啟主題資料夾下的所有.php檔案,查詢這些程式碼然後按說明替換掉,例如第一條提供的<?php language_attributes(); ?>,因為不同主題程式碼中使用的空格數量和引數等不太一樣,所以直接搜尋上面這段程式碼可能搜不到,你可以只搜尋language_attributes,還有問題可以給我留言。廢話說多了,抱歉!下面正題開始:

一、網頁語言屬性宣告

<?php language_attributes(); ?>這個函數用於宣告網頁所使用的語言,一般出現在header.php這個檔案開頭,如果你的主題是用於中文站點,而且文字方向是從左往右讀,你可以用以下靜態內容代替加粗的那段程式碼:dir="ltr" lang="zh-CN"

修改後的程式碼類似:<html dir="ltr" lang="zh-CN">

二、bloginfo() 部落格資訊函數

這個函數有很多個引數(就是括號中的內容),傳遞不同引數可用於輸出不同的部落格資訊,具體每個引數輸出的內容,可以看一下檔案:模板標籤-bloginfo。下面撿幾個常見的說一下:

<?php bloginfo('name'); ?>用於輸出部落格的"站點標題",至於站點標題,可以在WordPress後臺 - 設定 - 常規那裡找到,將這段程式碼全部替換成你的"站點標題"即可;

<?php bloginfo('description'); ?>用於輸出部落格的"副標題",可以在WordPress後臺 - 設定 - 常規那裡找到,將這段程式碼全部替換成你的"副標題"即可;

<?php bloginfo('url'); ?>用於輸出部落格的"站點地址(URL)",可以在WordPress後臺 - 設定 - 常規那裡找到,將這段程式碼全部替換成你的"站點地址(URL)"即可;

<?php bloginfo('stylesheet_url'); ?>用於輸出部落格的"style.css檔案的網址",如果你不知道這個網址是什麼,可以開啟你的部落格主頁,然後用瀏覽器的"檢視原始碼"功能來檢視網頁的原始碼,查詢style.css,應該可以找到http://example/wp-content/themes/default/style.css,用這個網址替換掉這段程式碼即可;

<?php bloginfo('stylesheet_directory'); ?>用於輸出部落格的"style.css檔案所在的目錄",也就是上面style.css網址去掉/style.css,如http://example/wp-content/themes/default,記住後面沒有 / ;

<?php bloginfo('rss2_url'); ?>用於輸出你的feed的網址,一般形式如: http://example/feed/,如果你用Feedsky之類的託管了feed,可以用Feedsky提供的網址代替;

<?php bloginfo('pingback_url'); ?>用於輸出你的pingback的網址,一般形式如: http://example/home/wp/xmlrpc.php,檢視原始碼,查詢rel="pingback",可以找到這個網址;

<?php bloginfo('charset'); ?>這個函數用於宣告網頁的編碼,一般出現在這個檔案開頭header.php,這個編碼可以在WordPress後臺 - 設定 - 閱讀,最後一個選項"頁面和 feed 編碼"那裡設定,一般都是 UTF-8,你可以這段程式碼替換成:UTF-8

<?php bloginfo('version' ); ?>用於輸出WordPress的版本號,但是鑑於安全原因,不建議使用該函數,你可以將該段程式碼替換成不存在的版本號,在一定程度上還可以起到迷惑的作用。

三、get_option() 部落格資訊函數

這個函數跟bloginfo()一樣可以輸出很多部落格的資訊,只是它不會直接列印出來,而是作為變數值來傳遞。這個函數的引數也是跟牛毛一樣多,這裡也沒法一一說完,具體的所有引數可以參見檔案(英文):Option Reference,另外get_settings()這個函數跟get_option()是完全一樣的函數,get_settings一般會出現在一些比較老的主題中。你可以在主題目錄下的.php檔案中查詢get_option,應該可以找出很多個,下面還是撿幾個常見的說說:

get_option('home')這個用於獲取部落格主頁的網址,需要注意的是這個函數的所有引數形式都不能像上面的bloginfo()那樣用網址直接代替,因為它不直接輸出值,而是要用引號括起來代替。如:你可以將echo get_option('home');替換成echo 'https://www.ludou.org/';,如果是<?php echo get_option('home'); ?>,你可以直接將這段程式碼直接替換成https://www.ludou.org/,這都是一些簡單的PHP程式設計方式,相信下面說的內容你也可以舉一反三了。

get_option('blogname')用於獲取部落格名稱。

get_option('blog_charset')用於獲取頁面的編碼,如UTF-8。

四、get_bloginfo() 部落格資訊函數

要不是寫這篇文章,我也不會知道WordPress有這麼多個函數可以用於獲取部落格資訊,而且都是差不多的功能,說實話我有點想不通!這個函數的替換方法跟get_option()是一樣的,這裡我就不詳細講了,具體引數說明詳見:get_bloginfo()

五、漢化主題程式碼

很多主題因為要考慮到國際應用,所以都用了翻譯函數 _e() 和 __() 等,這樣做可以適應不同語言區的使用者,可以方便他們自行製作語言套件,考慮到我們的部落格都是中文的,而且這些內容都是靜態化,我們可以給我們使用的主題來一次漢化,WordPress就不會去檢索語言套件了,在一定程度上還可以加快WordPress的速度。

五、作者函數

如果你的部落格只有你一個人在寫,那就將這些輸出作者資訊的函數都換成你自己的資訊吧。

<?php the_author_posts_link(); ?>用於輸出作者存檔頁的網址,你可以用以下程式碼代替這個函數:

<a href="作者存檔頁的網址" title="由 XX 發表">作者暱稱</a>
登入後複製

<?php the_author(); ?>用於顯示作者的暱稱,你可以直接用作者的暱稱替換這段程式碼。

get_the_author();用於獲取作者的暱稱,你可以用以下內容替換這段程式碼:'作者暱稱';

<?php the_author_link(); ?>用於輸出作者的網址URL,跟the_author_posts_link函數功能是不一樣的。你可以用以下程式碼代替這段程式碼:

<a href="作者網站的網址" title="檢視 XX 的站點">作者暱稱</a>
登入後複製

六、側邊欄靜態化

如果你的側邊欄不需要後臺的提供的小工具,或者你喜歡直接用程式碼來實現側邊欄的某些效果,那麼你可以刪除sidebar.php中的動態呼叫小工具的程式碼,前提是你懂HTML、PHP程式設計。

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('north_sidebar') ) : ?>***<?php endif; ?>
登入後複製

你可以在***所在的位置新增你自己的側邊欄的程式碼,新增成功後你可以將

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('north_sidebar') ) : ?>
登入後複製

<?php endif; ?>
登入後複製

刪除,這樣WordPress就不會去檢測你的小工具了,當然你也不能在後臺新增小工具了。

七、友情連結靜態化

大多數部落格的友情連結都是通過後臺的小工具或wp_list_bookmarks()函數來輸出,這樣做的好處是在後臺 - 連結那裡新增連結前臺就會立刻顯示,不用你手動地去修改程式碼等。如果你追求速度,你還可以將友情連結的程式碼靜態化,上面已經說了sidebar.php去除小工具的方法,已經不能用小工具來顯示友情連結了。在刪除小工具功能之前,先開啟你的部落格首頁檢視原始碼,找出友情連結部分的程式碼,如:

<div class="widget widget_links">
	<h3>友情連結</h3>
	<ul>
		<li><a href="http://example/" title="example">example</a></li>
		<li><a href="http://example2/" title="example2">example2</a></li>
	</ul>
</div>
登入後複製

你可以將這部分程式碼新增到第六點將到的***部分就可以了。注意:此操作需要你瞭解HTML,而且每次要修改友情連結的時候需要你手動在sidebar.php中編輯HTML程式碼。

推薦學習:《》

以上就是WordPress主題程式碼怎麼靜態化?教學分享的詳細內容,更多請關注TW511.COM其它相關文章!