ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 自定义帖子类型中的WooCommerce产品

2019-08-29 06:30:37  阅读:248  来源: 互联网

标签:custom-post-type php wordpress woocommerce wordpress-plugin


我正在尝试使用Woocommerce类别分类法在页面上显示相关产品.自定义帖子类型允许我将产品类别列表添加到自定义页面,但我不知道如何过滤它只显示我为相应页面选择的类别.目前它显示我的所有产品,而不是过滤我需要的产品:

$args = array( 'post_type' => 'product', 'posts_per_page' => -1, 'taxonomy' => 'product_cat' );

$loop = new WP_Query( $args );

while ( $loop->have_posts() ) : $loop->the_post();
    global $product; 
    echo '<div class="background-img"><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().'<br /> '.get_the_title().'</a>';
    echo $product->get_price_html();
    echo '<form class="cart" method="post" enctype="multipart/form-data">
     <input type="hidden" name="add-to-cart" value="';
    echo esc_attr($product->id);
    echo '">
     <button type="submit">';
    echo $product->single_add_to_cart_text();
    echo '</button>
        </form>';
    echo '</div>';
endwhile; 

$attachment_ids = $product->get_gallery_attachment_ids();

foreach( $attachment_ids as $attachment_id )
{
    echo $image_link = wp_get_attachment_url( $attachment_id );

}
wp_reset_query(); 

这是开发站点的一个版本,它仍然非常原始,需要很多样式,但应该给出一个想法:

http://betamarine.mainboard.com/engine/beta-14-z482/

我正在使用以下插件:

https://wordpress.org/plugins/custom-post-type-ui/

我可以创建一个自定义分类法,但这是一个额外的步骤,并产生相同的结果.我想我可能会遗漏一些小东西,但我只是没有得到它.

解决方法:

所以经过多次努力之后,这里是代码片段:

 <?php

   //retrieves the term variable from the admin page - replace "product_category" with the name of your post type
$part_terms = get_the_terms( $post->ID, 'product_category' );
if( $part_terms && !is_wp_error( $part_terms ) ) {
    foreach( $part_terms as $term ) {
    }
}
//create a variable to filter your WordPress Loop
    $part_args = array( 
		'post_type' => 'product', 
		'hierarchical' => true,
		'posts_per_page' => -1, 
		'tax_query' => array(array(
			'taxonomy' => 'product_category',
			'field' => 'slug',
			'terms' => array($term->slug),
			'operator' => 'IN'
			))
	);

							
    $loop = new WP_Query( $part_args );
//the loop
    while ( $loop->have_posts() ) : $loop->the_post(); 
    global $product; 
//some handy woocommerce coding
	echo '<div class="background-img"><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().'<br /> '.get_the_title().'</a>';
	echo $product->get_price_html();
	echo '<form class="cart" method="post" enctype="multipart/form-data">
     <input type="hidden" name="add-to-cart" value="';
	echo esc_attr($product->id); 
	echo '">
     <button type="submit">';
	echo $product->single_add_to_cart_text(); 
	echo '</button>
		</form>';
	echo '</div>';
     	endwhile;

?>

感谢JayDeep让我走上正轨!

标签:custom-post-type,php,wordpress,woocommerce,wordpress-plugin
来源: https://codeday.me/bug/20190829/1758035.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有