特定位置调用特定的文章tags.phpwp_tag_cloud标签参数说明
企业主题和博客主题的区别
1、首页显示内容不一样
2、产品为主,图片丰富,更加的细分
3、在制作上和博客主题的区别,category.php
制作一个最简单的主题,只需要两个文件,index.php和style.css
第一步,准备静态页面
第二步,制作index.php和style.css
第三步,给style.css添加版权信息
第四步:把主题上传到空间中wordpress安装路径,wp-content/themes/下面,这里主题的文件夹名字必须是英文
第五步,在wordpress后台启用主题
先给style.css添加版权信息
/*
Theme Name: wordpress theme 01
Theme URI: http://www.buyud.com/
Description: a company theme
Author: xixi
Author URI: http://www.buyud.com/
Version: 1.0
Tags: white, company, liweihui, blue,products,news
*/
Style.css路径调用:<?php bloginfo( 'stylesheet_url' ); ?>
主题所在路径调用:<?php bloginfo('stylesheet_directory'); ?>
第六步,把index.php拆分成header.php,footer.php和sidebar.phhp
需要用到的调用标签:
<?php get_header();?>
<?php get_footer();?>
<?php get_sidebar();?>
1、Header.php和footer.php用到代码:
<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>
Title的写法,引用博客信息作为title
<title>China <?php if (is_home()||is_search()) { bloginfo('name'); } else { wp_title(''); print " - "; bloginfo('name'); } ?> | Supplier</title> <!--#引用信息做标题"-->
Meta的设定,使用php判断网页类型;然后相应的引用,见附录1
Footer.php版权信息:
© Copyright (c) 2011 <a href="http://wordpress.liweihui.com/" target="_parent">利为汇wordpress教程网</a> | Powered by 利为汇<a href="http://wordpress.liweihui.com">wordpress教程网</a>
获取博客名字:<?php bloginfo('name'); ?>
获取博客描述:<?php bloginfo('description'); ?>
获取主页路径:<?php echo get_option('home'); ?>
页面调用:
<?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'); ?>
2、sidebar.php用到代码:
产品分类调用代码:修改child_of=
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=1&hide_empty=0&child_of=10'); ?>
新闻分类代码调用:修改child_of=
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=1&hide_empty=0&child_of=10'); ?>
部分页面导航调用:修改include=中的id为你想要显示的id
<?php wp_list_pages('sort_column=menu_order&title_li=&depth=2&include='); ?>
这里需要用到缩略图插件wp-thumbnails
1、首页图片展示代码:
<?php if (have_posts()) : ?>
<?php query_posts('cat=3' . $mcatID. '&caller_get_posts=1&showposts=6'); ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<?php if(function_exists('wp_thumbnails_for_homepage')) { wp_thumbnails_for_homepage(); } ?>
<br /><p><a href="<?php the_permalink() ?>" ><?php the_title(); ?></a></p>
</li>
<?php endwhile;?>
<?php else : ?>
<?php endif; ?>
2、调用一个类别下面的文章:
<?php if (have_posts()) : ?>
<?php query_posts('cat=1&showposts=20'); ?>
<?php while (have_posts()) : the_post(); ?>
<ul>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
</ul>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
首页友情链接:
<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=24'); ?>
新建页面category-*.php,*号为wordpress后台建立的相应的分类id号
1、显示列表:
<?php if ($posts_perpage) { ?>
<?php $postsperpage = $posts_perpage; ?>
<?php } else { ?>
<?php $postsperpage = 10; ?>
<?php } ?>
<?php
$categoryID=$cat;
$wp_query = new WP_Query('cat=' . $categoryID. 'orderby=date&order=desc&posts_per_page='.$postsperpage.'&paged='.$paged); ?>
<?php while (have_posts()) : the_post(); ?>
<ul>
<li><span><?php the_date_xml(); ?></span><span></span><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
</ul>
<?php endwhile; ?>
2、显示分页
调用方式: <?php pagenav($query_string); ?>
在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";
}
}
在sytle.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;}
新建页面category-*.php,*号为wordpress后台建立的相应的分类id号
图片调用:
<?php if ($posts_perpage) { ?>
<?php $postsperpage = $posts_perpage; ?>
<?php } else { ?>
<?php $postsperpage = 9; ?>
<?php } ?>
<?php
$categoryID=$cat;
$wp_query = new WP_Query('cat=' . $categoryID. 'orderby=date&order=desc&posts_per_page='.$postsperpage.'&paged='.$paged); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li>
<?php if(function_exists('wp_thumbnails_for_homepage')) { wp_thumbnails_for_homepage(); } ?>
<br /><p><a href="<?php the_permalink() ?>" ><?php the_title(); ?></a></p>
</li>
<?php endwhile;?>
</ul>
<?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_time('F d, Y') ?>
作者::<?php the_author_posts_link(); ?>
标签:<?php the_category(', ') ?>
内容:<?php the_content("Read More..."); ?>
文章导航,上一篇,下一篇
<div style="float:left"><?php previous_post_link('« %link'); ?></div>
<div style="float:right"><?php next_post_link('%link »'); ?></div>
复制single.php,删除文章导航,上一篇,下一篇代码。
附录1:Meta的设定,使用php判断网页类型;然后相应的引用,见附录1
说起建站后的必要优化工作就是设置网站的Title和Meta描述和关键词标签,虽然现在这两个标签语句都已经不那么受搜索引擎所待见了,但适当的设置也总比没设置的要好。下面介绍一下WordPress程序的Title Meta标签设置方法,以方便刚接触使用的新手搜索参考,下文方法主要是通过修改调用WordPress标签代码实现。
一、WordPress Title标题优化
WordPress的Title显示思齐觉得现在默认的就不错,都是以“页面名称 | 网站名称”这类显示,没什么要改的,保持默认的就行。如果你想自定义标题中间的分隔符,只需替换下面title代码中的红色部分即可。
<title><?php
/*
* Print the <title> tag based on what is being viewed.
*/
global $page, $paged;
wp_title( '|', true, 'right' );
// Add the website name.
bloginfo( 'name' );
// Add the website description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";
// Add a page number if necessary:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );
?></title>
二、WordPress Meta标签优化
WordPress默认是没有Meta描述和关键词标签的,需手动添加。以下是我另一WordPress博客中正在使用的Meta代码,你可根据你的需要进行微调,下面//后的文字注释使用中可删除掉。
<?php
if (is_home() || is_front_page()) // 首页及静态首页
{
$description = "网站描述";
$keywords = "网站关键词";
}
elseif (is_page()) // 单独页面
{
$description = get_post_meta($post->ID, "description", true); // 调用页面中的description自定义栏目,在页面内容编辑时先新建填好
$keywords = get_post_meta($post->ID, "keywords", true);// 调用页面中的keywords自定义栏目,在页面内容编辑时先新建填好
}
elseif (is_single()) // 文章页面
{
$description = $post->post_excerpt ; // 调用文章摘要作为description
$keywords = get_post_meta($post->ID, "keywords", true); // 调用文章中的keywords自定义栏目,在文章内容编辑时先新建填好。这里不调用文章标签作为keywords,主要是考虑到网站标签和文章关键词的重复问题
}
elseif (is_category())// 分类页面
{
$description = category_description();// 调用分类自身的描述,需提前设置好
if (!empty($description) && get_query_var('paged')) {
$description .= '(第'.get_query_var('paged').'页)';
}// 防止分页描述重复
$keywords = single_cat_title('', false);// 调用分类名称作为关键词
}
elseif (is_tag())// 标签页面
{
$description = tag_description();// 调用标签自身的描述,需提前设置好
if (!empty($description) && get_query_var('paged')) {
$description .= '(第'.get_query_var('paged').'页)';
}// 防止分页描述重复
$keywords = single_tag_title('', false);// 调用标签名称作为关键词
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
修改后将代码添加到header.php文件里即可。
特定位置调用特定的文章
有时候我们需要在特定位置调用特定的文章,比如我需要在首页侧边栏调用“博百优”标签下的文章,该如何实现呢?
这时就需要用到query_posts函数,函数的详细参数可以查看wp官网。下面是我博客用到的代码:
<ul>
<?php query_posts('tag=皇家元林&orderby=rand&showposts=6'); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>“><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query();?>
</ul>
调用指定分类下的文章:query_posts(‘category_name=分类名’);
调用来自一个类别ID的文章:query_posts(‘cat=ID’);
调用的参数都可以是多个。
我代码里用到的是orderby=rand随机排序,showposts是调用文章数目,可以根据自己的需要更改。
这个很关键,因为query_posts指定规则后不止是对它下一个LOOP生效,可能导致全站其他LOOP调用失效,wp_reset_query可以用来清空wp_query规则。
把tags.php上传至模板目录
然后点击后台->撰写->撰写页面 页面标题为 tags。页面内容为空就可以了。 最重要的一步,选择页面模块,这里除了默认多出了一个新选项,就是刚刚才建好的tags.php模板,选择tags。因为我启用自定义的永久链接,所以页 面缩略名也必不可少,还是老样子,起名为tags (起啥名都行)
发布 OK
然后给侧边栏sidebar加个链接 一切搞电。
<?php
/*
Template Name: Tags
*/
?>
<?php get_header(); ?>
<?php get_sidebar(); ?>
<div class="narrowcolumn">
<div class="post" id="post-<?php the_ID(); ?>">
<h2>Tags</h2>
<div class="entry">
<?php wp_tag_cloud('smallest=12&largest=12&unit=px&number=5000');?>//smallest是最小字号,largest是最大字号,unit是单位,number是显示关键词个数,默认是45个
</div>
</div>
</div><!-- end narrwocolumn -->
<?php get_footer(); ?>
<?php
/*
Template Name: Tags
*/
wp_tag_cloud标签参数说明
smallest:使用次数最少的标签的字号大小(单位由unit参数决定),默认值为8
largest:使用次数最多的标签的字号大小(单位由unit参数决定),默认值为22
unit:(字符串)对smallest与largest的值的测量单位。可以是任何CSS长度单位,如pt, px, em, %。默认值为’pt’
number:显示标签数量。(值为’0′时显示所有标签),默认值为45
format:(字符串)所显示的云的格式。’flat’(默认值)标签被“separator”参数所定义的空格分隔;’list’标签与class=’wp-tag-cloud’共同在UL中;’array’标签在数组中,函数以数组方式返回标签云,以用在PHP中。(数组被返回,而非显示,引入于WordPress 2.5)
separator:(字符串)标签之间的文本/空格。(引入于WordPress 2.9)。默认值:’/n’(空格)
orderby:(字符串)标签的排列顺序的方式。’name’(默认值,按名称排列),’count’(按使用次数排列)
order:(字符串)排列顺序(升序或降序)。
‘ASC’——默认值;
‘DESC’;
‘RAND’随机排列。(引入于WordPress 2.5)
exclude:(字符串)不显示的标签(term_id)的ID,各ID用逗号隔开。如‘exclude=1,2′表示不显示id为1和2的标签。默认全显示。
include:(字符串)选择要显示的标签(term_id)列表,各ID用逗号隔开。例如,‘include=3,4′表示只显示id为3和4的标签。默认全显示。
link:(字符串)设置链接,允许编辑某个指定标签。(该标签引入于WordPress 2.7)。
‘view’(默认值)
‘edit’
taxonomy:(字符串)用以生成云的分类法。(引入于WordPress2.8)。
‘post_tag’——(默认值)将文章标签当作云的来源
‘category’——用文章分类生成云
‘link_category’——用链接分类目录生成云
echo:(布尔型)显示结果,或将结果保留在变量中。默认值为true(显示标签云)。(该标签引入于WordPress2.8)
1 (true) ——默认值
0 (false)