简体   繁体   English

wordpress get_categories()问题

[英]wordpress get_categories() issue

I have created the function below which is intended to list the sub categories of the parent with the id of 3. 我创建了下面的函数,该函数旨在列出ID为3的父级的子类别。

The function should also return meta data from the first post in each sub category. 该函数还应该返回每个子类别中第一条帖子的元数据。

This works (kinda) but instead of just getting one set of data, it returns 3 sets with different outcomes. 这种方法很有效(但是),而不是仅获取一组数据,而是返回3组具有不同结果的数据。

Any ideas why? 有什么想法吗?

global $cat;
  global $post;
  $categories = get_categories('child_of=3');
  foreach ($categories as $cat) :
    $postslist = get_posts($cat->cat_ID, 'numberposts=1&order=DESC');
    foreach ($postslist as $post) :
        $option = '<li id="'.get_post_meta($post->ID, 'id', true).'">';
        $option .='<a class="preview" rel="'.get_post_meta($post->ID, 'thumbnail', true).'" ';
        $option .='href="'.get_bloginfo('url').'/'.$post->post_name.'">';
        $option .=$cat->cat_name;
        $option .='</a>';
        $option .='</li>';
    echo $option;
    endforeach;
  endforeach;

如果您在wordpress.org上的get_posts()文档中查看该函数,则只有一个参数。

get_posts('numberposts=1&category='. $cat->cat_ID .'&order=DESC');

I have figured out where i was going wrong! 我已经弄清楚我要去哪里错了! This: 这个:

$postslist = get_posts($cat->cat_ID, 'numberposts=1&order=DESC');

Has been replaced with: 已替换为:

$postslist = get_posts('category='.$cat->cat_ID.'numberposts=1&order=DESC');

This gives the actual category id. 这给出了实际的类别ID。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM