我正在使用一个名为“kf most read”的wordpress插件,它存储了一个帖子读取次数的计数,并允许您输出大多数阅读帖子的列表 .
这很好用 . 问题是,我试图提取最多的阅读帖子,但只有你正在查看的当前类别中阅读量最多的帖子 .
当涉及到sql时,我几乎无能为力 .
这里是我们插件当前使用什么来拉最多阅读帖子:
$ sql =“SELECT count(mr.post_ID)as totHits,p.ID,p.post_title from $ wpdb-> posts p JOIN {$ wpdb-> prefix} kf_most_read mr on mr.post_ID = p.ID mr . hit_ts> ='“ . (time() - (86400 * $ period)) . ''GROUP BY mr.post_ID order by totHits desc,ID ASC LIMIT $ limit”;
我怎样才能将以下查询从特定类别中提取到上面呢?
$ sql . =“LEFT JOIN $ wpdb-> term_taxonomy ON($ wpdb-> term_relationships.term_taxonomy_id = $ wpdb-> term_taxonomy.term_taxonomy_id)”; $ sql . =“WHERE $ wpdb-> term_taxonomy.term_id IN($ currentcat)”; $ sql . =“AND $ wpdb-> term_taxonomy.taxonomy ='category'”;
对此的任何帮助将不胜感激 .
1 回答
您需要将from连接部分合并在一起,并将where子句合并在一起 . 你的原始查询是
和你的额外条款
所以合并的查询应该是
(注意,你只能有一个
where
所以将第二个添加为and
)就像这样的东西
取决于你喜欢你的换行符 . 希望有效!
实际上我怀疑你真的不想要类别/分类表的LEFT JOIN,而应该有一个简单的JOIN . 但我不是WP模式专家 .