WordPress安装好后,我们一般都会换掉WordPress自带的默认主题模板,在我们安装其他WordPress Theme(主题)时,往往经常要改动其sidebar侧边栏文件,如果你对WordPress不是很熟悉的话,要改这个文件还是很麻烦的,没关系,今天,我们就来探讨一下如何自定义wordpress sidebar侧边栏文件。

下面这个文件就是一个非常典型的wordpress sidebar侧边栏文件。

<div id=”sidebar”>
<ul>
<?php if ( !function_exists(‘dynamic_sidebar’)
|| !dynamic_sidebar() ) : ?>(当检测到当前的WordPress 是支持动态侧边栏
时,则边栏 )
<li id=”pages”>
<h2>
<?php _e(‘pages’);?>
</h2>
<ul>
<?php wp_list_pages(’sort_column=menu_order&depth=1&title_li=’); ?>
</ul>
</li>
<li id=”meta”>
<h2>
<?php _e(‘Meta’); ?>
</h2>
<ul>
<?php wp_register(); ?>
<li>
<?php wp_loginout(); ?>
</li>
<?php wp_meta(); ?>
</ul>
</li>
<?php endif; ?>(if 判断结束)
</ul></div>

要搞懂上面的这个wordpress sidebar侧边栏文件,就必须先了解文件中所使用的wordpress函数。wordpress sidebar侧边栏文件,sidebar.php 经常会运用到的函数如下:
<?php wp_register();?>:显示注或网站管理链接
用法:<?php wp_register ( ‘before’ , ‘after’ ); ?>
before:(字符串)默认为<li>
after:(字符串)默认为</li>

<?php wp_loginout();?>:显示登录/注销链接(无参数)
<?php wp_meta():?>:显示自定义字段,不过貌似从来没用上
<?php wp_get_archives(‘type=monthly’);?>:按月显示内容存档
用法:<?php wp_get_archives(‘type= ‘&’limit= ‘&’format=
‘&’before=’&’after=’&’show_post_count=’)
参数及值:
type :(字符串)显示档案的方法
yearly :年
monthly (默认) :月
daily :日
weekly :周
limit :(字符串)显示文章数目的限制,默认情况下无限制
format:(字符串)文档清单的格式
html:添加HTML 列表( <li> )标签(默认)
option:添加选择( <select> )或下拉式选项( <option> )标记
link:添加链接(<link>)标记
custom:自定义列表使用之前和之后的字符串。
before:(字符串)当有format 标记时用在format 前面
after:(字符串)当有format 标记时用在format 后面

show_post_count:(布尔)是否显示文档里面日志的数目,
1 显示0 不显示(默认)
<?php wp_tag_cloud(”):?>:显示tag 标签
用法:
<?php wp_tag_cloud(’smallest=,
largest=,unit=,number=,format=,orderby=name,order=ASC,exclude=,includ
e=’); ?>
参数:
smallest :( 整数 )文字的最小尺寸(unit 给予单位)
largest:( 整数 )文字的最大尺寸(unit 给予加单位)
unit :( 字符串 )给smallest 和largesti 添加的单位
number:( 整数 )显示的tag 的数目
format :( 字符串 )标签云显示的格式
值:
flat:由空格分开(默认)
list:以有序列表排列
array:标签被放在一个数组里面,并且函数将标签云返回为一个数组供php
调用。注意:数组是返回,而不显示
orderby:( 字符串 )标签的排列的顺序
值:
name:名字(默认)
count:数字
order :( 字符串 )排序的次序(要大写才有效)
值:
ASC:升序(默认)
DESC:降序
RAND:随机
exclude:( 字符串 )排除某个特定的标签

include:( 字符串 )只包含某个特定的标签
<?php $myposts=get_posts(‘numberposts=10$offset=1′);foreach($myposts
as $post):?><li><a href=”<?php the_permalink();?>”><?php
the_title();?></a></li><?php endforeach;?>:显示从第一篇开始取10 篇日
志的列表
<?php get_posts(‘ ‘); ?>:得到日志的信息
用法:<?php get_posts(‘numberposts=, offset=, category=, category_name=,
tag=, orderby= ,……’); ?>
参数及值:
numberposts:( 整数 )返回日志的数目,默认值:5
offset:( 整数 )最新文章的起始点,默认值:0
category:( 整数 )只显示这一类别的文章(根据ID),默认值:无
category_name:( 字符串 )只显示这一类别的文章(根据名称或缩写),默
认值:无
tag:( 字符串 )只显示这一标签的文章,若有多个标签,用逗号隔开,则一
个不显示,应用空格隔开
orderby:( 字符串 )文章的排列顺序(默认:post_date)
值:
author:作者 id
category:分类 id
content:内容 id
date:日期 id
ID:文章本身的 id
menu_order:按菜单命令(只应用于网页 page)
mime_type:按 MIME 类型(只应用于带附件的)
modified:最后修改的日期
name:按缩略名
parent:按父文章的 id
password:按密码
rand:随机
status:按状态
title:按标题
type:按类型

      order:( 字符串 )排序的次序(要大写才有效)
值:
ASC:升序
DESC:降序(默认)
include:( 字符串 )显示拥有某些ID 的文章,多个以逗号、/、空格隔开,
默认值:无
exclude:( 字符串 )排除拥有某些ID 的文章,多个以逗号、/、空格隔开,
默认值:无
meta_key 和meta_value:( 字符串 )只显示那些有特定键值对的自定义域,
(如果要用的话,两个值一起),默认值:无
post_type:( 字符串 )文章的类型
值:
post(默认)
page
attachment
any
post_status:( 字符串 )查看文章的特殊状态
值:
publish(默认)
private
draft
future
inherit
post_parent:( 整数 )只显示这个拥有这个id 的文章的子文章,默认值:无
nopaging:( 布尔 )启用或禁用分页,默认值:无
<?php
wp_list_categories(’sort_column=&optioncount=&hierarchical=&……’);?
>:按照字符顺序显示分类列表

参数:
show_option_all :( 字符串 )当style 设置为list 的时候,会有一个值来
显示到所有分类的链接,默认是不显示所有链接
orderby:( 字符串 )排序的依据,默认值:name
值:
ID
name(默认)
count
order:ASC(升序)或DESC(降序)
show_last_update:是(真)否(假)显示最后修改时间,1 为真,0(默认)
为假
style:( 字符串 )显示分类的方式,值:list(默认);none
show_count:( 布尔 )是(真)否(假)显示日志的数目,1 为真,0(默认)
为假
hide_empty:( 布尔 )是(真)否(假)隐藏无日志的分类,1(默认)为真,
0 为假
use_desc_for_title:( 布尔 )是(真)否(假)给标题设置分类信息,1(默
认)为真,0 为假
child_of:( 整数 )只显示这个分类的子分类,没有默认值
exclude:除了
include:只包括
hierarchical:( 布尔 )是(真)否(假)让子分类显示时缩进,1(默认)
为真,0 为假
number:( 整数 )设置显示的数目,默认无限制
echo:( 布尔 )得到的结果是(真)否(假)存在一个变量中,1(默认)为
真,0 为假
depth: ( 整数 )显示分类的深度,0(默认)为无限制

<?php
wp_list_bookmarks(‘categorize=&title_after=&title_before=&……’);?>:
显示友情链接
<?php wp_list_pages(’sort_column=menu_order&depth=3&title_li=’); ?>:
显示深度到3 的页面链接
<?php include(TEMPLATEPATH. ‘/searchform.php’); ?>:调用searchform
的文件生成搜索栏
<?php get_calendar(); ?>:调用wordpress 自带的日历