带术语的木材插件 (WordPress)
Timber plugin with term (WordPress)
我有一份 post 的列表,其中一个术语分配给一个 post。
我有 5 个学期。我生成了所用术语的列表。我只想在我的存档页面中显示 post 具有相同术语的内容。
archive.php :
$templates = array( 'archive.twig', 'index.twig' );
$context = Timber::get_context();
$context['categories'] = Timber::get_terms('category', array('hide_empty' => true));
$context['title'] = 'Archive';
if ( is_day() ) {
$context['title'] = 'Archive: '.get_the_date( 'D M Y' );
} else if ( is_month() ) {
$context['title'] = 'Archive: '.get_the_date( 'M Y' );
} else if ( is_year() ) {
$context['title'] = 'Archive: '.get_the_date( 'Y' );
} else if ( is_tag() ) {
$context['title'] = single_tag_title( '', false );
} else if ( is_category() ) {
$context['title'] = single_cat_title( '', false );
array_unshift( $templates, 'archive-' . get_query_var( 'cat' ) . '.twig' );
} else if ( is_post_type_archive() ) {
$context['title'] = post_type_archive_title( '', false );
array_unshift( $templates, 'archive-' . get_post_type() . '.twig' );
}
$context['posts'] = Timber::get_posts();
Timber::render( $templates, $context );
在我的 home.twig 文件中显示所有 post :
<ul class="category--list">
{% for cat in categories %}
<li><a href="{{cat.link}}" class="h-cat">{{cat.name}}</a></li>
{% endfor %}
</ul>
我必须在我的 "archive.twig" 文件中创建什么循环才能仅在单击的术语中显示 post?
@Jardon,第一步是获取相关术语...
archive.php
$context['term'] = new Timber\Term();
//this will fetch whichever term is in the scope of that php file
然后你只需要将它发送到树枝文件进行显示...
archive.twig
<h2>{{ term.name }}</h2>
我有一份 post 的列表,其中一个术语分配给一个 post。
我有 5 个学期。我生成了所用术语的列表。我只想在我的存档页面中显示 post 具有相同术语的内容。
archive.php :
$templates = array( 'archive.twig', 'index.twig' );
$context = Timber::get_context();
$context['categories'] = Timber::get_terms('category', array('hide_empty' => true));
$context['title'] = 'Archive';
if ( is_day() ) {
$context['title'] = 'Archive: '.get_the_date( 'D M Y' );
} else if ( is_month() ) {
$context['title'] = 'Archive: '.get_the_date( 'M Y' );
} else if ( is_year() ) {
$context['title'] = 'Archive: '.get_the_date( 'Y' );
} else if ( is_tag() ) {
$context['title'] = single_tag_title( '', false );
} else if ( is_category() ) {
$context['title'] = single_cat_title( '', false );
array_unshift( $templates, 'archive-' . get_query_var( 'cat' ) . '.twig' );
} else if ( is_post_type_archive() ) {
$context['title'] = post_type_archive_title( '', false );
array_unshift( $templates, 'archive-' . get_post_type() . '.twig' );
}
$context['posts'] = Timber::get_posts();
Timber::render( $templates, $context );
在我的 home.twig 文件中显示所有 post :
<ul class="category--list">
{% for cat in categories %}
<li><a href="{{cat.link}}" class="h-cat">{{cat.name}}</a></li>
{% endfor %}
</ul>
我必须在我的 "archive.twig" 文件中创建什么循环才能仅在单击的术语中显示 post?
@Jardon,第一步是获取相关术语...
archive.php
$context['term'] = new Timber\Term();
//this will fetch whichever term is in the scope of that php file
然后你只需要将它发送到树枝文件进行显示...
archive.twig
<h2>{{ term.name }}</h2>