我目前有一个名为Sectors的自定义帖子类型。这也有类别。
add_action( 'init', 'wpsites_custom_post_type' );
function wpsites_custom_post_type() {
register_post_type( 'sectors',
array(
'labels' => array(
'name' => __( 'Sectors' ),
'singular_name' => __( 'sector' ),
),
'has_archive' => true,
'hierarchical' => true,
'menu_icon' => 'dashicons-heart',
'public' => true,
'rewrite' => array( 'slug' => 'sectors', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
'taxonomies' => array( 'sectors', 'post_tag' ),
));
}
在这里,我有各自的部门,可以贴上标签
我目前正在尝试做的是向某个部门添加标签,标记的部门将是一个特色部门'在其类别页面中。
使用下面的代码,在我的taxonomy-sectors.php页面上,我可以这样做:
<?php
$args = array(
'tag_slug__and' => array('sector1'),
'post_type' => array( 'sectors' )
);
$loop = new WP_Query( $args );
while ($loop->have_posts() ) : $loop->the_post();
?>
<a href="<?php echo get_permalink(); ?>">
<?php echo "<div class='col-md-6' style='margin-bottom:20px;'>"; ?>
<div class="row mobilemargin">
<div class="categorytiletextsector1">
<div class="col-md-6 col-sm-6 col-xs-12 nopr"><?php echo get_the_post_thumbnail( $page->ID, 'categoryimage', array('class' => 'sector1img hovereffect')); ?> </div>
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="testdiv">
<h5><?php the_title(); ?></h5>
<p><?php the_excerpt(); ?></p>
</div>
</div>
</div>
</div>
<?php echo "</div>"; ?>
</a>
问题是,这会在每个类别页面上显示这些标记的扇区,因为所有类别都使用分类页面。有没有办法,它只会将这些标记的扇区页面显示为自己的类别?如果有帮助的话,任何行业都不能属于1类。
任何帮助都会很棒,这已经困扰了我好几天了:(
修改
以下代码来自答案,但现在没有返回任何内容,是否有遗漏?
$args = array(
'tag_slug__and' => array( 'sector1' ),
'post_type' => array( 'sectors' ),
'tax_query' => array(
array(
'taxonomy' => 'sectors',
'terms' => get_queried_object_id(),
),
),
);
答案 0 :(得分:0)
您目前所拥有的查询将会检索所有帖子,而不是特定于您正在查看的字词。
如果我已正确理解您的问题,您希望过滤所显示的帖子您正在查看的字词。这可以通过使用get_queried_object_id()
获取当前术语ID并将其传递给tax_query
参数来完成。
变化:
$args = array(
'tag_slug__and' => array('sector1'),
'post_type' => array( 'sectors' )
);
要:
$args = array(
'tag_slug__and' => array( 'sector1' ),
'post_type' => array( 'sectors' ),
'tax_query' => array(
array(
'taxonomy' => 'sectors',
'terms' => get_queried_object_id(),
),
),
);
答案 1 :(得分:-1)
尝试这个
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="testdiv">
<h5><?php the_title(); ?></h5>
<p><?php the_excerpt(); ?></p>
<p><?php the_tags( 'Tags: ', ', ', '<br />' ); ?></p>
</div>
</div>