wordpress是一種使用PHP語(yǔ)言開(kāi)發(fā)的博客平臺(tái),,用戶可以在支持PHP和MySQL 數(shù)據(jù)庫(kù)的服務(wù)器上架設(shè)自己的網(wǎng)志,,插件眾多,,易于擴(kuò)充功能,。安裝和使用都非常方便,。目前 WordPress 已經(jīng)成為主流的 Blog 搭建平臺(tái),。
WordPress模板基本文件
style.css 樣式表文件
index.php 主頁(yè)文件
single.php 日志單頁(yè)文件
page.php 頁(yè)面文件
archvie.php 分類和日期存檔頁(yè)文件
searchform.php 搜索表單文件
search.php 搜索頁(yè)面文件
comments.php 留言區(qū)域文件(包括留言列表和留言框)
404.php 404錯(cuò)誤頁(yè)面
header.php 網(wǎng)頁(yè)頭部文件
sidebar.php 網(wǎng)頁(yè)側(cè)邊欄文件
footer.php 網(wǎng)頁(yè)底部文件
WordPress Header頭部 PHP代碼
注: 也就是位于<head>和</head>之間的PHP代碼
<?php bloginfo(‘name’); ?> 網(wǎng)站標(biāo)題
<?php wp_title(); ?> 日志或頁(yè)面標(biāo)題
<?php bloginfo(‘stylesheet_url’); ?> WordPress主題樣式表文件style.css的相對(duì)地址
<?php bloginfo(‘pingback_url’); ?> WordPress博客的Pingback地址
<?php bloginfo(‘template_url’); ?> WordPress主題文件的相對(duì)地址
<?php bloginfo(‘version’); ?> 博客的Wordpress版本
<?php bloginfo(‘atom_url’); ?> WordPress博客的Atom地址
<?php bloginfo(‘rss2_url’); ?> WordPress博客的RSS2地址
<?php bloginfo(‘url’); ?> WordPress博客的絕對(duì)地址
<?php bloginfo(‘name’); ?> WordPress博客的名稱
<?php bloginfo(‘html_type’); ?> 網(wǎng)站的HTML版本
<?php bloginfo(‘charset’); ?> 網(wǎng)站的字符編碼格式
WordPress 主體模板 PHP代碼
<?php the_content(); ?> 日志內(nèi)容
<?php if(have_posts()) : ?> 確認(rèn)是否有日志
<?php while(have_posts()) : the_post(); ?> 如果有,,則顯示全部日志
<?php endwhile; ?> 結(jié)束PHP函數(shù)”while”
<?php endif; ?> 結(jié)束PHP函數(shù)”if”
<?php get_header(); ?> header.php文件的內(nèi)容
<?php get_sidebar(); ?> sidebar.php文件的內(nèi)容
<?php get_footer(); ?> footer.php文件的內(nèi)容
<?php the_time(‘m-d-y’) ?> 顯示格式為”02-19-08″的日期
<?php comments_popup_link(); ?> 顯示一篇日志的留言鏈接
<?php the_title(); ?> 顯示一篇日志或頁(yè)面的標(biāo)題
<?php the_permalink() ?> 顯示一篇日志或頁(yè)面的永久鏈接/URL地址
<?php the_category(‘, ‘) ?> 顯示一篇日志或頁(yè)面的所屬分類
<?php the_author(); ?> 顯示一篇日志或頁(yè)面的作者
<?php the_ID(); ?> 顯示一篇日志或頁(yè)面的ID
<?php edit_post_link(); ?> 顯示一篇日志或頁(yè)面的編輯鏈接
<?php get_links_list(); ?> 顯示Blogroll中的鏈接
<?php comments_template(); ?> comments.php文件的內(nèi)容
<?php wp_list_pages(); ?> 顯示一份博客的頁(yè)面列表
<?php wp_list_cats(); ?> 顯示一份博客的分類列表
<?php next_post_link(‘ %link ‘) ?> 下一篇日志的URL地址
<?php previous_post_link(‘%link’) ?> 上一篇日志的URL地址
<?php get_calendar(); ?> 調(diào)用日歷
<?php wp_get_archives() ?> 顯示一份博客的日期存檔列表
<?php posts_nav_link(); ?> 顯示較新日志鏈接(上一頁(yè))和較舊日志鏈接(下一頁(yè))
<?php bloginfo(‘description’); ?> 顯示博客的描述信息
其它的一些Wordpress模板代碼
/%postname%/ 顯示博客的自定義永久鏈接
<?php the_search_query(); ?> 搜索表單的值
<?php _e(‘Message’); ?> 打印輸出信息
<?php wp_register(); ?> 顯示注冊(cè)鏈接
<?php wp_loginout(); ?> 顯示登入/登出鏈接
<!–next page–> 在日志或頁(yè)面中插入分頁(yè)
<!–more–> 截?cái)嗳罩?/p>
<?php wp_meta(); ?> 顯示管理員的相關(guān)控制信息
<?php timer_stop(1); ?> 顯示載入頁(yè)面的時(shí)間
<?php echo get_num_queries(); ?> 顯示載入頁(yè)面查詢
1. wordpress調(diào)用最新文章
WordPress最新文章的調(diào)用可以使用一行很簡(jiǎn)單的模板標(biāo)簽wp_get_archvies來(lái)實(shí)現(xiàn). 代碼如下:
<?php get_archives(‘postbypost’, 10); ?> (顯示10篇最新更新文章)
或者
<?php wp_get_archives(‘type=postbypost&limit=20&format=custom’); ?>
后面這個(gè)代碼顯示你博客中最新的20篇文章,,其中format=custom這里主要用來(lái)自定義這份文章列表的顯示樣式。具體的參數(shù)和使用方法你可 以參考官方的使用說(shuō)明- wp_get_archvies,。(fromat=custom也可以不要,,默認(rèn)以UL列表顯示文章標(biāo)題。)
補(bǔ)充: 通過(guò)WP的query_posts()函數(shù)也能調(diào)用最新文章列表,, 雖然代碼會(huì)比較多一點(diǎn),,但可以更好的控制Loop的顯示,比如你可以設(shè)置是否顯示摘要,。具體的使用方法也可以查看官方的說(shuō)明,。
2. wordpress調(diào)用隨機(jī)文章
<?php
$rand_posts = get_posts(‘numberposts=10&orderby=rand’);
foreach( $rand_posts as $post ) :
?>
<!–下面是你想自定義的Loop–>
<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li>
<?php endforeach; ?>
3. wordpress調(diào)用最新留言
下面是我之前在一個(gè)Wordpress主題中代到的最新留言代碼,具體也記不得是哪個(gè)主題了,。該代碼直接調(diào)用數(shù)據(jù)庫(kù)顯示一份最新留言,。其中 LIMIT 10限制留言顯示數(shù)量。綠色部份則是每條留言的輸出樣式,。
<?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) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = ’1′ AND comment_type = ” AND
post_password = ”
ORDER BY comment_date_gmt DESC
LIMIT 10″;
$comments = $wpdb->get_results($sql);
$output = $pre_HTML; foreach ($comments as $comment) {
$output .= “n<li>”.strip_tags($comment->comment_author)
.”:” . ” <a href=”” . get_permalink($comment->ID) .
“#comment-” . $comment->comment_ID . “” title=”on ” .
$comment->post_title . “”>” . strip_tags($comment->com_excerpt)
.”</a></li>”;
} $output .= $post_HTML;
echo $output;?>
4.wordpress調(diào)用相關(guān)文章
在文章頁(yè)顯示相關(guān)文章
<?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><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title_attribute(); ?>”><?php the_title();?> <?php comments_number(‘ ‘,’(1)’,’(%)’); ?></a></li>
<?php
endwhile;
}
}
wp_reset_query();
?>
5.wordpress調(diào)用指定分類的文章
<?php $posts = get_posts( “category=4&numberposts=10″ ); ?>
<?php if( $posts ) : ?>
<ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<li>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
6.wordpress去評(píng)論者鏈接的評(píng)論輸出
<?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,14) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = ’1′ AND comment_type = ” AND
post_password = ”
ORDER BY comment_date_gmt DESC
LIMIT 10″;
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
foreach ($comments as $comment) {
$output .= “ <li>”.strip_tags($comment->comment_author).”:” . ” <a href=”” . get_permalink($comment->ID) .
“#comment-” . $comment->comment_ID . “” title=”on ” .
$comment->post_title . “”>” . strip_tags($comment->com_excerpt).”</a></li>”;
}
$output .= $post_HTML;
echo $output;?>
7.wordpress調(diào)用含gravatar頭像的評(píng)論輸出
<?php
global $wpdb;
$sql = “SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved,comment_author_email, comment_type,comment_author_url, SUBSTRING(comment_content,1,10) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = ” AND comment_author != ‘鄭 永’ AND post_password = ” ORDER BY comment_date_gmt DESC LIMIT 10″;
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
foreach ($comments as $comment)
{
$output .= “ <li>”.get_avatar(get_comment_author_email(‘comment_author_email’), 18). ” <a href=”” . get_permalink($comment->ID) . “#comment-” . $comment->comment_ID . “” title=”” . $comment->post_title . ” 上的評(píng)論”>”. strip_tags($comment->comment_author) .”: “. strip_tags($comment->com_excerpt) .”</a></li>”;
}
$output .= $post_HTML;
$output = convert_smilies($output);
echo $output;
?>
上面代碼把comment_author的值改成你的ID,,18是頭像大小,10是評(píng)論數(shù)量,。
8.wordpress調(diào)用網(wǎng)站統(tǒng)計(jì)大全
1,、日志總數(shù):
<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?>
2、草稿數(shù)目:
<?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?>
3,、評(píng)論總數(shù):
<?php echo $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments”);?>
4,、成立時(shí)間:
<?php echo floor((time()-strtotime(“2008-8-18″))/86400); ?>
5,、標(biāo)簽總數(shù):
<?php echo $count_tags = wp_count_terms(‘post_tag’); ?>
6、頁(yè)面總數(shù):
<?php $count_pages = wp_count_posts(‘page’); echo $page_posts = $count_pages->publish; ?>
7,、分類總數(shù):
<?php echo $count_categories = wp_count_terms(‘category’); ?>
8,、鏈接總數(shù):
<?php $link = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = ‘Y’”); echo $link; ?>
9、用戶總數(shù):
<?php $users = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->users”); echo $users; ?>
10,、最后更新:
<?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’, strtotime($last[0]->MAX_m));echo $last; ?>
9.wordpress判斷語(yǔ)句
is_single()
判斷是否是具體文章的頁(yè)面
is_single(’2′)
判斷是否是具體文章(id=2)的頁(yè)面
is_single(‘Beef Stew’)
判斷是否是具體文章(標(biāo)題判斷)的頁(yè)面
is_single(‘beef-stew’)
判斷是否是具體文章(slug判斷)的頁(yè)面
comments_open()
是否留言開(kāi)啟
pings_open()
是否開(kāi)啟ping
is_page()
是否是頁(yè)面
is_page(’42′)
id判斷,,即是否是id為42的頁(yè)面
is_page(‘about Me’)
判斷標(biāo)題
is_page(‘about-me’)
slug判斷
is_category()
是否是分類
is_category(’6′)
id判斷,,即是否是id為6的分類
is_category(‘Cheeses’)
分類title判斷
is_category(‘cheeses’)
分類 slug判斷
in_category(’5′)
判斷當(dāng)前的文章是否屬于分類5
is_author()
將所有的作者的頁(yè)面顯示出來(lái)
is_author(’1337′)
顯示author number為1337的頁(yè)面
is_author(‘Elite Hacker’)
通過(guò)昵稱來(lái)顯示當(dāng)前作者的頁(yè)面
is_author(‘elite-hacker’)
下面是通過(guò)不同的判斷實(shí)現(xiàn)以年,、月、日,、時(shí)間等方式來(lái)顯示歸檔
is_date()
is_year()
is_month()
is_day()
is_time()
判斷當(dāng)前是否是歸檔頁(yè)面
is_archive()
判斷是否是搜索
is_search()
判斷頁(yè)面是否404
is_404()
判斷是否翻頁(yè),,比如你當(dāng)前的blog是http://domain.com 顯示http://domain.com?paged=2的時(shí)候,這個(gè)判斷將返 回真,,通過(guò)這個(gè)函數(shù)可以配合is_home來(lái)控制某些只能在首頁(yè)顯示的界面,,
例如:
<?php if(is_single()):?>
//這里寫(xiě)你想顯示的內(nèi)容,包括函數(shù)
<?php endif;?>
或者:
<?php if(is_home() && !is_paged() ):?>
//這里寫(xiě)你想顯示的內(nèi)容,,包括函數(shù)
<?php endif;?>
10.wordpress非插件同步twitter
<?php
require_once (ABSPATH . WPINC . ‘/class-feed.php’);
$feed = new SimplePie();
$feed->set_feed_url(‘http://feeds.feedburner.com/agting′);
$feed->set_file_class(‘WP_SimplePie_File’);
$feed->set_cache_duration(600);
$feed->init();
$feed->handle_content_type();
$items = $feed->get_items(0,1);
foreach($items as $item) {
echo ‘<a target=”_blank” rel=”external nofollow” title=”Follow Me on Twitter” href=”http://twitter.com/agting″>@用戶名</a>: ‘.$item->get_description();
}
?>
代碼中的agting改成你的twitter用戶名,,改成你的名字。
另一種調(diào)用方法需要你的空間是國(guó)外主機(jī):
<?php
// Your twitter username.
$username = “wange1228″;
// Prefix – some text you want displayed before your latest tweet.
// (HTML is OK, but be sure to escape quotes with backslashes: for example href=”link.html”)
// Suffix – some text you want display after your latest tweet. (Same rules as the prefix.)
$suffix = “”;
$feed = “http://search.twitter.com/search.atom?q=from:” . $username . “&rpp=1″;
function parse_feed($feed) {
$stepOne = explode(“<content type=”html”>”, $feed);
$stepTwo = explode(“</content>”, $stepOne[1]);
$tweet = $stepTwo[0];
$tweet = str_replace(“<”, “<”, $tweet);
$tweet = str_replace(“>”, “>”, $tweet);
return $tweet;
}
$twitterFeed = file_get_contents($feed);
echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
?>
總結(jié)一下這個(gè)方法的特點(diǎn):
1,、非插件.
2,、不用驗(yàn)證用戶名和密碼,也就是說(shuō)你可以指定調(diào)用任何一個(gè)人的 tweet.
3,、可以自定義 tweet 信息后顯示的文字,,就是 $suffix = “”; 這里.
4、只能調(diào)用最新的一條 tweet,,剛好滿足我的需求,。
5、大概只有國(guó)外空間才能使用.(經(jīng)我驗(yàn)證,,確實(shí)如此)
11.wordpress 非插件調(diào)用評(píng)論表情
<!–smilies–>
<?php
function wp_smilies() {
global $wpsmiliestrans;
if ( !get_option(‘use_smilies’) or (empty($wpsmiliestrans))) return;
$smilies = array_unique($wpsmiliestrans);
$link=”;
foreach ($smilies as $key => $smile) {
$file = get_bloginfo(‘wpurl’).’/wp-includes/images/smilies/’.$smile;
$value = ” “.$key.” “;
$img = “<img src=http://whlgwh.com/b2b/skin/default/image/nopic.gif alt=”{$smile}” />”;
$imglink = htmlspecialchars($img);
$link .= “<a href=”#commentform” title=”{$smile}” onclick=”document.getElementByIdx_x(‘comment’).value += ‘{$value}’”>{$img}</a> ”;
}
echo ‘<div class=”wp_smilies”>’.$link.’</div>’;
}
?>
<?php wp_smilies();?>
將以上代碼復(fù)制到 comments.php 中合適的位置,。