23

上一讲我们学习了index.php的制作,这一讲比较重要一些,大家如果有不明白的地方,回头仔细看看我们教程的内容,一定要把index.php中的代码理解清楚。今天我们就来看看sidebar.php的制作。

首先我们需要在index.php中加入get_sidebar()函数来引入这个文件。打开index.php文件,在get_footer()函数前面加上get_sidebar()函数就可以啦。

接下来在sidebar.php中写入如下代码:

<div id="sidebar">

<ul>

<li>

<?php get_search_form(); ?>

</li>

</ul>

<ul role="navigation">

<?php wp_list_pages('title_li=<h2>' . 'Pages' . '</h2>' ); ?>

<li><h2>Archives</h2>

<ul>

<?php wp_get_archives('type=monthly'); ?>

</ul>

</li>

<?php wp_list_categories('show_count=1&title_li=<h2>' . 'Categories' . '</h2>'); ?>

</ul>

<ul>

<?php if ( is_home() || is_page() ) { ?>

<li><h2>Meta</h2>

<ul>

<?php wp_register(); ?>

<li><?php wp_loginout(); ?></li>

</ul>

</li>

<?php } ?>

</ul>

</div>

现在可以打开浏览器看看这些代码都是 干了些什么啦。下面我们来看看里面的函数的作用是什么、如何使用。

(1)get_search_form()函数

这个函数的作用就是现实搜索框。这个函数调用后就可以直接显示一个具有完备功能的搜索框,我们不用写任何额外的代码。这就是WordPress的魅力,他给我们做了一下很有用的封装函数,这样就减轻了我们的开发负担,可以专注于主题的设计。

(2) wp_list_pages() 、wp_list_categories()函数

wp_list_pages()

该函数以页面名称的超链接形式显示WordPress博客内的所有页面,经常用来建立顶端导航页面,或用来修饰侧边栏。

形如wp_list_pages(’title_li=&sort_column=menu_order&include=12,25,38,57&depth=1&’);用,各参数意义如下:

title_li=  用来设置所有显示页面的一个总名称;后面没有参数值时,表示不显示名称;

sort_column=menu_order  用来设置页面的显示顺序,表示按照WP后台设置的各页面顺序显示,其他的常用顺序设置可能还包括post_title、post_date、ID等等;

include=12,25,38,57  表示只显示ID为这四个数值的四个页面;我们也可以使用exclude来排除相应ID的页面;

depth=1  表示只显示父页面,对所有子页面不予显示;其他数值还包括默认的0,表示显示所有页面(子页面有缩进);-1显示所有页面(子页面无缩进);等等。

此外,该函数可能会用到的属性还包括link_before和link_after,用于设置显示的页面链接前后的字符。

wp_list_categories()

wp_list_categories()函数用来获取博客文章的分类信息,并可以通过设置适当的函数参数,将其显示出来。该函数的参数和wp_get_archives()函数类似,都需要使用&连接,放在单引号 (’)中以字符串方式传递。形如wp_get_archives(’orderby=name&order=ASC& show_count=1&use_desc_for_title=1&feed=订阅&exclude=2,5& number=10′)

各参数的意义如下:

orderby=name  表示按照分类名称的字母先后顺序显示分类信息,可以将name换为ID等;

order=ASC  表示按照分类名称的字母的升序显示分类信息,将ASC改为DESC表示按降序;

show_count=1  在每个分类名称后面显示属于该分类的文章数;

use_desc_for_title=1  使用该分类的描述信息为每个分类名称超链接添加一个title属性;

feed=  订阅:在每个分类信息旁边添加一个名为“订阅”的超链接,提供该分类的RSS订阅;

exlude=2,5  在显示的分类中去除ID为2和5的分类;也可以用include=2,5表示只显示ID为2和5的分类;

number=10  表示只显示前面的10个分类。

(3) is_home()  、  is_page() 函数

is_home()  用以判断当前显示的博客页面是否是首页,返回的是一个Bool值。如果是在首页,则返回TRUE;否则返回FALSE。

该函数常用来控制博客侧边栏的显示方式,经常使用如下代码段:

<?php
if ( is_home() ) {
//此为在博客首页应该显示的内容
} else {
//此为非博客首页应该显示的内容
}
?>

is_page()  函数判断当前显示的内容是否是博客的独立页面(page),就是在后台建立的页面,它也返回一个Bool值。我们可以在模板中通过该函数判断当前是否是一个独立页面,从而决定是否为当前显示的文章显示发布时间等等。

同类的函数还有:

is_paged() is_single() is_tag() is_category() is_archive()等等

(4) wp_register() 、 wp_loginout()函数

Wp_register()获得登录后台的链接,wp_loginout()获得退出登录的链接。

到现在,一个基本的wordpress主题就已经成形了。这套主题教程也就告一段落了,希望大家会从中有所收获。

如果大家有任何的问题可以直接回复本文。谢谢!



更多




请输入您的Email地址,订阅WordPress电子报:

填写您的邮件地址,订阅我们的精彩内容:

,

  1. 您好!我只想问,如果你有任何问题与黑客?最后,我的博客(WordPress的)遭到黑客攻击,我最终失去了几个月的辛勤工作由于没有备份。你是否有任何方法来保护,防止黑客的攻击吗?

  2. 在大格局的东西,你会为辛勤工作的安全。你究竟在哪错位我是第一个具体的。你知道,他们说,细节成败的说法..那可能不会有太大的更真实,在这篇文章中。说到这里,允许我对你说,只是究竟提供的结果。您的创作是相当搞,这是可能的原因,我采取的努力发表评论。我真的不使其经常习惯了这样做的。第二,虽然我可以很容易地看到你来了,我不一定确保你出现团结产生你的结论的细节究竟如何在理性的跳跃。 ,现在我将认购在可预见的未来,您的问题,但信任你实际连接你点好得多。

  3. 请问一下,我想在主题头部改换成自己的图片 ,加图片, 头部改掉,怎么改
    ?? 只能弄代码吗?

    没有用DW那种真是随心所欲。

  4. 想知道倒数第三行的 “” 这段代码是用来干什么的? 为什么删掉之后网页显示错误

请不要在评论里发HTML格式的链接,会直接被屏蔽。

无觅相关文章插件,快速提升流量