因为不懂编程,所以时常改Wordpress模板时要在网上找相关代码,今把我找到的Wordpress代码汇总如下,以备查询。
1、Wordpress模板基本文件
style.css 样式表文件
index.php 主页文件
single.php 日志单页文件
page.php 页面文件
archvie.php 分类和日期存档页文件
searchform.php 搜索表单文件
search.php 搜索页面文件
comments.php 留言区域文件(包括留言列表和留言框)
404.php 404错误页面
header.php 网页头部文件
sidebar.php 网页侧边栏文件
footer.php 网页底部文件
2、Wordpress模板基本条件判断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页是否以多页显示
3、Wordpress Header头部 PHP代码
注: 也就是位于和之间的PHP代码
<?php bloginfo(’name’); ?> 网站标题
<?php wp_title(); ?> 日志或页面标题
<?php bloginfo(’stylesheet_url’); ?> Wordpress主题样式表文件style.css的相对地址
<?php bloginfo(’pingback_url’); ?> Wordpress博客的Pingback地址
<?php bloginfo(’template_url’); ?> Wordpress主题文件的相对地址
<?php bloginfo(’version’); ?> 博客的Wordpress版本
<?php bloginfo(’atom_url’); ?> Wordpress博客的Atom地址
<?php bloginfo(’rss2_url’); ?> Wordpress博客的RSS2地址
<?php bloginfo(’url’); ?> Wordpress博客的绝对地址
<?php bloginfo(’name’); ?> Wordpress博客的名称
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
<?php bloginfo(’html_type’); ?> 网站的HTML版本
<?php bloginfo(’charset’); ?> 网站的字符编码格式
4、Wordpress 主体模板 PHP代码
<?php the_content(); ?> 日志内容
<?php if(have_posts()) : ?> 确认是否有日志
<?php while(have_posts()) : the_post(); ?> 如果有,则显示全部日志
<?php endwhile; ?> 结束PHP函数”while”
<?php endif; ?> 结束PHP函数”if”
<?php get_header(); ?> header.php文件的内容
<?php get_sidebar(); ?> sidebar.php文件的内容
<?php get_footer(); ?> footer.php文件的内容
<?php the_time(’m-d-y’) ?> 如显示格式为”09-03-25″的日期
<?php comments_popup_link(); ?> 显示一篇日志的留言链接
<?php the_title(); ?> 显示一篇日志或页面的标题
<?php the_permalink() ?> 显示一篇日志或页面的永久链接/URL地址
<?php the_category(’, ‘) ?> 显示一篇日志或页面的所属分类
<?php the_author(); ?> 显示一篇日志或页面的作者
<?php the_ID(); ?> 显示一篇日志或页面的ID
<?php edit_post_link(); ?> 显示一篇日志或页面的编辑链接
<?php get_links_list(); ?> 显示Blogroll中的链接
<?php comments_template(); ?> comments.php文件的内容
<?php wp_list_pages(); ?> 显示一份博客的页面列表
<?php wp_list_cats(); ?> 显示一份博客的分类列表
<?php next_post_link(’ %link ‘) ?> 下一篇日志的URL地址
<?php previous_post_link(’%link’) ?> 上一篇日志的URL地址
<?php get_calendar(); ?> 调用日历
<?php wp_get_archives() ?> 显示一份博客的日期存档列表
<?php posts_nav_link(); ?> 显示较新日志链接(上一页)和较旧日志链接(下一页)
<?php bloginfo(’description’); ?> 显示博客的描述信息
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件
5、其它的一些Wordpress模板代码
<?php the_search_query(); ?> 搜索表单的值
<?php _e(’Message’); ?> 打印输出信息
<?php wp_register(); ?> 显示注册链接
<?php wp_loginout(); ?> 显示登入/登出链接
<!–next page–> 在日志或页面中插入分页
<!–more–> 截断日志
<?php wp_meta(); ?> 显示管理员的相关控制信息
<?php timer_stop(1); ?> 显示载入页面的时间
<?php echo get_num_queries(); ?> 显示载入页面查询
在“自定义结构”中填写永久链接的格式。
常用的写法有:
样式:http://www.yourwebsite.com/123.html
写法:/%post_id%.html
样式:http://www.yourwebsite.com/archives/123.html
写法:/archives/%post_id%.html
样式:http://www.yourwebsite.com/2007/09/16/post-name.html
写法:/%year%/%monthnum%/%day%/%postname%.html
样式:http://www.yourwebsite.com/2007/03/post-name.html
写法:/%year%/%monthnum%/%postname%.html
样式:http://www.yourwebsite.com/category/post-name.html
写法: /%category%/%postname%.html
样式:http://www.yourwebsite.com/archives/post-name.html
写法:/archive/%postname%.html
样式:http://www.yourwebsite.com/post-name.html
写法:/%postname%.html
说明:
%year% 日志发布的年,4位数字,如:2004
%monthnum% 日志发布的月份,2位数字,如:05
%day% 日志发布当月的第几天,2位数字,如:28
%hour% 日志发布时间中的“小时”,2位数字,如:15
%minute% 日志发布时间中的“分钟”,2位数字,如:43
%second% 日志发布时间中的“秒”,2位数字,如:33
%postname% 一串处理过的日志标题。如,日志标题为“This Is A Great Post!”,那么%postname%表示为“this-is-a-great-post”
%post_id% 日志的唯一编号
%category% 日志所在的分类
%author% 日志的作者
6、最新评论,最热文章,相关文章,最新文章,随机文章,分类相关,记录看过的文章七个常用功能。
(1)最新评论:
在需要添加最新评论的地方插入如下代码则可:
global $wpdb;
$sql= “SELECT DISTINCT ID, post_title, post_password, comment_ID,comment_post_ID, comment_author, comment_date_gmt, comment_approved,comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AScom_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHEREcomment_approved = ‘1′ AND comment_type = ” AND post_password = ” ORDERBY comment_date_gmt DESC LIMIT 10″;
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
foreach ($comments as $comment) {
$output.= “\n<li>”. “<a href=\”” .get_permalink($comment->ID).”#comment-” . $comment->comment_ID .”\” title=\”on “.$comment->post_title .”\”>”.strip_tags($comment->comment_author).”</a>” .”: “.strip_tags($comment->com_excerpt).”</li>”;
}
$output .= $post_HTML;
echo $output;
?>
(2)最热文章:
在需要添加评论最多的文章列表地方插入如下代码则可:
<ul>
<?php$result = $wpdb->get_results(“SELECT comment_count,ID,post_titleFROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10″);
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li><a href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”>
<?php echo $title ?></a> (<?php echo $commentcount ?>)</li>
<?php } } ?>
</ul>
(3)相关文章:
下面的代码会根据文章中的tag标签自动判断何篇文章与当前相关,而且相关性也很强!
调用代码如下:
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$first_tag = $tags[0]->term_id;
$args=array(
‘tag__in’ => array($first_tag),
‘post__not_in’ => array($post->ID),
’showposts’=>10,
‘caller_get_posts’=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><ahref=”<?php the_permalink() ?>” rel=”bookmark” title=”PermanentLink to <?php the_title_attribute(); ?>”><?php the_title();?> <?php comments_number(‘ ‘,’(1)’,’(%)’); ?></a></li>
<?php
endwhile;
}
}
?>
</ul>
(4)最新文章:
调用代码如下:
<?php
$limit = get_option(‘posts_per_page’);
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(’showposts=’ . $limit=7 . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
<?php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : ?>
<ul>
<li><ahref=”<?php the_permalink() ?>” rel=”bookmark” title=”PermanentLink to <?php the_title_attribute(); ?>”><?php the_title();?></a></li>
</ul>
<?php endif; endwhile; ?>
(5)随机文章:
query_posts(array(‘orderby’ => ‘rand’, ’showposts’ => 1));
if (have_posts()) :
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif; ?>
(6)同一分类最新文章:
网上给出的代码是调用分类ID,要修改ID为分类的数字,我把ID用the_category(‘,’)代替,实现文章页调用同一分类最新文章代码。
调用代码如下:
<?php
$cats = wp_get_post_categories($post->ID);
if ($cats) {
$cat = get_category( $cats[0] );
$first_cat = $cat->cat_ID;
$args = array(
‘category__in’ => array($first_cat),
‘post__not_in’ => array($post->ID),
‘showposts’ => 7,
‘caller_get_posts’ => 1);
query_posts($args);
if (have_posts()) :
while (have_posts()) : the_post(); update_post_caches($posts); ?>
<li>* <a href=”<?php the_permalink(); ?>” rel=”bookmark” title=”<?php the_title_attribute();
?>”><?php the_title(); ?></a></li>
<?php endwhile; else : ?>
<li>* 暂无相关文章</li>
<?php endif; wp_reset_query(); } ?>
</ul>
(7)wordpress记录看过的文章
就是记录访客看过的文章,留个足迹。这也许是真正意义上的足迹吧,看过文章就给记录,不管你是潜水也好,水车也好。实现原理是给客户端浏览器加个cookie,每访问一次记录一次,服务器表示无压力……
首先需要以下函数加到function.php
<?php
function save_posts_viewed($maxCount=10){
global $post;
$done=false;
//新列
$newList=array();
$postsViewed=”";
if(isset($_COOKIE['postsViewed'])){
$postsViewed=$_COOKIE['postsViewed'];
}
if(isset($_COOKIE['postsViewed'])&&$postsViewed!=array()){
$repeat=null;
$repeated=false;
foreach ($postsViewed as $k=>$p){
if($p['ID']==$post->ID){
$repeat=$p;
$repeated=true;
}
$newList[]=$p;
}
if($repeated)
$newList[]=$repeat;
$newList[]=array(
‘ID’=>$post->ID,
‘post_title’=>$post->post_title,
‘post_date’=>$post->post_date,
‘viewed_date’=>time()
);
}else{
$newList[]=array(
‘ID’=>$post->ID,
‘post_title’=>$post->post_title,
‘post_date’=>$post->post_date,
‘viewed_date’=>time()
);
}
if(count($newList)>$maxCount){
$newList2=array();
$m=1;
if($m>count($newList)-$maxCount)
$newList2[]=$n;
$m++;
}
$newList=$newList2;
}
creatCookiesList($newList);
}
function creatCookiesList($newList){
//setcookie(“postsViewed”,”, COOKIEPATH, COOKIE_DOMAIN);
setcookie(“postsViewed[$k][ID]“,$n['ID'],time()+3600*24*365,COOKIEPATH, COOKIE_DOMAIN);
setcookie(“postsViewed[$k][post_title]“,$n['post_title'],time()+3600*24*365, COOKIEPATH, COOKIE_DOMAIN);
setcookie(“postsViewed[$k][post_date]“,$n['post_date'],time()+3600*24*365, COOKIEPATH, COOKIE_DOMAIN);
setcookie(“postsViewed[$k][viewed_date]“,$n['viewed_date'],time()+3600*24*365, COOKIEPATH, COOKIE_DOMAIN);
}
}
function get_posts_viewed(){
if(isset($_COOKIE['postsViewed'])){
$list=$_COOKIE['postsViewed'];
$num=0;
for ($i=count($list)-1;$i>=0;$i–){
$num++;
?>
<li style=”height:16px;”><span style=”margin-right:5px;”><?php echo $num;?>?</span><a href=”<?php echo get_permalink($list[$i]['ID'])?>” title=”您在 <?php echo date(‘Y-m-d h:i’,$list[$i]['viewed_date'])?>观看了这篇文章“><?php echo $str=$list[$i]['post_title']?></a></li>
<?php }
}else {?>
<li>你没有浏览过任何文章或者你没有开启cookies。</li>
<?php }
}
调用方法:
1、先在single.php主循环里面加上:
数字10是记录数量,这个可以自定义。
2、然后在页面任意适合的地方,比如在foot里面输出:
具体位置和样式就用css控制了。
7、WordPress内置统计代码
(1)用户总数:
(2)日志总数:
(3)评论总数:
$comment = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ’1′ AND comment_type != ‘trackback’ AND comment_type != ‘pingback’”);
echo $comment;?></span> 篇</li>
(4)标签总数:
(5)分类总数:
(6)页面总数:
(7)链接总数:
(8)成立时间:
(9)最后更新:
$last = date(‘Y-n-j g:ia’, strtotime($last[0]->MAX_m));
echo $last; ?>
(10)草稿数目:
8、非WordPress网站显示WordPress网站的最新文章
get_results(“SELECT ‘ID’,'post_title’,'post_content’ FROM $wpdb->posts WHERE ‘post_type’=\”post\” AND ‘post_status’=\”publish\” ORDER BY post_date DESC LIMIT $how_many”); foreach($news as $np){ printf (”
“, $np->post_content); }?>
9、为 WordPress 文章、Feed 添加了版权
使用 WordPress 自定义函数以及 add_filter 钩子,自动向 WordPress 内容里添加版权等信息,当然,大家也可以将其替换成广告!
首先粘贴以下代码到 functions.php:
if(!is_feed() && !is_home()) {
$content.= “
“;
}
return $content;
}
add_filter (‘the_content’, ‘insertNote’);
其次大家根据自身需要定义CSS 样式就行了。
很棒,找到了需要的答案,感谢~!