WordPress升级到2.3.1

授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/366)的形式标明文章原始出处和作者信息及本声明。

以前用的是2.2版本,现在最新版是2.3.1,我看重的主要改进是添加了的支持,就升过来了。

升级过程非常简单,下载包,解压,覆盖,然后执行一下wp-admin/upgrade.就可以了。

忘记了从哪个版本开始支持功能的,可我用的这个模板是从1.5版本的默认主题,一路改过来的,虽然没有动大手术,琐碎的修改还是有一些的。对于我这个懒人来说,重新套模板然后更改显然是不划算的,虽然后来学聪明了,有些修改作成了插件,剩下的好像也不少,所以尽可能的在旧模板的基础上更改。

好像就是个可高度自定义的,在我现在的模板中,打开页面总是提示“No Sidebars Defined”,不支持,好在我的要求也不高,咱自己动手,丰衣足食。

wp-includes/.这个文件,是的主要实现代码,所以修改主要是参照了这个文件的内容。好了,开始编辑现在这个旧模板的文件。

首先,要把存档archive改成下拉列表框,月份多了实在看着不舒服,.中有这么一段:

function wp_widget_archives($args) {
    extract($args);
    $options = get_option('widget_archives');
    $c = $options['count'] ? ‘1′ : ‘0′;
    $d = $options['dropdown'] ? ‘1′ : ‘0′;
    $title = empty($options['title']) ? __(’Archives’) : $options['title'];

    echo $before_widget;
    echo $before_title . $title . $after_title;

    if($d) {
?>
        <select name=”archive-dropdown” onchange=’document.location.href=this.options[this.selectedIndex].value;’> <option value=”"><? echo attribute_escape(__(’Select Month’)); ?></option> <? wp_get_archives(”type=monthly&format=option&show_post_count=$c”); ?> </select>

可以看出,内置的wp_get_archives函数的参数,原来只有type=monthly,现在多了format=optionshow_post_count=$c,前者应该代表是否下拉列表框形式显示,值的定义为$options['dropdown'];后者是是否显示本月文章计数,值的定义为$options['count'],并且都是用1代表真,0代表假,所以修改就简单了,把原来的:

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

更改为:

        <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;’> <option value=”"><? echo attribute_escape(__(’Select Month’)); ?></option> <? wp_get_archives(”type=monthly&format=option&show_post_count=1″); ?> </select>

就行了。

然后,把archive月份存档和category分类列表的位置互换,分类列表放在上面,直接调整代码顺序即可,同时给分类列表也加上分类计数的显示:

            <li><h2>Categories</h2>
                <ul>
                <? wp_list_cats('sort_column=name&show_count=1'); ?>
                </ul>
            </li>

最后,添加 Cloud,没有这个升级就白作了,参照.中的:

function wp_widget_tag_cloud($args) {
    extract($args);
    $options = get_option('widget_tag_cloud');
    $title = empty($options['title']) ? __(’Tags’) : $options['title'];

    echo $before_widget;
    echo $before_title . $title . $after_title;
    wp_tag_cloud();
    echo $after_widget;
}

没什么太复杂的,直接调用wp_tag_cloud()函数,连参数都没有,最终代码为:

            <li><h2>Tags Cloud</h2>
                <ul>
                <? wp_tag_cloud(); ?>
                </ul>
            </li>

这样就大功告成了,虽然模板不支持,侧边栏倒也符合我的基本使用需要了。

参考

Tags: , , , , ,

Related posts

Leave a Reply

您的留言将被缓存和审阅,所以不会立即出现在这里,请别着急,着急的话可以给我发邮件 :-)
支持Markdown Extra语法,参见: [甲] [1] [2]