因为不懂编程,所以时常改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)最新评论:
在需要添加最新评论的地方插入如下代码则可:

<?php
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标签自动判断何篇文章与当前相关,而且相关性也很强!
调用代码如下:

<ul>
<?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)随机文章:

<?php
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(‘,’)代替,实现文章页调用同一分类最新文章代码。

调用代码如下:

<ul>
<?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;

}

else

$newList[]=$p;

}

if($repeated)

$newList[]=$repeat;

else

$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;

foreach ($newList as $n){

if($m>count($newList)-$maxCount)

$newList2[]=$n;

$m++;

}

$newList=$newList2;

}

creatCookiesList($newList);

}

function creatCookiesList($newList){

//setcookie(“postsViewed”,”, COOKIEPATH, COOKIE_DOMAIN);

foreach ($newList as $k=>$n){

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主循环里面加上:

<?php save_posts_viewed(10);?>

数字10是记录数量,这个可以自定义。

2、然后在页面任意适合的地方,比如在foot里面输出:

<?php get_posts_viewed();?>

具体位置和样式就用css控制了。

7、WordPress内置统计代码

(1)用户总数:

<?php $users = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->users”); echo $users; ?> 位</li>

(2)日志总数:

<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> 篇</li>

(3)评论总数:

<span title=”访客/管理员:<?php $comment_guest = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ’1′ AND comment_type != ‘trackback’ AND comment_type != ‘pingback’ AND user_id = 0″); echo $comment_guest; ?>/<?php $comment_author = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ’1′ AND comment_type != ‘trackback’ AND comment_type != ‘pingback’ AND user_id > 0″); echo $comment_author; ?>”>评论总数:<?php
$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)标签总数:

<?php echo $count_tags = wp_count_terms(‘post_tag’); ?> 个</li>

(5)分类总数:

<?php echo $count_categories = wp_count_terms(‘category’); ?> 个</li>

(6)页面总数:

<?php $count_pages = wp_count_posts(‘page’); echo $page_posts = $count_pages->publish; ?> 个</li>

(7)链接总数:

<?php $link = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = ‘Y’”); echo $link; ?> 个</li>

(8)成立时间:

<span title=”已经在线 &lt;?php echo floor((time()-strtotime(“> 天”&gt;成立时间:2009.7.5</span>

(9)最后更新:

<?php $last = $wpdb->get_results(“SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = ‘post’ OR post_type = ‘page’) AND (post_status = ‘publish’ OR post_status = ‘private’)”);
$last = date(‘Y-n-j g:ia’, strtotime($last[0]->MAX_m));
echo $last; ?>

(10)草稿数目:

<?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?>

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 (”

%s

“, $np->post_content); }?>

9、为 WordPress 文章、Feed 添加了版权
使用 WordPress 自定义函数以及 add_filter 钩子,自动向 WordPress 内容里添加版权等信息,当然,大家也可以将其替换成广告!
首先粘贴以下代码到 functions.php:

function insertNote($content) {
if(!is_feed() && !is_home()) {
$content.= “ 

“;
$content.= “ 

喜欢这篇文章吗?

“;
$content.= ”

请订阅本站 RSS feed ,且思且行版权所有!

“;
$content.= ”

“;
}
return $content;
}
add_filter (‘the_content’, ‘insertNote’);

其次大家根据自身需要定义CSS 样式就行了。