中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > WordPress代碼實(shí)現(xiàn)相關(guān)文章的幾種方法
基于Mongodb進(jìn)行分布式數(shù)據(jù)存儲 回到列表 SQL Server數(shù)據(jù)庫對于應(yīng)用程序的關(guān)系
 WordPress代碼實(shí)現(xiàn)相關(guān)文章的幾種方法

作者:Ludou 時間: 2010-09-03 文檔類型:轉(zhuǎn)載 來自:露兜博客

第 1 頁 WordPress代碼實(shí)現(xiàn)相關(guān)文章的幾種方法 [1]
第 2 頁 WordPress代碼實(shí)現(xiàn)相關(guān)文章的幾種方法 [2]

方法三:標(biāo)簽相關(guān),SQL獲取

獲取相關(guān)文章的原理與方法一相似,不過在獲取文章的時候是以SQL語句來直接讀取數(shù)據(jù)庫,從而隨機(jī)獲取6篇相關(guān)文章記錄,而不是WordPress的函數(shù)query_posts().

<ul id="tags_related">
<?php
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
foreach ($post_tags as $tag)
{
    // 獲取標(biāo)簽列表
    $tag_list[] .= $tag->term_id;
}
// 隨機(jī)獲取標(biāo)簽列表中的一個標(biāo)簽
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];
$related = $wpdb->get_results("
SELECT {$wpdb->prefix}posts.post_title, {$wpdb->prefix}posts.guid
FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
WHERE {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
AND {$wpdb->prefix}term_taxonomy.taxonomy = 'post_tag'
AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}
term_relationships.term_taxonomy_id
AND {$wpdb->prefix}posts.post_status = 'publish'
AND {$wpdb->prefix}posts.post_type = 'post'
AND {$wpdb->prefix}term_taxonomy.term_id = '" . $post_tag . "'
AND {$wpdb->prefix}posts.ID != '" . $post->ID . "'
ORDER BY RAND( )
LIMIT 6");
// 以上代碼中的 6 為限制只獲取6篇相關(guān)文章
// 通過修改數(shù)字 6,可修改你想要的文章數(shù)量
if ( $related ) {
    foreach ($related as $related_post) {
?>
    <li>* <a href="<?php echo $related_post->guid; ?>" rel="bookmark"
title="<?php echo $related_post->post_title; ?>"><?php echo $related_post->post_title; ?></a></li>
<?php  } } else { ?>
    <li>* 暫無相關(guān)文章</li>
<?php } }?>
</ul>

方法四:分類相關(guān),SQL獲取

獲取相關(guān)文章的原理與方法二相似,不過在獲取文章的時候是以SQL語句來直接讀取數(shù)據(jù)庫,從而隨機(jī)獲取6篇相關(guān)文章記錄,而不是WordPress的函數(shù)query_posts().

<ul id="cat_related">
<?php
$cats = wp_get_post_categories($post->ID);
if ($cats) {
$cat = get_category( $cats[0] );
$first_cat = $cat->cat_ID;
$related = $wpdb->get_results("
SELECT wp_posts.post_title, wp_posts.guid
FROM wp_posts, wp_term_relationships, wp_term_taxonomy
WHERE wp_posts.ID = wp_term_relationships.object_id
AND {$wpdb->prefix}term_taxonomy.taxonomy = 'category'
AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id
AND {$wpdb->prefix}posts.post_status = 'publish'
AND {$wpdb->prefix}posts.post_type = 'post'
AND {$wpdb->prefix}term_taxonomy.term_id = '" . $first_cat . "'
AND {$wpdb->prefix}posts.ID != '" . $post->ID . "'
ORDER BY RAND( )
LIMIT 6");
if ( $related ) {
    foreach ($related as $related_post) {
?>
    <li>* <a href="<?php echo $related_post->guid; ?>" rel="bookmark"
title="<?php echo $related_post->post_title; ?>"><?php echo $related_post->post_title; ?></a></li>
<?php  } } else { ?>
    <li>* 暫無相關(guān)文章</li>
<?php } }?>
</ul>

方法五:作者相關(guān)

該方法是獲取該文章作者的其他文章來充當(dāng)相關(guān)文章,代碼如下:

<ul id="author_related">
<?php
$post_author = get_the_author_meta( 'user_login' );
$args = array(
        'author_name' => $post_author,
        'post__not_in' => array($post->ID),
        'showposts' => 6,               // 顯示相關(guān)文章數(shù)量
        'orderby' => date,          // 按時間排序
        '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>* 暫無相關(guān)文章</li>
<?php endif; wp_reset_query();  ?>
</ul>

時間效率對比

我們將用之前的一個php代碼對以上各個相關(guān)文章代碼執(zhí)行時間進(jìn)行測算,以便對以上各個的方法進(jìn)行效率,給你的選擇提供參考。以下是在同一篇文章中獲取6篇相關(guān)文章,以上各方法最終測算的時間如下:

方法一:0.18067908287048 秒

方法二:0.057158946990967 秒

方法三:0.037126064300537 秒

方法四:0.045628070831299 秒

方法五:0.023991823196411 秒

原文:http://www.ludou.org/how-to-generate-related-posts-in-wordpress.html

本文鏈接:http://www.95time.cn/tech/program/2010/7945.asp 

出處:露兜博客
責(zé)任編輯:bluehearts

上一頁 WordPress代碼實(shí)現(xiàn)相關(guān)文章的幾種方法 [1] 下一頁

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

作者文章
php生成隨機(jī)密碼的幾種方法
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/21個記錄/頁 轉(zhuǎn)到 頁 共2個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報(bào)告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報(bào)告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報(bào)告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2