1. 程式人生 > >學習筆記5——wp主題開發

學習筆記5——wp主題開發

tor strong ron formats languages and 編碼 裏的 less

我覺得學習wordpress插件開發之前還是得先理解一下wp的主題開發,循序漸進才能學好wordpress開發,話不多說,接下來整理一下這兩天學習的wordpress主題開發的一些心得和體會,與大家一起分享,如果有哪些地方存在異議,敬請指出!

先簡單的介紹一下什麽是主題,wp的主題就是你的wp主頁顯示的內容,你可以自定義你的wp頁面以什麽樣的形式去顯示給用戶看,其實跟平時我們自己開發網站沒什麽兩樣,都是得自己寫css、html、php代碼,區別就是可以使用wp內部自定義的函數,wp內部封裝很多函數供我們使用,還有wp內部內定了很多模版,只要在你的主題下面按照wp規定命名一些文件,wp都會智能地去調用,例如404.php,header.php等等,接下來我也會詳細介紹這些文件在wp中的命名規則。  

首先簡單介紹一下wp數據庫表結構:

wp_comments表:存儲了wp的所有評論內容;

wp_commentmeta表:評論元數據表,存儲了評論的一些附加信息;

wp_links表:存儲了wp網站的所有鏈接;

wp_options表:存儲了wp中的基本信息;

wp_posts表:存儲了wp中上傳的文章信息;

wp_postmetab表:存儲了文章的元信息;

wp_terms表:存儲了wp中的分類信息;

wp_termmeta表:存儲了wp中的分類元信息;

wp_users表:存儲了wp中的用戶信息;

wp_usermeta表:存儲了wp中的用戶元信息;

wp的主題模版是如何加載的呢?

wp一開始會進入index.php文件,

技術分享圖片

技術分享圖片

技術分享圖片

然後載入wp-blog-header.php,在此文件中進行數據庫等初始化過程,接下來會調用template-loader.php進行模版的載入,也就是載入/wrdpress/wp-content/themes/文件夾裏面的模板。所以每次你進入wp,看到的首頁其實就是themes目錄下其中一個模板的index.php頁面。

主題模板的創建和安裝?

主題模板的創建就是在/wp_content/themes/下創建一個文件夾my-themes(名稱你自己決定),在新文件夾下新建一個style.css文件,在css文件的開頭處加上一段包含Theme Name: my-themes的註釋,接下來你可以選擇一張圖片作為你的themes的圖片,有個要求就是圖片名稱必須命名為screenshot.png,這樣wp才能識別出來(接下來會有很多文件的創建也是必須指定文件名),然後保存,打開你的儀表盤頁面下的外觀-主題,你會看到你剛剛創建的主題模板。

/*
Theme Name: Ryan.Zheng
Theme URI: https://wordpress.org/themes/twentyfifteen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen‘s simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
Version: 1.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: twentyfifteen

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you‘ve learned with others.
*/
/*#header{
	background: green;
}*/

  

頂部和底部模板的調用:

你可以在你新建的模板文件夾my-themes下,新建兩個文件header.php和footer.php,wp會默認這兩個文件為模版的頭部文件和底部文件,然後將index.php文件中的頭部代碼和底部代碼分別存放於這兩個文件中。你可以在index.php中通過get_header()和get_footer()這兩個函數久可以直接header.php和footer.php文件中的代碼,是不是很方便!相比之前的php代碼,我們的做法是通過include ‘header.php‘;這種格式去調用。下圖是wp默認的一些文件的命名,

技術分享圖片技術分享圖片

如何才能調用數據庫裏的數據?

一開始我們的想法可能是通過pdo連接數據庫,然後各種query();的方式去處理,wp為我們提供了很多函數,你可以直接通過一個函數獲取帶你想要的數據庫數據,接下來我會介紹一下如何調用wp_options表的數據,其他的大家觸類旁通。

wp_options表存放了wp網站的一些基本的信息,例如博客名稱,網站地址,編碼等等,你可以通過get_option(鍵名)獲取wp_option表的數據,你也可以通過update_option(鍵名,新的鍵值)函數修改鍵值。

ps:數據表中鍵名以_開頭的都是隱藏的,也就是不會顯示在後臺儀表盤頁面上給用戶看到。

學習筆記5——wp主題開發