在看該文檔之前需要對WordPress主題模板的層次架構有一定的了解。簡單介紹如圖:
WordPress是基于文章的博客程序,而企業或產品網站也是基于一篇篇的文章,所以用WordPress搭建企業網站是可行的。用WordPress建中小企業站模板的思路如下:
1) 大分類+子分類:
首先,根據需求明確企業網站的整體結構,需要幾大類的內容,如分為1產品介紹,2技術中心,3關于我們,4 試用購買,這些內容可以放在網站的主菜單上。
然后,細化企業網站結構,既明確子分類,如:
由上圖可以清晰的了解網站的結構,上圖中 表示該文章分類的id號,因為WordPress本身有一個未分類和鏈接占用分類的1、2兩個id號,我們只能從3開始,圖中id為3、4、5、6的幾個分類為大分類;而7、8、9、10為3的子分類,其他父子分類關系也如此。子分類可作為網站內頁的side里的內容。值得一提的是,
表示文章,“關于公司”、“聯系我們”、“合作伙伴”三個文章是直接屬于大分類5,這個網站的“關于我們”內頁side里既有分類又有文章,如何解決?下邊會有介紹。現在整體的大思路應該很明確了就是 大分類+子分類。
2) 讓每個大分類內頁的side里顯示子分類:
如圖:
這是我們要的效果 , 因為我們每個大分類下面都要顯示各自的子分類 , 所以在 sidebar.php 里的分類列表只寫 <?php wp_list_cats(’child_of=5′); ?> 已經不能滿足我們的需求。因此需要寫一個if判斷語句:
這個if語句幫我們解決了在每個大分類下面調用其各自子分類。
<?php $post = $wp_query->post;
if ( in_category(’ 3 ‘)|in_category(’7′)|in_category(’ 8 ‘) |in_category(’ 9 ‘)|in_category(’ 10 ‘)) <! — 如果文章屬于大分類3及其所有子分類7、8、9、10時–>
{ wp_list_cats(’child_of= 3 ‘);} <! — 則顯示分類3的子分類–>
elseif ( in_category(’ 4 ‘) |in_category(’ 11 ‘)|in_category(’ 12 ‘) |in_category(’ 13 ‘)|in_category(’ 14 ‘))
{ wp_list_cats(’child_of= 4 ‘);}
elseif ( in_category( 5 ‘)| in_category(’1 5 ‘)|in_category(’1 6 ‘))
{ wp_list_cats(’child_of= 5 ‘);}
elseif ( in_category(’ 6 ‘))
{ wp_list_cats(’child_of= 6 ‘);}
?>
但上面我們所提到的“關于我們”的side里是“文章+子分類”的列表,所以以上代碼也不能完全滿足,需要在 { wp_list_cats(’child_of= 5 ‘);} 里加入已發文章的靜態鏈接。如下:
{
?>
<li><a href=”<?php bloginfo(’url’); ?>/about/company/” title=”關于公司”>關于公司</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/about/contact/” title=”聯系我們”>聯系我們</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/about/partner/” title=”合作伙伴”>合作伙伴</a></li>
<?
wp_list_cats(’child_of= 5 ‘);
}
現在side里“文章+子分類”的列表,我們很好的解決了。由此啟發,當我們在點擊各大分類下side列表不一定都用分類,因為如果是分類的話,右邊調用的是 category .php, 顯示分類頁。如果每個大分類下都是這樣顯示分類列表的話,看起來還是很像blog,不像企業網站。所以我們的網站構架要改一下了,如圖:
正如圖中所示有兩種方法實現:一是寫一篇該子分類概述的文章,文章里有其他該子分類的鏈接,把概述文章的鏈接用剛才所述的方法寫在sidebar.php里;另外一種是寫一個子分類概述page頁面把鏈接寫在sidebar里。這里我們采取第一種方法。因為用page的話會導致頁面過多不好管理,而且page的url地址為: http://域名/頁面縮略名/ 的結構,這樣就不好識別是哪個分類的內容了。改完的代碼如下:
<ul >
<?php $post = $wp_query->post;
if (in_category(’ 3 ‘)|in_category(’7′)|in_category(’ 8 ‘) |in_category(’ 9 ‘)|in_category(’ 10 ‘))
{
?>
<li><a href=”<?php bloginfo(’url’); ?>/products/products-all/production/” title=”產品概括”>產品概括</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/products/features/functions-and-features/” title=”功能特點”>功能特點</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/products/strength/strength/” title=”核心優勢”>核心優勢</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/products/application/report-appdeployment/” title=”部署與運用開發”>部署與運用開發</a></li>
<?
}
elseif (in_category(’4′)|in_category(’1 1 ‘)|in_category(’1 2 ‘)|in_category(’ 13 ‘)|in_category(’ 14 ‘))
{ wp_list_cats(’child_of=4′);} / * 該分類是“技術中心”,需要它為子分類,就直接調用其子分類 */
?>
elseif ( in_category(’5′)|in_category(’ 15 ‘)|in_category(’1 6 ‘))
{
?>
<li><a href=”<?php bloginfo(’url’); ?>/about/company/” title=”關于公司”>關于公司</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/about/contact/” title=”聯系我們”>聯系我們</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/about/partner/” title=”合作伙伴”>合作伙伴</a></li>
<li><a href=”<?php bloginfo(’url’); ?> /about /news/” title=”企業新聞”>企業新聞</a></li>
<li><a href=”<?php bloginfo(’url’); ?> /about /cases/” title=”成功案例”>成功案例</a></li>
<?
}
elseif ( in_category(’6′))
{
?>
<li><a href=”<?php bloginfo(’url’); ?>/about/download/” title=”下載試用”>下載試用</a></li>
<li><a href=”<?php bloginfo(’url’); ?>/about/purchase/” title=”購買產品”>購買產品</a></li>
<?
}
</ul>
至此,sidebar里的子分類(文章)列表已經改完。
接著,需要在子分類上標上該大分類的名稱,這一點我仍是采用了if語句將其寫死。
<h3>
<?php
if ( in_category(’ 3 ‘)|in_category(’7′)|in_category(’ 8 ‘) |in_category(’ 9 ‘)|in_category(’ 10 ‘) ) { ?>產品介紹<?php }
elseif ( (in_category(’4′)|in_category(’1 1 ‘)|in_category(’1 2 ‘)|in_category(’ 13 ‘)|in_category(’ 14 ‘) ) { ?>技術中心<?php }
elseif ( in_category(’5′)|in_category(’ 15 ‘)|in_category(’1 6 ‘) ) { ?>關于我們<?php }
elseif ( in_category(’6′)) { ?>試用購買<?php }
?>
</h3>
至此,sidebar里的title名稱也寫完了。sidebar里的子分類(文章)模塊內容也全都完成,如若需要可在下面再寫點熱點鏈接之類的內容。
最后,single.php、category.php、 archive.php (企業網站它的用處不大)、index.php等都可以調用該sidebar.php了。
3) 菜單調用大分類
Sidebar做好了,下面就讓菜單上顯示調用的大分類,調用 <?php wp_list_cats(’include=3,4,5,6′); ?> 這句函數即可。include=ID:是我們調用的大類,多個大類的ID號用英文“,”隔開。
4) 修改category.php
現在菜單上列出的是大分類調用,這樣每個大分類下面就都會顯示分類列表,但如果現在有的大分類不想顯示分類列表,而顯示該分類的第一篇文章,就需要來修改category.php文件了。思路和修改sidebar差不多。最初 category.php的結構應該如下:
<?php get_header(); ?>
<?php get_sidebar(); ?>
<div id= ” content ” >
/*這里是調用分類的內容*/
</div>
<?php get_footer() ?>
現在因為需要點擊大分類3、5、6時,頁面上展示的是文章而非分類列表,所以在 <div id= ” content ” ></div>里添加一個if語句:
把以前的 /*這里是調用分類的內容*/ 的
中。
而需要在結構中添加的是大分類3、5、6中 這一塊的內容,代碼如下
<?php query_posts(’ name=production ‘); ?>
<div class=”post” >
<?php while (have_posts()) : the_post(); ?>
<h2><a href=”<?php the_permalink() ?>” class=”homesidetext1″ title=”<?php the_title() ?>”> <?php the_title() ?> </a> </h2>
<div class=”entry”>
<?php the_content(’Read the rest of this entry »’); ?>
</div>
<?php endwhile;?>
</div>
query_posts ()是獲取文章,其內參數可用 ’ p=文章ID ’ 或 ’ name=文章縮略名 ’ 來調用想放在大分類下首頁的文章;
<h2></h2>里是文章名稱;
the_content(); 是調用文章內容。
這樣就可以在菜單中列出的大分類上點擊,出來想要的文章或分類列表了。
以上幾點就是企業級網站全站用WordPress搭建的大致思路。
1、 這樣的主題模板要基于WordPress的數據庫,因為在寫side時用到了分類的id號。
2、 正是因為第一條,這樣的WordPress主題模板沒有通用的,只能因企業而異。
3、 永久鏈接最好用 /%category%/%postname%/ (分類+文章縮略名)的形式,這樣url地址會看起來更有結構性,看起來也更像企業或產品網站。
新聞熱點
疑難解答
圖片精選