虽然我有使用PHP的经验,但WordPress对我来说还是一个新手,我在这里苦苦挣扎。
我正在努力帮助朋友完成一个主题。他与几位艺术家合作,每位艺术家都有一个以艺术家命名的WP页面(即汤姆琼斯),他只希望在该页面上显示该艺术家的帖子。我们为每个艺术家(汤姆琼斯)定义了一个像(tom-jones)
这样的slug的标签遵循Codex,我在模板中准备Loop如下:
$tags = get_tags();
//query_posts( array( 'tag' => $tag->slug ) );
query_posts( array( 'tag' => 'tom-jones' ) );
if( have_posts()) : while( have_posts() ) : the_post();
echo '<li id="feed<?php theID(); ?>" style="border-bottom:1px solid #404040;">';
echo '<table><tr><td width="40">';
echo '<img src="<?php echo get_post_meta($post->ID, 'image_path', true); ?>" />';
echo '</td><td><a href="';
the_permalink();
echo '">';
the_title();
echo '</a><br><span class="smTxt">Posted by ';
the_author();
echo ' on <em>';
the_time('F jS, Y');
echo '</em></span><br>';
the_excerpt();
echo '</td></tr></table></li>';
endwhile;
else:
echo '<h3>There are no posts.</h3>';
endif;
我原本以为被注释掉的query_post会抓住艺术家的特定slu ,,但它会返回“No Posts”。当我现在硬编码时,它按预期工作。
非常感谢任何帮助。
答案 0 :(得分:0)
试试这个
query_posts( array( 'tag' => get_query_var('tag') ) );
<强>更新强>
正如您所说artist
是自定义texonomy
所以请尝试使用
$the_tax = get_taxonomy( get_query_var( 'taxonomy' ) );
query_posts( array( 'artist' => $the_tax->labels->name ) );
使用wp_reset_query()
query_posts
更新(使用WP_Query)
$the_tax = get_taxonomy( get_query_var( 'taxonomy' ) );
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'artist',
'field' => 'slug',
'terms' => $the_tax->labels->name
)
)
);
$query = new WP_Query( $args );