当前位置: 首页 > 知识库问答 >
问题:

我们可以得到产品

邬英武
2023-03-14

我用下面的代码在我的WordPress网站上获得了WooCommerce形式的产品类别列表:

 <?php
  $taxonomy     = 'product_cat';
  $orderby      = 'name';  
  $show_count   = 0;      // 1 for yes, 0 for no
  $pad_counts   = 0;      // 1 for yes, 0 for no
  $hierarchical = 0;      // 1 for yes, 0 for no  
  $title        = '';  
  $empty        = 0;
$args = array(
  'taxonomy'     => $taxonomy,
  'orderby'      => $orderby,
  'show_count'   => $show_count,
  'pad_counts'   => $pad_counts,
  'hierarchical' => $hierarchical,
  'title_li'     => $title,
  'hide_empty'   => $empty
);
?>
<?php $all_categories = get_categories( $args );

//print_r($all_categories);
foreach ($all_categories as $cat) {
    //print_r($cat);
    if($cat->category_parent == 0) {
        $category_id = $cat->term_id;

?>     

<?php       

        echo '<br /><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a>'; ?>


        <?php
        $args2 = array(
          'taxonomy'     => $taxonomy,
          'child_of'     => 0,
          'parent'       => $category_id,
          'orderby'      => $orderby,
          'show_count'   => $show_count,
          'pad_counts'   => $pad_counts,
          'hierarchical' => $hierarchical,
          'title_li'     => $title,
          'hide_empty'   => $empty
        );
        $sub_cats = get_categories( $args2 );
        if($sub_cats) {
            foreach($sub_cats as $sub_category) {
                echo  $sub_category->name ;
            }

        } ?>



    <?php }     
}
?>

这工作正常,并返回产品类别的列表。我现在一直试图得到一个特定类别的产品列表。

示例:使用cat_id=34获取的所有产品。

我知道产品是作为帖子存储的,并且一直在努力做到这一点,但似乎做不到。

如何获取特定类别的产品列表?

共有3个答案

白子明
2023-03-14
<?php
$args     = array( 'post_type' => 'product', 'category' => 34, 'posts_per_page' => -1 );
$products = get_posts( $args ); 
?>

这应该抓住所有的产品,你想要的,我可能有错误的帖子类型,虽然我不太记得吴商务使用的帖子类型。它将返回一系列产品

李开宇
2023-03-14

不要使用WP\u Query()get\u posts()。从WooCommerce文档:

wc_get_products和wc_Product_Query提供了一种检索产品的标准方法,该方法使用安全,不会因未来版本中的数据库更改而中断。构建自定义WP_查询或数据库查询可能会破坏WooCommerce未来版本中的代码,因为数据会转向自定义表以获得更好的性能。

您可以如下方式检索所需的产品:

$args = array(
    'category' => array( 'hoodies' ),
    'orderby'  => 'name',
);
$products = wc_get_products( $args );

商业文件

注意:category参数接受一个slug数组,而不是id数组。

欧浩淼
2023-03-14
<?php  
    $args = array(
        'post_type'      => 'product',
        'posts_per_page' => 10,
        'product_cat'    => 'hoodies'
    );

    $loop = new WP_Query( $args );

    while ( $loop->have_posts() ) : $loop->the_post();
        global $product;
        echo '<br /><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().' '.get_the_title().'</a>';
    endwhile;

    wp_reset_query();
?>

这将列出所有的产品缩略图和名称以及它们到产品页面的链接。根据您的要求更改类别名称和posts_per_page。

 类似资料:
  • javax.mail。MessaginException:无法将套接字转换为TLS;嵌套的异常是:javax.net.ssl。SSLHandshakeException:sun.security.validator。ValidatorException:PKIX路径生成失败:sun.security.provider.certpath。SunCertPathBuilderException:无法找

  • 问题内容: 我有两个具有 相同源代码的 android项目,只是两个应用程序中的应用 程序图标均发生更改 。但是我没有使用产品风味。现在我需要 合并源代码 并使用 产品风味 。这样有可能吗? 问题答案: 您正在寻找的问题已经在这里得到了回答,基本上您需要做的是创建一个文件夹结构,该结构镜像main-> res-> mipmap结构,将main替​​换为您的风味名称,如下所示: 编辑 合并这两个项目

  • 问题内容: 我试图更改HTML表单,输入类型文件。这是我的代码: HTML,表格ID =表格 .CSS 这两种方法均无效。我确实从某些网站(如Facebook,YouTube,Google或Twitter)看到,它们具有不同的风格。想知道他们是如何做到的。 问题答案: 您不能对输入类型的文件执行任何操作(巨大的黑客攻击除外)。我知道这听起来很可怕,但是Web标准仍然没有提出解决方案。 但是我建议您

  • 问题内容: 它似乎不起作用: 它进入IF循环,然后引发错误: 物业privateProperty不存在 :| 也不起作用… 该文档页面列出了一些常量,包括。如果我无法访问私有财产,我将如何使用它? 问题答案: class A { private $b = ‘c’; }

  • 我正在使用BeautifulSoup刮取一个URL,并使用以下代码查找标记,其类为: 现在,在上面的代码中,我们可以使用获取标记和与它们相关的信息,但我想使用XPath。是否可以将XPath与BeautifulSoup一起使用?如果可能,请给我提供示例代码。

  • 将 User1 Bean 注入 Order1 类时出错 我正在使用@autowire@onetoMany是否允许?我添加了订单1.java,用户1.java,pom.xml和错误 pom.xml文件