今天幫一個廣告公司做一個小網(wǎng)站網(wǎng)站是利用wordpress博客來做的,但是對方要需不為分類可以顯示不同的風(fēng)格了,也就是不同分類可以顯示自定的樣式了,這種方法我們可以利用is_category()來判斷分類再調(diào)用定義好的樣式就可以了,有點像博客的皮膚功能了.
通過is_category()進行判斷來修改樣式,代碼如下:
- <?php
- if (is_category('category1')) {
- echo 'class="category1-red"';
- }
- if (is_category('ccategory2'))
- {
- echo 'class = "category2-green"';
- }
- ?>
這種方法簡單明了,以twentyten主題為例,在不更改主循環(huán)的情況下,還可以通過上述方法為主div添加樣式,例如如下代碼:
- <?php if(is_category('test')){ ?>
- <div id="container" class="test">
- <?php } else {?>
- <div id="container">
- <?php } ?>
通過名為test的class,可以在樣式表中重寫默認的樣式.
下面是補充方法:
IF IN_CATEGORY 條件標簽
首先,復(fù)制兩個single.php文件分別取名為“single1.php” 和“single2.php”,然后,把原先的single.php文件里面的內(nèi)容全部刪除,并用下面的代碼進行替換:
- <?php
- $post = $wp_query->post;
- if ( in_category(’9′) ) {
- include(TEMPLATEPATH . ‘/single2.php’);
- } else {
- include(TEMPLATEPATH . ‘/single1.php’);
- }
- ?>
意思是:檢查日志,如果日志屬于分類ID9,則顯示single2.php,如果不是,則顯示single1.php.
還可以使用更多的條件語句來為不同的類別指定不同的樣式和內(nèi)容,例如如下代碼:
- <?php
- $post = $wp_query->post;
- if ( in_category(’9′) ) {
- include(TEMPLATEPATH . ‘/single9.php’);
- elseif ( in_category(’12′) ) {
- include(TEMPLATEPATH . ‘/single12.php’);
- elseif ( in_category(’42′) {
- include(TEMPLATEPATH . ‘/single42.php’);
- } else {
- include(TEMPLATEPATH . ‘/single1.php’);
- } }
- ?>
因為并不想都改變這兩個single模板文件,而僅僅是添加額外的樣式表到第二個也就是single2.php文件,于是再創(chuàng)建兩個header模板文件,就像復(fù)制single.php一樣,然后在第二個header文件的頂部添加上外部樣式表的鏈接,代碼如下:
- <style type=“text/css” media=“screen”>
- @import URL(‘/wp-content/themes/mytheme/style.css’);
- @import URL(‘/wp-content/themes/mytheme/cssstyles.css’);
- </style>
接著,就是要在第二個single2.php里面調(diào)用header2.php,代碼如下:
- <?php
- /* Don’t remove this line. */
- require(‘./wp-blog-header.php’);
- include(get_template_directory() . ‘/header2.php’
- ?>
不管是使用in_category還是is_category都是根據(jù)當前頁面過來的分類id來判斷了,這個我只是在程序中判斷了,如果要加在后臺讓那些不懂程序的人設(shè)置我們可能不要設(shè)置一下數(shù)據(jù)庫了.
新聞熱點
疑難解答
圖片精選