2013-07-25 73 views
2

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

从当前的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,并提供该代码我的詹姆斯·科斯特。

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

当我把它添加到下PHP “ 'post_type'=>阵列( '产品')”它看起来像这样;

<?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' 
      )))); 

但是这会返回一个错误;

“解析错误:语法错误,意想不到T_CONSTANT_ENCAPSED_STRING,期望 ')' 在上线116 /.../主题/ destinlive/index.php的”

线116为“‘meta_query’=>数组(

我不在PHP在所有精通,以及缺乏从詹姆斯细节,以将它放在哪儿,(我感谢您的帮助)给我留下花几个小时尝试不同的配置,但没有成功。现在我转向这里寻求帮助。

预先感谢您的慷慨帮助。

回答

3

你错过了逗号后'post_type' => array('product')