wordpress 置顶代码优化


wordpress 置顶代码优化_第1张图片

wordpress 置顶代码保存方式

wordpress置顶的数据保存在options表的option_name等于sticky_posts,option_value的字段中。数据经过了序号化之后保存的,即使用php函数serialize

在wordpress里调取方法

$sticky = get_option(‘sticky_posts’);

目前的首页置顶的代码

目前我的首页置顶代码如下,我感觉很多模板都会有这个问题

$sticky = get_option('sticky_posts'); rsort( $sticky );
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1, 'showposts' => 4 ) );

上面的代码的问题分析

sql使用in的方式查询,如果置顶的文章越多,$sticky变量数据就会越多,查询的速度越慢。目前阶段数据量少感觉不出来,之后数据多了,查询会变慢很多

优化首页置顶的代码如下

    $sticky = get_option('sticky_posts'); rsort( $sticky );
    if(is_array($sticky)){
        $num=count($sticky);
        if($num>4){
            $num=4;
        }
        $sticky=array_slice($sticky,0,$num);
    }
    query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1, 'showposts' => 4 ) );

原理其实是把get_option('sticky_posts')调出来的数组去4个,然后在去用in查询


QQ交流群:136351212
查看原文: http://www.phpsong.com/2479.html

你可能感兴趣的:(wordpress 置顶代码优化)