wordpress企业站主题制作笔记

来源:互联网 发布:jquery数据转换 编辑:程序博客网 时间:2024/04/28 17:15

特定位置调用特定的文章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)

原创粉丝点击