我希望显示标签来指定类别。我的代码是:
<?php $categories = get_categories('post_type=post'); ?>
<?php foreach ($categories as $category) : ?>
<?php
$project_query = query_posts('cat='.$category->term_id.'');
while (have_posts()) : the_post();
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$all_tags_arr[] = $tag -> name;
}
}
endwhile;
?><?php echo $category->term_id; ?>
<?php if ( is_array($all_tags_arr) && count($all_tags_arr) > 0 ): ?>
<?php
$tags_arr = array_unique($all_tags_arr);
foreach( $tags_arr as $tag ):
$el = get_term_by('name', $tag, 'post_tag');
$arr[] = '"tag-'.$el->slug.'"';
?>
<span><a href="#<?php echo $el->slug; ?>" id="taglink-tag-<?php echo $el->slug; ?>" rel="tag-<?php echo $el->slug; ?>"><?php echo $el->name; ?></a> </span>
<?php endforeach; endif; ?>
<?php endforeach; wp_reset_query(); ?>
当我使用query_posts('cat=22')
时,
我遇到query_posts('cat='.$category->term_id.'')
无效的问题
这是Wordpress中的错误还是我的代码中的错误?
我在term_id
中的其他代码query_post
之前使用它时很奇怪,但我需要永久链接中的标记slug名称
$query_args = array(
'category__in' => $category->term_id ,
'posts_per_page' => -1
)
$query = new WP_Query( $query_args );
$posttags = "";
while( $query->have_posts() ) {
$query->the_post();
if( get_the_tag_list() ){
$posttags = $posttags . strip_tags(get_the_tag_list('',',',','));
}
}
wp_reset_postdata();
$sortedtags = explode(',', $posttags);
asort($sortedtags);
$sortedtags = array_unique($sortedtags);
$sortedtags = array_values( array_filter($sortedtags) );
foreach ($sortedtags as $tagname) {
echo '<li><a href="'. home_url() .'/number/'. $category->slug .'?tag=' . $tags . '">' . $tagname . '</a></li>';
}
答案 0 :(得分:0)
我建议您使用WP_Query类来创建循环,因为使用query_posts
函数强烈discouraged。
通过使用WP_Query
,您可以轻松使用以下行来获取特定类别或更多内容的帖子。
$query = new WP_Query( array( 'cat' => $category->term_id ) );