WordPress如何不用插件显示最佳投稿者
日期:
标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
如果你的网站有很多投稿者的话,你可能想展示出最佳投稿者,例如露兜博客也欢迎大家踊跃投稿,最佳投稿者可获得丰厚奖励。下面我们就来介绍如何不借助插件来实现这个功能。至于最佳投稿者的评判标准,本文暂时以投稿数量来进行排名,且投稿者都是站内的注册用户。
只需要将下面的代码加入到你希望显示最佳投稿者的地方。注意这个代码没有使用$wpdb,而是使用的mysql_*功能。这不算是最好的方法,但是也可以实现这个功能。
<?php
include( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = 'SELECT ' . $table_prefix.users . '.' .user_login . ',count(*)'
. ' FROM ' . $table_prefix.posts. ',' . $table_prefix.users
. ' WHERE ' . $table_prefix.posts . '.' . post_parent. '=0 And '
. $table_prefix.posts . '.' . post_author . '=' .$table_prefix.users . '.' . ID
. ' Group By '.$table_prefix.users.'.'.user_login.''
. ' Order By count(*) DESC'
. ' Limit 0,10';
$result = mysql_query($sql) or die(mysql_error());
echo '<ul>';
while($row = mysql_fetch_array($result))
{
echo '<li><strong>';
echo $row['user_login'];
echo '</strong> ';
echo '(';
echo $row['count(*)'];
echo ')</li>';
}
echo '</ul>';
?>
注意:如果你的WordPress不是安装在网站根目录下,请修改以上代码的第2行中的路径,如你的WordPress安装在根目录下的wordpress目录,那就将第2行代码中的 /wp-config.php
改成:/wordpress/wp-config.php
至于在WordPress中如何实现投稿功能,详见:WordPress添加投稿功能
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-most-active-author.html
下次投稿,请注意检查测试文章中的代码;
并建议作者给自己设置一个Gravatar头像。
又是一个优化的好东西啊
这个我还用不上,不过必须mark一下啊,呵呵……
建议写成一个 function,放到 function.php 中,调用的时候方便点
记得之前有一篇如何实现前台投稿,建议两篇文章互链一下,功德无量
都是高手
不错,高手
哦 我的天啊,还是算了,折腾的我好累的
不错,学习了~~
这个方法不错!
就喜欢不带插件的。
呵呵,来了解下,自己试试看,谢谢博主!
我连投稿的人都没有,何来最佳呢
学习了,WordPress插件有这样功能的貌似也不是很多啊
@WordPress啦 应该说没有吧
照样做,没有做出来啊!我也是NeoEase的主题
@yesureadmin 第二行代码,如果你的WordPress安装在子目录下,如wordpress子目录,你可以将:
'/wp-config.php'
改成:
'/wordpress/wp-config.php'
另外请注意代码是否放对了地方,是否有其他代码干扰。
依然是露兜牛气冲天,我看到了,也听到了,特地赶来支持你滴!
换了个主题,我今天再来试一下谢谢LUDOU
加入的代码不少,学习了
ludou的严谨跟网上那些不负责任的人形成了鲜明的对比,有的全半角部分,有的代码干脆就不完整,唉……来到你这,总能满意而归
先收藏了,
确实 有用, 在添加三个问题,
1 . 连接到用户页,就是用户发布文章 的列表
2 . 调用用户最新发布的内容,如果麻烦 就调用用户的自我介绍
3 . 怎么调用昵称
麻烦你了~
@ddl0762 1、第6行,'SELECT ' 改成 'SELECT display_name,'
2、连接到用户页,20行改成 :echo '<a href="http:// 域名/author/'.$row['user_login'].'">'.$row['display_name'].'</a>';
@Ludou 在加上,用户的自我介绍呢。
这个不错哦 !很需要,如果能显示头像,而且能点击到个人所有上去就好了,还有,能不能按本月最佳或者本周最佳这样来排序呢?