单页网站仿制是我们会经常遇到的,单纯的单页其实不需要后台,但有的时候我们需要配合一个资讯模块来做单页网站的SEO,这时候我们就需要整合到一个CMS里面,我们推荐使用dedecms或者wordpress,由于织梦漏洞比较多,所以这里我们那wordpress来举例说下单页仿制的具体步骤:
wordpress单页主题模板的仿站流程
第一步:拿到要仿制的html静态页面,对静态页面进行分析
第二步:分析单页面主题模板一般要仿制的页面;index.php(首页)、single.php(文章页)、archive.php(列表页)
第三步:把静态页面的index.htm改成index.php页面;把css样式放在主题根目录下;不管是什么css样式;都需要进行重命名为style.css
第四步:打开index.php文件对style.css样式进行替换;图片路径使用绝对路径进行替换;style.css的替换代码为:
<?php bloginfo( 'stylesheet_url' ); ?> 图片路径替换例如<?php bloginfo('template_directory'); ?>/style/1.jpg;其中<?php bloginfo('template_directory'); ?>为主题根目录。把style.css里面的图片路径进行更换。
第五步:把index.php文件进行分离,分离出头部、尾部、和侧边栏三个php文件;分别对应header.php、footer.php、sidebar.php;然后在index.php里面对这些文件进行调用;头部调用代码:
<?php get_header();?>、<?php get_footer();?>、<?php get_sidebar();?>
header.php和footer.php文件中要到的标签有:
获取博客名字:<?php bloginfo('name'); ?>
获取博客描述:<?php bloginfo('description'); ?>
获取主页路径:<?php echo get_option('home'); ?>
获取主题存放路径:<?php bloginfo('template_directory'); ?>
其他外部文件调用方法:<?php include (TEMPLATEPATH . '/ad/ad2.htm'); ?>
页面编码:<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>" />
<?php wp_head(); ?>
首页标题:<title><?php if (is_home()||is_search()) { bloginfo('name'); } else { wp_title(''); print " - "; bloginfo('name'); } ?> </title>
页面调用:
<?php wp_list_pages('sort_column=menu_order&title_li=&depth=2&include='); ?>
分类目录调用:
<?php wp_list_categories('title_li=0&orderby=name&show_count=0&depth=2'); ?>
sidebar.php文件要用到的标签有:
最新文章:<?php wp_get_archives('type=postbypost&limit=20'); ?>
日志标题太长超出,修改style.css,用到的代码:
text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
随机文章:
<?php $rand_posts = get_posts('numberposts=10&orderby=rand');foreach($rand_posts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach;?>
标签云:
<?php wp_tag_cloud('smallest=8&largest=36&'); ?>
文章日期归档:
<?php wp_get_archives( 'type=monthly' ); ?>
分类目录:
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
友情链接:
<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=24'); ?>
第六 步:修改index.php的主体部分
第七步:修改文章页面模板single.php
第八步:修改列表页模板sidebar.php
用到的代码标签:
循环调用
循环代码前段
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
循环代码后段
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
标题:<a href="<?php the_permalink() ?>"><?php the_title_attribute(); ?></a>
调用文章内容:
<?php the_content("Read More..."); ?>
调用文章内容摘要:
<?php the_excerpt("Read More..."); ?>
作者:<?php the_author_posts_link(); ?>
日期:<?php the_time('F d, Y') ?>
评论调用:<?php comments_number('No Comment', '1 Comment', '% Comments' );?>
文章所属分类:标签:<?php the_category(', ') ?>
上一页,下一页调用:
<div style="float:left"><?php previous_post_link('« %link'); ?></div>
<div style="float:right"><?php next_post_link('%link »'); ?></div>
分页要用到的函数:把下面这段代码放在functions.php文件里面
分页的函数:加到functions.php中
//pagenav
function pagenav($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string ."&posts_per_page=-1");
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged - 1;
$next = $paged + 1;
$range = 4; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo "<div class='pagination'>";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."'>上一页</a>":"";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}
echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>下一页</a>" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>最后</a>":"";
echo "</div>\n";
}
}
分页的CSS样式;把这段代码放在style.css里面
/*分页的样式 */
.pagination{ margin:0 10px 10px 15px;line-height:23px;text-align:center;}
.pagination span, .pagination a{font-size:12px;margin: 2px 6px 2px 0;background:#fff;border:1px solid #ccc;color:#787878;padding:2px 5px 2px 5px;text-decoration:none;}
.pagination a:hover{background: #8cb900;border:1px solid #436206;color:#fff;font-size:12px;padding:2px 5px 2px 5px;}
.pagination .current{background: #8cb900;border:1px solid #436206;color:#fff;font-size:12px;padding:2px 5px 2px 5px;}
分页的调用:
<?php pagenav($query_string); ?>