隐藏产品的Woocommerce Meta_Query

时间:2013-07-25 16:46:25

标签: woocommerce

我正在使用主页上有自定义产品循环的主题。一切都很好,除了主页上显示的“隐藏”产品。我提供了一些代码来修复它,但不断得到Parse错误。

index.php中的当前代码:

<?php if (of_get_option("cap_show_merch") == true){?>
    <?php //woocommerce check ?>
    <?php if (  in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { ?>
        <h2><?php echo of_get_option("cap_merch_title"); ?></h2>
        <div class="preview-block">
            <?php
            global $product;
            $num = 0;
            $merch = new WP_Query( array(
            'posts_per_page' => 5,
            'post_type'      => array( 'product' )
            ) );

            if( $merch->have_posts() ) : while( $merch->have_posts() ) : $merch->the_post();
                $product = get_product();

                if ( $num == 0 ) : ?>
                    <div class="preview">
                        <div class="visual">
                            <?php if ( has_post_thumbnail() ) : ?>
                                <img src="<?php echo aq_resize( wp_get_attachment_url( get_post_thumbnail_id(), 'full' ), 473, 453, true );  ?>" width="473" height="453" alt="<?php the_title(); ?>" />
                            <?php else : ?>
                                <img src="<?php echo woocommerce_placeholder_img_src(); ?>" alt="Placeholder" />
                            <?php endif; ?>
                            <a href="<?php the_permalink(); ?>" class="mask"></a>
                            <?php woocommerce_template_loop_price(); ?>
                        </div>
                        <a href="<?php the_permalink(); ?>" class="caption"><?php the_title(); ?></a>
                    </div>
                <?php else : ?>
                    <?php if ( $num == 1 ) : ?>
                        <ul class="catalog">
                    <?php endif; ?>
                    <li>
                        <div class="visual">
                            <?php if ( has_post_thumbnail() ) : ?>
                                <img src="<?php echo aq_resize( wp_get_attachment_url( get_post_thumbnail_id(), 'full' ), 222, 193, true );  ?>" width="222" height="193" alt="<?php the_title(); ?>" />
                            <?php else : ?>
                                <img src="<?php echo woocommerce_placeholder_img_src(); ?>" alt="Placeholder" />
                            <?php endif; ?>
                            <a href="<?php the_permalink(); ?>" class="mask"></a>
                            <?php woocommerce_template_loop_price(); ?>
                        </div>
                        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                    </li>
                    <?php
                endif;
                $num++;
            endwhile;
            ?>
            </ul>
            <?php endif; wp_reset_postdata(); ?>
        </div><!--preview-block-->
    <?php } //woocommerce check?>
<?php } ?>

我在Wordpress论坛here中问了这个问题,并且我的James Koster提供了这段代码。

'meta_query' => array(
array(
'key' => '_visibility',
'value' => array( 'catalog', 'visible' ),
'compare' => 'IN'
)
)

当我在“'post_type'=&gt;数组('产品')”下将其添加到php时,它看起来像这样;

<?php
            global $product;
            $num = 0;
            $merch = new WP_Query( array( 
            'posts_per_page' => 5,
            'post_type'      => array( 'product' )
            'meta_query' => array(
                            array(
                                'key' => '_visibility',
                                'value' => array( 'catalog', 'visible' ),
                                'compare' => 'IN'
            ))));

但这会返回一个错误;

“第116行上的/.../ themes / destinlive / index.php中的”解析错误:语法错误,意外的T_CONSTANT_ENCAPSED_STRING,期待')'

第116行是“'meta_query'=&gt;数组(

我并不精通php,而James缺乏关于在哪里放置它的详细信息(我感谢你的帮助)让我花了几个小时尝试不同的配置,但没有用。现在我来这里寻求帮助。

提前感谢您的慷慨帮助。

1 个答案:

答案 0 :(得分:3)

您在'post_type' => array( 'product' )

之后错过了一个逗号