我使用的主题在主页上有一个自定义产品循环。除了在主页上显示"隐藏"产品外,一切都很棒。我提供了一些代码来修复它,但不断出现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论坛上问过这个问题,我的James Koster提供了这个代码。
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array( 'catalog', 'visible' ),
'compare' => 'IN'
)
)
当我将它添加到"'post_type'=>array('product')"下的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'=>数组("
我一点也不精通php,James也没有详细说明该把它放在哪里(我很感谢他的帮助),这让我花了几个小时尝试不同的配置,但都无济于事。现在我在这里寻求帮助。
提前感谢你的慷慨帮助。
'post_type' => array( 'product' )
后缺少逗号