各位程序员早上好!
我遇到了一点麻烦,我认为这是循环中的,但我已经梳理WP编码了好几天了,尽管我知道它就在我眼皮底下,但我还是无法让它正常工作!
目标相当简单。我正在努力建造一个场地&现场音乐评论网站有大约30个类别,其中6个是父母,其余是孩子,父母为孩子们提供包罗万象的服务。IE:音乐(家长)涵盖嘻哈,R&B、 等等。在索引上,我需要设置它,以便在父母和他们相关的孩子中最受欢迎的帖子摘录(按视图)显示为6个主要类别中每一个的头条新闻。我在functions.php中设置了getpostviews和setpostviews函数,在single.php中设置了setpostview函数,我尝试在查询中设置"category_name=#",因为这应该包括孩子,我尝试通过"cat_id=#"进行查询,我试着把它们都取出来,然后排除我不想要的,我一直得到最受欢迎的帖子,所以我不知所措。
该网站目前位于chronic.spearsolutions.com,您可以看到我为获取/设置后视图提供的特定代码,以及中的循环
我很确定我只是在循环中做错了什么,但我并不骄傲地承认这一点或寻求帮助。永远"还在学习"是游戏的名称
提前感谢Nick
好吧,我将首先计算最受欢迎的帖子。要做到这一点,让我们在单个页面中排列一些视图计数代码(根据您的首选条件更改is_single())
例如:
define('WS_META_COUNT', 'ws93_view_count');
if(!is_admin()){
add_action('template_redirect', 'wpse3VideoSetView');
}
function wpse3VideoSetView($postId = null){
// substitude / add / remove your video count conditions here.
if(!is_single())
return;
$id = !empty($postId) ? $postId : get_the_ID();
$current = ( int ) get_post_meta( $id , WS_META_COUNT , true);
$current ++;
update_post_meta( $id , WS_META_COUNT , $current );
}
现在,在查询时,我可以构造一个查询并打印,例如:
$args = array('numberposts' => -1, /* get 4 posts, or set -1 for all */
'orderby' => 'meta_value', /* this will look at the meta_key you set below */
'meta_key' => WS_META_COUNT,
'order' => 'DESC',
'post_type' => 'post' /* Replace your post type here */,
'post_status' => 'publish');
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
echo '<ul>';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
}
wp_reset_postdata();
这实际上取决于您现在想要如何表示您的数据。对于子类别的帖子,请查询。如果你给我一个更清晰的例子,我可以给你一个更好的查询。