文章归档友情连接照片地图

wordpress 模板制作手记

分类:wordpress  作者:rming  时间:2011-10-30

获取指定分类指定数量随机顺序文章标题及其链接

<?php $rand_posts = get_posts('numberposts=5&orderby=rand&category=1'); foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>

WordPress 非首页显示文章列表

<?php
/*
Template Name: News
*/
?>
<?php get_header(); ?>
<div id="content" role="main">
<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('&showposts=' . $limit . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Do stuff... -->
<?php endwhile; else: ?>
<p>Sorry, nothing here.</p>
<?php endif; ?>
<div>
<div><?php previous_posts_link(); ?></div>
<div><?php next_posts_link(); ?></div>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

页面title部分实例

<?php if ( is_home() ) {
bloginfo('name'); echo " - "; bloginfo('description');
} elseif ( is_category() ) {
single_cat_title(); echo " - "; bloginfo('name');
} elseif (is_single() || is_page() ) {
single_post_title();
} elseif (is_search() ) {
echo "搜索结果"; echo " - "; bloginfo('name');
} elseif (is_404() ) {
echo '页面未找到!';
} else {
wp_title('',true);
} ?>

链入css部分

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

头部的系统信息和清除缓存

<?php wp_head(); ?>
</head>
<?php flush(); ?>
<body>

博客名称logo

<a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a>

头部导航设置

<?php
$currentcategory = '';
// 以下这行代码用于在导航栏添加分类列表,
// 如果你不想添加分类到导航中,
// 请删除 54 - 64 行代码
if (!is_page() && !is_home()) {
$catsy = get_the_category();
$myCat = $catsy[0]->cat_ID;
$currentcategory = '&current_category='.$myCat;
}
//目录列表(已屏蔽)
wp_list_categories('depth=1&title_li=&show_count=0&hide_empty=0&child_of=0'.$currentcategory);
// 以下这行代码用于在导航栏添加页面列表
// 如果你不想添加页面到导航中,
// 请删除63 - 64行代码
wp_list_pages('depth=1&title_li=&exclude=68&sort_column=menu_order');
?>

获取指定页面或文章的信息

<?php wp_list_pages('depth=1&include=68&title_li='); ?>

在function.php中注册侧边栏

<?php
if( function_exists('register_sidebar') ) {
register_sidebar(array(
'before_widget' => '<div class="side_block">', // widget 的开始标签
'after_widget' => '</div>', // widget 的结束标签
'before_title' => '<h3 class="side_block_menu"><span class="menu_icon_1"></span>', // 标题的开始标签
'after_title' => '</h3>' // 标题的结束标签
));
}
?>

在sitebar.php中调用侧边栏

 <?php // 如果没有使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) :
?>
<!-- widget 1 -->
<div class="side_block">
<h3 class="side_block_menu">娱乐新闻</h3>
<ul>
<li class="side_block_li"><a href="#">第1个信息</a></li>
<li class="side_block_li"><a href="#">第2个信息</a></li>
<li class="side_block_li"><a href="#">第3个信息</a></li>
<li class="side_block_li side_block_last"><a href="#">第4个信息</a></li>
</ul>
</div>
<?php endif; ?>

显示友情链接

<ul><?php get_links_list(); ?></ul>

显示Wordpress标签

 <?php the_tags(); ?>

显示Wordpress标签云

<?php wp_tag_cloud(’smallest=8&largest=36&’); ?>

调用Gravatar(只适应2.5以上)

<?php if(function_exists(’get_avatar’)){ echo get_avatar($comment, ‘50?);} ?>

显示文章分类

<h2>Categories</h2>
<ul><?php wp_list_cats(’sort_column=name’); ?></ul>

显示归档

<h2>Archives</h2>
<ul><?php wp_get_archives(’type=monthly’); ?></ul>

在侧栏显示页面列表

<h2>Pages</h2>
<ul><?php wp_list_pages(’title_li=’); ?></ul>

显示热评文章

<?php $result = $wpdb->get_results(”SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10″); foreach ($result as $topten) { $postid = $topten->ID; $title = $topten->post_title; $commentcount = $topten->comment_count; if ($commentcount != 0) { ?>
<li><a href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”><?php echo $title ?></a></li>
<?php } } ?>

显示最新文章列表

<?php query_posts(’showposts=5′); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink() ?>”><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>

其他常用函数

(一)WordPress基本模板文件,一套完整的WordPress模板包括如下文件,但是只有index.php和style.css是不能缺少的:
style.css : CSS(样式表)文件,不可缺少版权部分,真正CSS样式表可以放在其他文件;
index.php : 主页模板,不可缺少;
archive.php : Archive/Category模板,如果缺少,默认为index.php的显示;
404.php : Not Found 错误页模板,如果缺少,默认为index.php的显示;
comments.php : 留言/回复模板,不可缺少;
footer.php : Footer模板,可合并到index.php;
header.php : Header模板,可合并到index.php;
sidebar.php : 侧栏模板,可合并到index.php;
page.php : 内容页(Page)模板,如果缺少,默认为index.php的显示;
single.php : 内容页(Post)模板,如果缺少,默认为index.php的显示;
searchform.php : 搜索表单模板,可合并到index.php;
search.php : 搜索结果模板,如果缺少,默认为index.php的显示;
(二)基本条件判断Tag
is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示
(三)Header部分常用到的PHP函数
<?php bloginfo(’name’); ?> : 博客名称(Title)
<?php bloginfo(’stylesheet_url’); ?> : CSS文件路径
<?php bloginfo(’pingback_url’); ?> : PingBack Url
<?php bloginfo(’template_url’); ?> : 模板文件路径
<?php bloginfo(’version’); ?> : WordPress版本
<?php bloginfo(’atom_url’); ?> : Atom Url
<?php bloginfo(’rss2_url’); ?> : RSS 2.o Url
<?php bloginfo(’url’); ?> : 博客 Url
<?php bloginfo(’html_type’); ?> : 博客网页Html类型
<?php bloginfo(’charset’); ?> : 博客网页编码
<?php bloginfo(’description’); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
(四)模板常用的PHP函数及命令
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(’,’) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(’%link’); ?> : 下一篇文章链接
<?php previous_post_link(’%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件
(五)与模板相关的其他函数
<?php the_search_query(); ?> 搜索表单的值
<?php _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<?php wp_meta(); ?> 显示管理员的相关控制信息(为插件API HOOK用)
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量


提交评论