我试图只显示带有标签的帖子Movie Trailers
和Gaming Trailers
但我的循环仍然显示类别/视频下的所有内容/
这是我的
分类视频。php:
<?php if ( have_posts() ) : ?>
<?php ?>
<?php add_action( \'pre_get_posts\', \'display_gaming_trailers\' ); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
get_template_part( \'content-videos\', get_post_format() );
?>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part( \'no-results\', \'index\' ); ?>
<?php endif; ?>
在函数中。php我有:
//Display Movie Trailers
function display_movie_trailers( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'tag\', \'movie trailers\' );
}
}
add_action( \'pre_get_posts\', \'display_movie-trailers\' );
//Display Gaming Trailers
function display_gaming_trailers( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'tag\', \'gaming trailers\' );
}
}
add_action( \'pre_get_posts\', \'display_gaming-trailers\' );
我在
functions.php
并使用您建议的代码对其进行了更正,但循环中没有显示任何内容。类别为
videos
所以我现在有:
//Display Gaming Trailers
function display_gaming_trailers( $query ) {
if ( $query->is_category() && $query->query_vars[\'category_name\'] == \'videos\') {
$query->set( \'tag\', \'gaming trailers\' );
}
}
add_action( \'pre_get_posts\', \'display_gaming_trailers\' );
Edit: 我试过了
gaming trailers and the slug
游戏预告片`没有任何运气。。有什么能阻止它工作的吗?
最合适的回答,由SO网友:Manny Fleurmond 整理而成
在模板中add_action
你已经太迟了,因为当WordPress到达你的模板时,查询已经完成了。
如果这是一个分类页面,我会在你的functions.php
:
//Display Gaming Trailers
function display_gaming_trailers( $query ) {
if ( $query->is_category() && $query->query_vars[\'category_name\'] == \'video\') {
$query->set( \'tag\', \'gaming-trailers\' );
}
}
add_action( \'pre_get_posts\', \'display_gaming_trailers\' );