2010-12-18 1 views
0

私はcoment countを使ってポピュラーな投稿を取得しようとしています。私はまた、クエリからいくつかのカテゴリを除外したい。どのようにこれを達成することができるか考えてください。WordPressで選択されたカテゴリのポストを取得するには?

特定のカテゴリを除外するクエリとは何でしょうか?たとえば、私は、クエリが$ wpdb->ポストから 'stammy'、 $ ASカテゴリ名の健康と自動

SELECT ID、POST_TITLE、 COUNT($ wpdb-> comments.comment_post_ID) を含めるべきではありませんしたいですwpdb->コメントWHERE comment_approved = '1' AND $ wpdb-> posts.ID = $ wpdb->は をcomments.comment_post_IDとpost_statusは= '公開' AND post_date < '$今' AND post_date

答えて

0

私は時間の前にこれをやった。あなたが解決策を持っている私のブログで は、私はその磨きに知っているが、コードはコードです:) http://blog.grabek-adam.pl/2010/06/wordpress-popularne-posty-plugin-do-obrazkw/

ここであなただけのクエリがある:

$posty = $wpdb->get_results("SELECT SQL_CALC_FOUND_ROWS wp_posts.id, wp_posts.post_title, wp_posts.comment_count, wp_posts.post_date 
         FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
         INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) 
         WHERE 1=1 AND wp_term_taxonomy.taxonomy = 'category' 
         AND wp_term_taxonomy.term_id IN ('cat_id1,cat_id2,cat_id5') 
         AND wp_posts.post_type = 'post' 
         AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') 
         AND wp_posts.comment_count > 0 
         GROUP BY wp_posts.ID ORDER BY wp_posts.comment_count DESC 
         LIMIT 5 
         "); 

このコードは、あなたがここにAND wp_term_taxonomy.term_id IN ("cat_id1,cat_id2,cat_id5")で指定したカテゴリが含まれますが、私はあなたがこれを行うために使用することができますワードプレスで3つの利用可能な機能がありますがあなたの要件については

2

の変更が容易になると思う... query_postsget_postsまたはWP_Queryコメントが注文した記事の選択を返すために、SQLクエリの必要をカウントしていない..

<?php 
$my_query = new WP_Query; 
$my_query->query(array( 
    'cat' => '1,2,3,-4,-5,-6', 
    'orderby' => 'comment_count', 
    'order' => 'desc' 
)); 
if($my_query->have_posts()) : 
    while($my_query->have_posts()) : $my_query->the_post(); 

     ?> 
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
      <?php the_title(); ?><br /> 
      <?php the_content(); ?> 
     </div> 
     <?php 

    endwhile; 
endif; 
wp_reset_query(); 
?> 

1、2及び3にはカテゴリである、4、5および6は除外され、負の値は、正常な非ネガが介在され、排除を示します。

クエリのその他のパラメータについては、こちらを参照してください。また、ここでは、ポストループ(the_titlethe_content、など)の内部で使用されるタグについては、 http://codex.wordpress.org/Function_Reference/query_posts


http://codex.wordpress.org/Template_Tags#Post_tags

ほしいと思う... ...

関連する問題