通过DYNAMIC标签显示帖子

时间:2012-07-15 18:35:09

标签: wordpress wordpress-theming

虽然我有使用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”。当我现在硬编码时,它按预期工作。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个

query_posts( array( 'tag' => get_query_var('tag') ) );

This post may help you

<强>更新

正如您所说artist是自定义texonomy所以请尝试使用

$the_tax = get_taxonomy( get_query_var( 'taxonomy' ) );
query_posts( array( 'artist' => $the_tax->labels->name ) );

使用wp_reset_query()

时,必须在循环后使用query_posts

You may read this post

更新(使用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 );