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