标签: wordpress

WordPress无插件实现分页的方法

WordPress自带的分页样式并不是很好看。也可以说压根就没有什么分页。过多的使用插件的话会导致网站的速度明显变慢。于是乎,尽量不使用插件成了博主我的一大爱好。下面将下面的代码插入到functions.php模板的第一个<?php后即可实现无插件实现分页的效果。

function kriesi_pagination($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string .”&posts_per_page=-1″);
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged – 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;

$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo “<div class=’pagination’>”;
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? “<a href='”.get_pagenum_link(1).”‘>最前</a>”:””;
echo ($paged > 1 && $showitems < $pages)? “<a href='”.get_pagenum_link($prev).”‘>上一页</a>”:””;

for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? “<span class=’current’>”.$i.”</span>”:”<a href='”.get_pagenum_link($i).”‘ class=’inactive’ >”.$i.”</a>”;
}
}

echo ($paged < $pages && $showitems < $pages) ? “<a href='”.get_pagenum_link($next).”‘>下一页</a>” :””;
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? “<a href='”.get_pagenum_link($pages).”‘>最后</a>”:””;
echo “</div>\n”;
}
}

用下面代码代替自带的分页代码

<?php kriesi_pagination($query_string); ?>

在模板的样式表出插入翻页代码的样式:

.pagination{
line-height:23px;
}
.pagination span, .pagination a{
font-size:12px;
margin: 2px 6px 2px 0;
background:#fff;
border:1px solid #e5e5e5;
color:#787878;
padding:2px 5px 2px 5px;
text-decoration:none;
}
.pagination a:hover{
background: #669900;
border:1px solid #8d8d8d;
color:#fff;
}
.pagination .current{
background: #fff;
border:1px solid #8d8d8d;
color:#393939;
font-size:12px;
padding:2px 5px 2px 5px;
}

效果参见:http://www.wildhorde.com

如何预防WordPress垃圾评论(非插件)

今天发生一件令博主我很纠结的事情。野人部落博客被恶意评论140多次。全都是英文评论。诸如:“I simply want to tell you that I am just beginner to weblog and definitely liked your web site. Very likely I’m likely to bookmark your site . You really have exceptional well written articles. Thanks a bunch for revealing your web-site.”总之就是自己是新手,博主的博客很漂亮,然后要收藏你的博客之类的。我滴乖乖。发一两条还算过的去,发140多条就太离谱了。于是博主很生气,将垃圾评论全删了。然后又找了一种非插件的方法来控制垃圾评论。虽然比较简单,但是对于处理老外用机器发送的英文垃圾评论还是很有效的。下面请将下面这段代码插入到主题下的function.php文件里面的第一个<?php 。在第一个<?php 后面插入以下代码。保存。这样就能预防纯字母的评论了。(垃圾评论基本是用机器发的。基本以英文为主。)当然,还有其他更好的方法。由于博主也是个新手,能力有限,这里就不多介绍了。

function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');

版权所有 © 2024 野人部落实验室

主题设计 Anders Noren返回顶部 ↑