简体   繁体   中英

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.

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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