wordpress按首字母A-Z排列文章、检索文章

网站应用 - 六月 3, 2013 - 来源:单点日志 - No Comments -

从标题中可以看出,本文要讲两个方面内容,排列文章、检索文章,比如就是A-Z的把文章索引到相关子母下,更具post 的标题,但适合英文,中文的尚未有方法。

第一,按标题首字母排列文章

这个简单,只需在循环(loop)前,添加

/**
 * 方式一,直接添加查询字符串
 */
<?php query_posts( $query_string . '&orderby=title&order=asc' ); ?>
/**
 * 方式二,合并查询数组
 */
<?php $args=array_merge( $wp_query->query, array( 'orderby' => 'title', 'order' => 'asc' ) );
    query_posts($args); ?>

query_posts($args)用来改变主循环,相关使用方法可查询wordpress官方说明文档。

 

第二,按首标题字母检索文章

这个普通用户可能用处不大,但是对于一些将wordpress用来做产品展示的网站来说,按照字母名称快速查询相关产品则是一个很基本的需求。最近在一个项目中有用到,研究了wordpress的query后,一点小心得在这里分享出来。

既然是检索,那肯定就是要用到”s=word”这个查询变量了。比如查找以字母“A”开头的文章

<?php query_posts('s=A'); ?>

这样的话,wordpress会通过标题和内容查找包含字母A的文章,而不是我们需要的”以字母A开头的文章”.要达到我们的目的应该怎么做呢?

add_filter( 'posts_search', 'wp_custom_search' );
function wp_custom_search($search){
    $s=get_query_var('s');
    if(!$s)return $search;//非搜索,直接返回。
    $search = "AND (((wp_posts.post_title LIKE '{$s}%'))) AND (wp_posts.post_password = '')";//会sql的你应该懂得,模糊查询
    return $search;
}

将以上代码放到主题的functions.php中即可。



无觅相关文章插件,快速提升流量

《wordpress按首字母A-Z排列文章、检索文章》由单点日志原创提供!
转载请注明:http://spoint.babyshoot.cn/archives/2013/06/wordpress-az-pailie.html

No Comments│赶紧发话! »

发表评论

您必须登录后才能发表评论。
8