2012-03-14 29 views
0
私は手紙 のリストが表示されます、検索結果ページの先頭に例 のためにアルファベット順に私の検索結果をフィルタリングする必要が

- B - C - .... - Z - ALLWordPressの検索結果にa-zフィルタを追加するには?

が、私はクリックしたとき結果は私にだけループする前にあなたのテーマ

にsearch.phpでその文字

答えて

3

で始まる記事を表示する任意の文字に追加

<?php 

add_action('posts_where', 'startswithaction'); 
function startswithaction($sql){ 
    global $wpdb; 
    $startswith = get_query_var('startswith'); 

    if($startswith){ 
     $sql .= $wpdb->prepare(" AND $wpdb->posts.post_title LIKE %s ", $startswith.'%'); 
    } 

    return $sql; 
} 
add_action('posts_where', 'startswithnumberaction'); 
function startswithnumberaction($sql){ 
    global $wpdb; 
    $startswithnumber = get_query_var('startswithnumber'); 

    if($startswithnumber){ 
     $sql .= $wpdb->prepare(" AND $wpdb->posts.post_title NOT REGEXP %s ", '^[[:alpha:]]'); 
    } 

    return $sql; 
} 

query_posts($query_string .'&startswith='.$_GET['letter'].'&posts_per_page=-1&startswithnumber='.$_GET['number']); 
?> 

</code> 

とuはこれだけ文字で始まる検索結果がポストにフィルタリングされる任意の文字をクリックすると、そのような

echo "<a href='$PHP_Self/?$query_string&number=true' ># </a> - "; 


    foreach (range('A', 'Z') as $i) 
    { 
    $letter =strtolower($i); 
     echo "<a href='$PHP_Self/?$query_string&letter=$letter' >$i </a> - "; 
    } 
    echo "<a href='$PHP_Self/?$query_string' >All </a> 

あなたのリンクを追加

関連する問題