按木材分类法对自定义帖子类型进行分组(Wordpress)
我很难弄清楚如何在Wordpress中将带有相同分类法“年”的帖子集合分组,而不使用单独的归档模板 我最终设法让它与Wordpress一起工作,但现在我想把它翻译成timber,而我似乎无法做到这一点。谁能给我一些指点吗 这是有效的wordpress代码按木材分类法对自定义帖子类型进行分组(Wordpress),wordpress,custom-post-type,taxonomy,timber,Wordpress,Custom Post Type,Taxonomy,Timber,我很难弄清楚如何在Wordpress中将带有相同分类法“年”的帖子集合分组,而不使用单独的归档模板 我最终设法让它与Wordpress一起工作,但现在我想把它翻译成timber,而我似乎无法做到这一点。谁能给我一些指点吗 这是有效的wordpress代码 $date_now = date('Y-m-d H:i:s'); $ex_terms = get_terms( 'exhibition-year','orderby=name&order=desc' ); foreach ( $ex_
$date_now = date('Y-m-d H:i:s');
$ex_terms = get_terms( 'exhibition-year','orderby=name&order=desc' );
foreach ( $ex_terms as $ex_term ) {
$member_group_query = new WP_Query(
array(
'post_type' => 'exhibition',
'tax_query' => array(
array(
'taxonomy' => 'exhibition-year',
'field' => 'slug',
'terms' => array( $ex_term->slug ),
'operator' => 'IN'
)
),
'meta_query' => array(
array(
'key' => 'date_end',
'compare' => '<',
'value' => $date_now,
'type' => 'DATETIME'
)
)
)
);
if($ex_term->slug <= date('Y')){
?>
<h2><?php echo $ex_term->name; ?></h2>
<ul>
<?php
if ( $member_group_query->have_posts() ) : while ( $member_group_query->have_posts() ) : $member_group_query->the_post(); ?>
<li><?php echo the_title(); ?></li>
<?php endwhile; endif; ?>
</ul>
<?php
// Reset things, for good measure
$member_group_query = null;
wp_reset_postdata();
}
}
$date\u now=date('Y-m-dh:i:s');
$ex_terms=get_terms(‘展览年’、‘orderby=name&order=desc’);
foreach($ex_条款作为$ex_条款){
$member\u group\u query=新的WP\u查询(
排列(
“post_类型”=>“展览”,
“tax_query”=>数组(
排列(
“分类法”=>“展览年”,
'字段'=>'段塞',
“术语”=>数组($ex_term->slug),
'运算符'=>'输入'
)
),
“元查询”=>数组(
排列(
“键”=>“日期”,
'比较'=>'对查询的两个更改
- 元查询中的当前时间戳
- 在与本年度比较之前,转换为
整数
类型
$current=当前时间(“时间戳”);
$ex_terms=get_terms('Exposition year','orderby=name&order=desc')
foreach($ex_条款作为$ex_条款):
$member\u group\u query=new WP\u query(
排列(
“post_类型”=>“展览”,
“tax_query”=>数组(
排列(
“分类法”=>“展览年”,
'字段'=>'段塞',
“术语”=>数组($ex_term->slug),
'运算符'=>'输入'
)
),
“元查询”=>数组(
排列(
“键”=>“日期”,
'compare'=>'@CKDT这是未经测试的,但这里有一个在Timber中重新写入的驱动器
PHP
$date\u now=date('Y-m-dh:i:s');
$ex_terms=Timber::get_terms(‘展览年’、‘orderby=name&order=desc’);
foreach($ex_terms as和$ex_term){
$member\u group\u query=Timber::get\u posts(
排列(
“post_类型”=>“展览”,
“tax_query”=>数组(
排列(
“分类法”=>“展览年”,
'字段'=>'段塞',
“术语”=>数组($ex_term->slug),
'运算符'=>'输入'
)
),
“元查询”=>数组(
排列(
“键”=>“日期”,
'compare'=>'实际上没有,您做了一些小的代码清理。问题是我如何在timberwp中重新创建此代码
$member_group_query = new WP_Query(
array(
'post_type' => 'exhibition',
'tax_query' => array(
array(
'taxonomy' => 'exhibition-year',
'field' => 'slug',
'terms' => array( $ex_term->slug ),
'operator' => 'IN'
)
),
'meta_query' => array(
array(
'key' => 'date_end',
'compare' => '<',
'value' => $current
)
)
)
);
if( (int)$ex_term->slug <= date('Y')):
echo '<h2>'.$ex_term->name.'</h2>';
echo '<ul>';
if ( $member_group_query->have_posts() ) :
while ( $member_group_query->have_posts() ) : $member_group_query->the_post();
echo '<li>'.get_the_title().'</li>';
endwhile;
endif;
echo '</ul>';
endif;
$member_group_query = null;
wp_reset_postdata();
$date_now = date('Y-m-d H:i:s');
$ex_terms = Timber::get_terms( 'exhibition-year','orderby=name&order=desc' );
foreach ( $ex_terms as &$ex_term ) {
$member_group_query = Timber::get_posts(
array(
'post_type' => 'exhibition',
'tax_query' => array(
array(
'taxonomy' => 'exhibition-year',
'field' => 'slug',
'terms' => array( $ex_term->slug ),
'operator' => 'IN'
)
),
'meta_query' => array(
array(
'key' => 'date_end',
'compare' => '<',
'value' => $date_now,
'type' => 'DATETIME'
)
)
));
$ex_term->events = $member_group_query;
if( $ex_term->slug <= date('Y') ){
$ex_term->past = true;
}
}
$context['ex_terms'] = $ex_terms;
Timber::render('my-file.twig', $context);
{% for term in ex_terms %}
{% if term.past %}
<h2>{{ term.name }}</h2>
<ul>
{% for post in term.events %}
<li>{{ post.title }}</li>
{% endfor %}
</ul>
{% endfor %}