<?php
$args = array(
\'post_type\' => \'product\',
\'stock\' => 1,
\'posts_per_page\' => 4,
\'product_cat\' => \'<?php echo get_theme_mod(\'vatname\', \'Clothing\'); ?>\',
\'orderby\' =>\'date\',
\'order\' => \'ASC\'
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
?>
<p><?php the_title(); ?></p>
<?php endwhile; wp_reset_query(); ?>
我试图呼应产品类别名称。自定义循环工作正常,但当我回显函数时:
<?php echo get_theme_mod( \'vatname\', \'Clothing\' ); ?>
循环停止。有人能帮我吗?我正在尝试使用wordpress cutomization api在loopexamole\'product\\u cat\'=>“clothing”中输入类别名称,
所以我做了一个文本函数,我想把product\\u cat buy中的值生态化,我给sybtax错误
最合适的回答,由SO网友:Howdy_McGee 整理而成
功能get_theme_mod()
返回信息。由于您希望分配它,而不是将其回显到屏幕上,因此我们可以删除echo和PHP标记:
$args = array(
\'post_type\' => \'product\',
\'stock\' => 1,
\'posts_per_page\' => 4,
\'product_cat\' => get_theme_mod( \'vatname\', \'Clothing\' ),
\'orderby\' =>\'date\',
\'order\' => \'ASC\'
);
这应该可以修复您的查询。现在,查询将返回帖子(本例中为产品),因此如果需要类别,则需要使用以下函数
wp_get_post_terms()
它返回一组帖子(产品)类别。
<?php
while ( $loop->have_posts() ) :
$loop->the_post();
global $product;
$category_array = wp_get_post_terms( $post->ID, \'product_cat\' );
?>
<p><?php the_title(); ?></p>
<?php print_r( $category_array ); ?>
<?php
endwhile;
wp_reset_query();
?>
SO网友:brandozz
product\\u cat arg的开始和结束php标记是否会终止该语句?这是否可行:
$clothing = get_theme_mod(\'vatname\', \'Clothing\');
$args = array(
\'post_type\' => \'product\',
\'stock\' => 1,
\'posts_per_page\' => 4,
\'product_cat\' => $clothing,
\'orderby\' =>\'date\',
\'order\' => \'ASC\'
);