2013-07-25 125 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')