wordpress企业站主题制作笔记

特定位置调用特定的文章tags.phpwp_tag_cloud标签参数说明

1、企业静态页面制作成wordpress主题

企业主题和博客主题的区别

1、首页显示内容不一样

2、产品为主,图片丰富,更加的细分

3、在制作上和博客主题的区别,category.php

制作一个最简单的主题,只需要两个文件,index.phpstyle.css

第一步,准备静态页面

第二步,制作index.phpstyle.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.phpfooter.phpsidebar.phhp

需要用到的调用标签:

<?php get_header();?>

<?php get_footer();?>

<?php get_sidebar();?>

2、制作header.phpfooter.phpsidebar

1Header.phpfooter.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'); ?>

2sidebar.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='); ?>

3、首页图片调用和文章列表显示和友情链接

这里需要用到缩略图插件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'); ?>

4、新闻列表页面的制作和分页

新建页面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;}

5、产品展示页面的制作和分页

新建页面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>

6、制作详细内容页面single.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_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('&laquo; %link'); ?></div>

<div style="float:right"><?php next_post_link('%link &raquo;'); ?></div>

7、制作独立页面page.php

复制single.php,删除文章导航,上一篇,下一篇代码。

附录1Meta的设定,使用php判断网页类型;然后相应的引用,见附录1

说起建站后的必要优化工作就是设置网站的TitleMeta描述和关键词标签,虽然现在这两个标签语句都已经不那么受搜索引擎所待见了,但适当的设置也总比没设置的要好。下面介绍一下WordPress程序的Title Meta标签设置方法,以方便刚接触使用的新手搜索参考,下文方法主要是通过修改调用WordPress标签代码实现。

一、WordPress Title标题优化

WordPressTitle显示思齐觉得现在默认的就不错,都是以“页面名称 | 网站名称”这类显示,没什么要改的,保持默认的就行。如果你想自定义标题中间的分隔符,只需替换下面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:(字符串)对smallestlargest的值的测量单位。可以是任何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′表示不显示id12的标签。默认全显示。

include:(字符串)选择要显示的标签(term_id)列表,各ID用逗号隔开。例如,‘include=3,4′表示只显示id34的标签。默认全显示。

link:(字符串)设置链接,允许编辑某个指定标签。(该标签引入于WordPress 2.7)。

view’(默认值)

‘edit’

taxonomy:(字符串)用以生成云的分类法。(引入于WordPress2.8)。

post_tag’——(默认值)将文章标签当作云的来源

category’——用文章分类生成云

link_category’——用链接分类目录生成云

echo:(布尔型)显示结果,或将结果保留在变量中。默认值为true(显示标签云)。(该标签引入于WordPress2.8

1 (true) ——默认值

0 (false)

你可能感兴趣的:(wordpress)