现在的位置: 首页WordPress>正文
对 HotNews 主题 BLOG 布局首页的几点改动
2013年12月14日 | WordPress | 浏览 1,818 | 暂无评论

用 CMS 布局首页一段时间了。还是觉得首页更简单干净点儿好,决定把首页改回 BLOG 布局,并顺便做一了些改动。记录在这里,希望能帮到别人或将来参考。

HotNews 主题中与 BLOG 首页有关的源文件包括:
/blog.php (BLOG 首页的代码文件。注意 blog_page.php 用于 blog 模板创建的 page 页面,不是主题的首页代码文件)
/includes/functions/paged.php (分页功能)
改动后增添了:
/includes/slider.php (幻灯)
/header.php <--- /js/jquery.cycle.all.min.js (幻灯使用的 Javascript )
/header.php <--- /css/home.css (幻灯需要 )

下面是设置及改动的过程:

1. 选择首页布局

HotNews 主题的首页有二种布局,分别为 BLOG 与 CMS(杂志),默认为 BLOG 布局。进入后台-外观-主题设置-首页布局设置,进行切换。

2. 去掉面包屑导航(Breadcrumb Trail)

包屑导航与分页导航功能重复,多余。删掉 blog.php 顶部的 <!-- menu --> 段落即可。

3. 修改分页导航条

将原先的函数调用:
pagination($query_string);
改为:
<?php previous_posts_link("上页"); ?> <?php if (function_exists('pagenavi')) { pagenavi(); } ?><?php next_posts_link("下页"); ?> <span class="page-numbers">第<?php echo $paged == 0? 1: $paged; ?>页 共<?php echo $wp_query->max_num_pages; ?>页</span>
在导航条上增添了显示:第x页 共yy页

4. 将首页的顶部分页导航换为幻灯播放

BLOG 首页的上下部各有一个分页导航条。将 CMS 首页的取代第一页的上部导航条,这里判断第一页的方法要用 is_paged()。
if ( is_paged() ) { // if page number >1
<?php previous_posts_link("上页"); ?> <?php if (function_exists('pagenavi')) { pagenavi(); } ? ><?php next_posts_link("下页"); ?> <span class="page-numbers">第<?php echo  $paged == 0? 1: $paged; ?>页 共<?php echo $wp_query->max_num_pages; ?>页</span> //分页导航条代码
} else {
<?php include (TEMPLATEPATH . '/includes/slider.php'); ?> // 幻灯代码
}

另外,slider.php 的最后加一句:
// wp_reset_query() restores the $wp_query and global post data to the original main query.
wp_reset_query();
这样幻灯代码就可以在 BLOG 页面使用了。

5. 载入和幻灯有关的 CSS 和 JavaScript 文件

在 header.php 文件中加入下面代码。
载入 home.css 文件:
<?php if ( !is_paged() ){ ?>
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/home.css" />
<?php } ?>

载入 jquery.cycle.all.min.js 文件:
<?php if ( !is_paged() ){ ?>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.cycle.all.min.js"></script>
<?php } ?>

6. 排除某分类的文章来源

如果不想在 BOLG 布局首页显示某个分类的文章,可以通过添加下面的代码实现。

打开blog.php模版文件在:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

上面添加:

<?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query('&caller_get_posts=5'.'&cat=-1,-2,-3'.'&paged='.$paged);
?>

其中:

caller_get_posts=5 排除置顶文章

cat=-1,-2,-3 排除ID为1、2、3的分类文章,多个分类用半角(英文)逗号分开,如果数字前不加“-”就是只显示ID为1、2、3的分类文章

欢迎留言

定制个性头像