前幾天搭建好了PHP的開發和調試環境后,就開始研究WordPress的主題了。自從把WP用做CMS以來,一直對其主題系統很感興趣,方便啊,精通了主題就可以把WP改成多種類型的網站:企業、門戶、購物型等等,而不僅限於博客。擔心WP的性能?我一點都不擔心,因為用WP的人太多了,如果有性能問題,還有人用嗎?再說有一個好的架構就不要再去計較那一點點性能了。
1、WP主題約定
存放位置:wp-content-》themes文件夾下。那么插件就存在plugins目錄下了。
我在這里建立一個cnblogs文件夾,從頭開始制作一個WP的主題,所有的主題制作修改都是在這個文件夾下完成的。
所需文件:
index.php 首頁文件,為了方便我們把頭和尾放在header.php和footer.php文件中。
style.css 樣式文件。
screenshot.png 主題縮略圖。
注:如果有home.php,就輪不到index.php了。
2、啟用主題
從/wp-admin登錄后台,選擇外觀-》主題菜單,啟用cnblogs主題:
3、index、header和footer
index.php調用了header.php和footer.php:
<?php get_header(); ?> //Todo <?php get_footer(); ?>
WP函數get_header()和get_footer()調用header.php 和 footer.php。PHP的這種下划線語法還要適應一下:)
header.php代碼:
<!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width" /> <meta name="description" content="<?php bloginfo("description")?>"/> <title> <?php wp_title( '|', true, 'right' ); bloginfo('name'); ?> </title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page"> <header id="branding" role="banner"> <hgroup> <h1><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1> <h2><?php bloginfo( 'description' ); ?></h2> </hgroup> </header> <div id="main">
其實是HTML的前半部分,設置了Meta、Title,鏈接了樣式表css,H1顯示網站名稱,H2為網站描述。大量調用了WP函數bloginfo(),用於輸出數據庫選項表配置的相關信息,可以登錄WP的后台修改這些信息。
footer.php代碼:
</div><!-- #main --> <footer id="colophon" role="contentinfo"> //to do cnblogs footer </footer> </div><!-- #page --> <?php wp_footer(); ?> </body> </html>
結束HTML代碼。wp_header()和wp_footer()函數是為插件作者保留的鈎子,如果不使用插件,可以刪除。
到此完成了我們非常簡陋的主題: