1

虽然我有使用 PHP 的经验,但 WordPress 对我来说还是很新的,我在这里苦苦挣扎。

我正在尝试帮助朋友完成一个主题。他与几位艺术家合作,每位艺术家都有一个以艺术家(即汤姆琼斯)命名的 WP 页面,他只想在该页面上显示有关该艺术家的帖子。我们为每个艺术家(汤姆琼斯)定义了一个标签,比如(汤姆琼斯)

在 Codex 之后,我正在模板中准备循环,如下所示:

$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 会抓住艺术家的特定信息,但它会返回“无帖子”。当我像现在这样硬编码时,它按预期工作。

任何帮助是极大的赞赏。

4

1 回答 1

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 );
于 2012-07-15T19:32:59.683 回答