Php 在带有图像的侧栏中列出Wordpress类别
我将在侧边栏中列出带有图像的类别这是我如何做的(它是有效的)我这样做是因为我不想显示某些类别Php 在带有图像的侧栏中列出Wordpress类别,php,wordpress,categories,Php,Wordpress,Categories,我将在侧边栏中列出带有图像的类别这是我如何做的(它是有效的)我这样做是因为我不想显示某些类别 <?php $latests = new WP_Query('posts_per_page=2&ignore_sticky_posts=1&cat=12'); ?> <?php echo get_cat_name(12); ?> <?php while ($latests->have_posts()) : $latests->the_post()
<?php $latests = new WP_Query('posts_per_page=2&ignore_sticky_posts=1&cat=12'); ?>
<?php echo get_cat_name(12); ?>
<?php while ($latests->have_posts()) : $latests->the_post(); ?>
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('sidebarcat'); } ?>
<?php the_title(); ?>
<?php endwhile; wp_reset_postdata(); ?>
但我需要复制每个类别的代码。。。我想所有这些只改变一个数字的代码都是一个很好的实践。还有别的办法吗
我试过用foreach,但似乎不对
<?php $latests = new WP_Query('posts_per_page=2&ignore_sticky_posts=1&cat=12'); ?>
<?php foreach($latests as $latest) :?>
<?php while ($latests->have_posts()) : $latests->the_post(); ?>
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('sidebarcat'); } ?>
<?php the_title(); ?>
<?php endwhile; wp_reset_postdata(); ?>
<?php endforeach; ?>
最简单的方法就是这样
<?php wp_list_categories('orderby=name&exclude=3,5,9,16'); ?>
因此,这将返回除指定类别之外的所有类别。在此之后,您可以获得您想要的类别和所有类别的实际图像。您可以这样做:
<ul>
<?php
$cat_args=array(
// 'include' => '3,6,9', // display only these categories
'exclude' => '3,6,9', // display all categories except categories 3,6,9
'orderby' => 'name', // the order
'order' => 'ASC' // asc or desc
);
$categories=get_categories($cat_args);
foreach($categories as $category) {
$args=array(
'showposts' => 2, // how many posts you want to display
'category__in' => array($category->term_id),
'caller_get_posts'=>1
);
$posts=get_posts($args);
if ($posts) {
echo '<h3> <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in: %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </h3> ';
foreach($posts as $post) {
setup_postdata($post);
?>
<li>
<div>
<div><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php if ( has_post_thumbnail() ) { the_post_thumbnail('sidebarcat'); } ?></a></div>
<div><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
</div>
</li>
<?php
} // close foreach
} // close if
} // close foreach
?>
</ul>
-
是的,但我需要从每个类别中获得最后2篇帖子。。。当然这是不可能的。如果你使用这个数组,在这个数组上做一个foreach,你将能够查询所有这些类别的最后2篇文章。