Wordpress图库未显示

时间:2017-04-28 14:15:32

标签: php wordpress gallery

我从头开始开发自定义wordpress主题。我有问题。当我尝试在我的帖子或页面中使用原生wordpress画廊短代码时,它在编辑器中显示正常,但它不显示在前端。

enter image description here

我甚至尝试使用:

echo do_shortcode('[gallery columns="5" link="none" ids="70,69,68,67"]');

但是没有出现......

其他帖子/页面内容显示正常,但只是图库没有显示。就像它在前端甚至没有产生任何东西一样。

如果我将主题切换到任何其他主题,它可以工作但不在我的主题中,所以很明显它是一个主题问题。我是否必须为图库添加某种主题支持?

任何帮助将不胜感激:)

  

更新:2017年5月2日

我使用导致问题的pre_get_posts挂钩。有人能帮助我理解为什么吗?

1 个答案:

答案 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'
        )
    )
) );

不知道为什么但它有效......

但我仍然会等待适当的答案,因为我只是一种帮助我和其他人的方式:)