今天逛了一下李学江大神的博客,发现这个功能特别不错,于是转载过来了跟大家分享。 今天终于抽出时间,把代码和教程分享给大家。我所构建的网址导航主要分为以下几个模块:访客网站自动排名第一模块、知名博客模块、人气博客模块、博客大全模块、边栏模块。 下面分模块给大家介绍: 一、访客网站自动排名第一模块 通过调取博客留言者的名字和网址,并去重,按照留言时间顺序排列,最近代链接的留言排在第一位(留言者不填写链接则不显示) 1、把以下代码放入到所用主题的functions.php最后一个%>。 //最新评论排第一 functionAutofirst($af){ global$wpdb; $queryaf="selectcomment_author,comment_author_url,comment_datefrom$wpdb->commentswherecomment_IDin(selectmax(comment_ID)from$wpdb->commentswherecomment_approved=’1′andcomment_author_url!="anduser_id=’0′GROUPBYcomment_author_email)ORDERBYcomment_dateDESCLIMIT$af"; $wally=$wpdb->get_results($queryaf); foreach($wallyas$commentaf){ $tmpy=" <ul class=" list-paddingleft-2"><li><a target=""_blank"" href=""".$commentaf-">comment_author_url."">".$commentaf->comment_author."</a> </li><li>"; </li></ul> $outputy.=$tmpy; } $outputy=" <ul class=" list-paddingleft-2"><li>".$outputy." </li></ul>"; echo$outputy; } 其中输出的样式可以自定义,毕竟每一个博客的样式都不一样,这个就靠自己发挥了,只需要在以上代码中的 <ul class=" list-paddingleft-2"><li>中添加一个class属性即可。 </li></ul> 2、把以下代码放入需要显示最新访客的地方,如留言板。 <!--?php--><!--?php--> 其中100表示显示100个最新访客,这个数值可以自定义,一定不能为空,要不然会出错,最起码要大于0以上。 二、知名博客模块 显示一定时期内在本站留言比较活跃的用户网站。 <!--?php--><!--?php--> 三、人气博客 显示一定时期内在本站留言数最多的用户网站。 <!--?php--><!--?php--> 四、博客大全 调用你网站的友情链接,由于主题差异,每个网站的调用方法可能不尽相同,如果不懂的话,你可以资讯主题作者。 五、边栏 调用主题边栏,在后台小工具中添加你想要显示的内容。 PS: 1、如果你正在使用知更鸟Begin主题,以上代码全部适用,非知更鸟Begin主题,通过本教程你只能实现最近访客访客自动排名第一功能,如果感兴趣,你也可以参照这篇文章:《WordPress博客如何利用最新评论实现类似导航网站自动排第一功能》。 2、各位在使用的时候,会发现知名博客和人气博客显示的内容与本站有些诧异,如果你希望和本站显示的一样,你可以找到/wp-content/themes/begin/inc/inc.php文件,将约2013至1268行代码替换成以下代码。 //读者排行 functiontop_comment_authors($amount=98){ global$wpdb; $prepared_statement=$wpdb->prepare( ‘SELECT COUNT(comment_author)AScomments_count,comment_author,comment_author_url,comment_author_email,MAX(comment_date)aslast_commented_date FROM‘.$wpdb->comments.’ WHEREcomment_author!=""ANDcomment_type=""ANDcomment_approved=1ANDuser_id="" GROUPBYcomment_author ORDERBYcomments_countDESC,comment_authorASC LIMIT%d’, $amount); $results=$wpdb->get_results($prepared_statement); $output=‘ <div class=""top-comments"">’;</div> foreach($resultsas$result){ $c_url=$result->comment_author_url; $output.=‘ <div class=""lx8""></div> <div class=""top-author""></div> <div class=""top-comment""><a href=""‘" .="" url=""." c_url="" target=""_blank"" rel=""external"><div class=""author-url""><strong>‘.$result->comment_author.‘</strong></div></a></div> <div class=""top-comment"">’.human_time_diff(strtotime($result->last_commented_date)).‘前来过</div> ’; } $output.=‘ <div class=""clear""></div>’; echo$output; } functiontop_comments($number=98){ global$wpdb; $counts=wp_cache_get(‘mostactive’); if(false===$counts){ $counts=$wpdb->get_results("SELECTCOUNT(comment_author)AScnt,comment_author,comment_author_url,comment_author_email FROM{$wpdb->prefix}comments WHEREcomment_date>date_sub(NOW(),INTERVAL90DAY) ANDcomment_approved=‘1’ ANDcomment_author_email!=‘example@example.com’ ANDcomment_author_email!=" ANDcomment_author_url!=" ANDcomment_type=" ANDuser_id=‘0’ GROUPBYcomment_author_email ORDERBYcntDESC LIMIT$number"); } $mostactive=‘ <div class=""top-comments"">’;</div> if($counts){ wp_cache_set(‘mostactive’,$counts); foreach($countsas$count){ $c_url=$count->comment_author_url; $mostactive.=‘ <div class=""lx8""></div> <div class=""top-author""></div> <div class=""top-comment""><a href=""‘" .="" url=""." c_url="" target=""_blank"" rel=""external"><div class=""author-url""><strong>‘.$count->comment_author.‘</strong></div></a></div> <div class=""top-comment"">留下’.$count->cnt.’个脚印</div> ’; } $mostactive.=‘ <div class=""clear""></div>’; echo$mostactive; } } if(zm_get_option(‘meta_delete’)){}else{requireget_template_directory().‘/inc/meta-delete.php’;} requireget_template_directory().‘/inc/meta-boxes.php’; requireget_template_directory().‘/inc/show-meta.php’; 然后使用以下CSS文件。 <?php /* TemplateName:博客导航 */ if(!defined(‘ABSPATH’)){exit;} ?> <!--?php--><!--?php--> <linkrel="stylesheet"href="<!--?php-->/css/sites.css"/><!--?php--> <style type=""text/css""> .favorites-top{ margin-top:10px; } .breadcrumb, .yheader{ display:none; } #primary { float: left; } #sidebar { float: right; } </style> <style type=""text/css""> .top-comments { margin: -5px 0 0 0; } .top-comments img { float: left; height: auto; max-width: 100%; width: auto; } .top-comments .lx8 { float: left; min-height: 1px; width: 16.6666666666666%; padding: 2px; } .top-author { background: #fff; margin: 5px; padding: 0 0 10px 0; border: 1px solid #ddd; } .top-comment { color: #999; text-align: center; } .author-url { width: 100%; padding: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .comment-authors { padding: 0 10px; } .dh_title{ background: #fff; margin: 0 0 10px 0; padding: 10px; border: 1px solid #ddd; box-shadow: 0 0 1px rgba(0,0,0,.04); border-radius: 2px; } .dh_title h3{ font-size: 18px; margin-left:10px; } .dh_title .dh_blog{ margin:10px 0; } .dh_title .dh_more{ position: absolute; top: 5px; right: 20px; } } article{ background:#fff; } #sites-widget-one h3 { font-size: 18px; background: #fff; width: 100%; height: 30px; line-height: 40px; padding: 0 20px; border-bottom: 0px solid #ddd; } .widget ul{ width: 100%; } .widget_links li{ float: left; width: 20% !important; border:0px; } .widget_links a{ border: 1px solid #fff; </style> <div class=""favorites-top""></div> <div class=""top-date"></div> <?phpthe_title(‘ <h1 class=""favorites-title"">’,‘</h1>’);?> <span id="localtime"></span> <script type=""text/javascript""> function showLocale(objD){ var str,colorhead,colorfoot; var yy = objD.getYear(); if(yy<1900) yy = yy+1900; var MM = objD.getMonth()+1; if(MM<10) MM = ‘0‘ + MM; var dd = objD.getDate(); if(dd<10) dd = ‘0‘ + dd; var hh = objD.getHours(); if(hh<10) hh = ‘0‘ + hh; var mm = objD.getMinutes(); if(mm<10) mm = ‘0‘ + mm; var ss = objD.getSeconds(); if(ss<10) ss = ‘0‘ + ss; var ww = objD.getDay(); if ( ww==0 ) colorhead="<font color="#FF0000">"; if ( ww > 0 && ww < 6 ) colorhead="<font color="#373737">"; if ( ww==6 ) colorhead="<font color="#008000">"; if (ww==0) ww="星期日"; if (ww==1) ww="星期一"; if (ww==2) ww="星期二"; if (ww==3) ww="星期三"; if (ww==4) ww="星期四"; if (ww==5) ww="星期五"; if (ww==6) ww="星期六"; colorfoot="</font>" str = colorhead + yy + "年" + MM + "月" + dd + "日 " + hh + ":" + mm + ":" + ss + " " + ww + colorfoot; return(str); } function tick() { var today; today = new Date(); document.getElementById("localtime").innerHTML = showLocale(today); window.setTimeout("tick()", 1000); } tick(); </script> <div class=""tianqi"></div> <iframe allowtransparency=""true"" frameborder=""0"" width=""385"" height=""75"" scrolling=""no"" src=""//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=3&bd=0&k=&f=&q=1&e=1&a=1&c=54511&w=385&h=96&align=left""></iframe> <div class=""clear""></div> <div id=""primary"" class=""content-area""></div> <main id=""main"" class=""site-main"" role=""main""></main> <div class=""dh_pc""></div> 每当在本站评论时填写网址,贵站将自动排在第一位 <span class=""dh_more""><a href=""https://lixuejiang.com/fangke"">more</a></span> <!--?php--><!--?php--> <article class=""dh_title""></article> <h3>知名博客</h3> <div class=""clear""></div> <!--?php--><!--?php--> <article class=""dh_title""></article> <h3>人气博客</h3> <div class=""clear""></div> <div class=""dh_blog""></div> <!--?php--><!--?php--> <!--–--><!--!–--> <div id=""sites-widget-one"" class=""sites-widget""></div> <!--?php--><!--?php--> <div class=""clear""></div> <!--–--><!--!–--> <?php $taxonomy=‘favorites’; $terms=get_terms($taxonomy);foreach($termsas$cat){ $catid=$cat->term_id; $args=array( ‘showposts’=>100, ‘meta_key’=>‘sites_order’, ‘orderby’=>‘meta_value’, ‘order’=>‘date’, ‘tax_query’=>array(array(‘taxonomy’=>$taxonomy,‘terms’=>$catid,‘include_children’=>false)) ); $query=newWP_Query($args); if($query->have_posts()){?> <article class=""dh_title"" data-wow-delay=""0.3s""></article> <h3><!--?php echo="" cat-=""-->name;?><!--?php--></h3> <div class=""dh_blog""></div> <div class=""sites-5″"></div> <!--?php while="" query-=""-->have_posts()):$query->the_post();?><!--?php--> <!--?php if="" post-=""-->ID,‘sites_img_link’,true)){?><!--?php--> <!--?php sites_img_link="sites_nofollow(get_post_meta($post-"-->ID,‘sites_img_link’,true));?><!--?php--> <span class=""sites-title" wow="" data-wow-delay=""0s""></span> <figure class=""picture-img"><!--?php if="" else=""--><!--?php--></figure> <ahref="<!--?php echo="" sites_img_link=""-->"target="_blank"rel="externalnofollow"><!--?php--><!--?php--><!--?php--> <!--?php else=""--><!--?php--> <!--?php sites_link="sites_nofollow(get_post_meta($post-"-->ID,‘sites_link’,true));?><!--?php--> <span class=""sites-title" wow="" data-wow-delay=""0s""><ahref="<!--?php echo="" sites_link=""-->"target="_blank"rel="externalnofollow"><!--?php--><!--?php--><!--?php--></span> <!--?php--><!--?php--> <!--?php--><!--?php--> <div class=""clear""></div> <!--?php--><!--?php--> <!--?php--><!--?php--> <!–备用 <article class=""sites"></article> <div class=""sites-cats""></div> <span class=""sites-cat"">分类名称</span> <span class=""sites-more""><a href=""文字替换为网址分类链接地址"">更多</a></span> <div class=""sites-link""></div> <ul class=""sites-5″ list-paddingleft-2"></ul> <?php $args=array(‘tax_query’=>array(array(‘taxonomy’=>‘favorites’,‘field’=>‘id’,‘terms’=>explode(‘,’,830))),‘posts_per_page’=>100); query_posts($args);while(have_posts()):the_post(); ?> <!--?php if="" post-=""-->ID,‘sites_link’,true)){?><!--?php--> <!--?php sites_link="get_post_meta($post-"-->ID,‘sites_link’,true);?><!--?php--> <ul class=" list-paddingleft-2"><li><ahref=" <!--?php echo="" sites_link=""-->"target="_blank"rel="externalnofollow"><!--?php--><!--?php--><!--?php--></li></ul> <!--?php else=""--><!--?php--> <?phpthe_title(sprintf(‘ <ul class=" list-paddingleft-2"><li><a href=""%s"" rel=""bookmark"">’,esc_url(get_permalink())),‘</a> </li><li>’);?> </li></ul> <!--?php--><!--?php--> <!--?php--><!--?php--> <!--?php--><!--?php--> <div class=""clear""></div> –> <div id=""sidebar"" class=""widget-area""></div> <div class=""wow" data-wow-delay=""0.5s""></div> <!--?php if="" :=""--><!--?php--> <aside id=""add-widgets"" class=""widget"></aside> <h3 class=""widget-title""><em class=""be"></em>添加小工具</h3> <div class=""textwidget""></div> <ahref="<!--?php echo=""-->widgets.php"target="_blank">为"网址侧边栏"添加小工具<!--?php--> <div class=""clear""></div> <!--?php--><!--?php--> <!--?php--><!--?php--> 注意,本代码仍然只适用于知更鸟Begin主题。 本文所有权归李学江博客所有,转载请注明来源:https://lixuejiang.com/wordpress/2496.htm