我从头开始开发自定义wordpress主题。我有问题。当我尝试在我的帖子或页面中使用原生wordpress画廊短代码时,它在编辑器中显示正常,但它不显示在前端。
我甚至尝试使用:
echo do_shortcode('[gallery columns="5" link="none" ids="70,69,68,67"]');
但是没有出现......
其他帖子/页面内容显示正常,但只是图库没有显示。就像它在前端甚至没有产生任何东西一样。
如果我将主题切换到任何其他主题,它可以工作但不在我的主题中,所以很明显它是一个主题问题。我是否必须为图库添加某种主题支持?
任何帮助将不胜感激:)
更新:2017年5月2日
我使用导致问题的pre_get_posts
挂钩。有人能帮助我理解为什么吗?
答案 0 :(得分:0)
等了很多但找不到答案......我找到了问题,但不知道如何解决。但幸运的是,有一种解决方法。
我一直在使用wordpress' pre_get_posts
挂钩来设置tax_query
,如下所示:
add_action( 'pre_get_posts', 'homeInjector' );
function homeInjector( $query ) {
if ( $query->is_home() ) {
$issues = get_terms( array(
'taxonomy' => 'issues'
) );
if ( isset( $_POST['issue'] ) ) {
$term = $_POST['issue'];
} else {
$term = $issues[0]->slug;
}
$arg = array(
array(
'taxonomy' => 'issues',
'terms' => $term,
'field' => 'slug'
)
);
$query->set( 'tax_query', $arg );
}
但如果我在index.php中使用与new WP_Query
对象相同的代码就可以了!
$issues = get_terms( array(
'taxonomy' => 'issues'
) );
if ( isset( $_POST['issue'] ) ) {
$term = $_POST['issue'];
} else {
$term = $issues[0]->slug;
}
$qry = new WP_Query( array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'issues',
'terms' => $term,
'field' => 'slug'
)
)
) );
不知道为什么但它有效......
但我仍然会等待适当的答案,因为我只是一种帮助我和其他人的方式:)