繁体   English   中英

如何使用php从数据库中获取所有woocommerce产品

[英]How to fetch all the woocommerce products from the database using php

我正在尝试使用 php 从数据库中获取 woocommerce 的所有产品。但它没有给我所有产品的列表

  <select Name='choose'>
  <?php
  $args = array( 'post_type' => 'product' ,'posts_per_page' => 100);
  $loop = new WP_Query( $args );
  while ( $loop->have_posts() ) : 
      $loop->the_post();
      echo '<option selected value="'.the_title().'</option>';
  endwhile;
  ?>
</select>

谁能告诉我如何获得woo commerce的所有产品

谢谢

您的代码在我的机器上运行良好,但是它似乎与您之前的 wp 查询有些冲突。 您也可以尝试像这样获得所有产品..

<select Name='choose'>
<?php
$args = array( 'post_type' => 'product' ,'posts_per_page' => 100);
$products = get_posts( $args );
foreach( $products as $product ) : 
  echo '<option selected value="'.$product->post_title.'</option>';
endforeach;
?>
</select>

为了将单个产品提取到您的 single.php 页面,您可以使用我已经在这里建议的代码。 参考这里:

https://wordpress.stackexchange.com/questions/240653/how-to-query-single-product-in-woocommerce/240726#240726

为了将您拥有的所有产品提取到您的数据库中,您可以按照以下步骤操作。

您还可以根据WP_Query获取 Woo-commerce 产品,以便它也单独保存在wp_posts表中。 这样我们就可以单独稍微修改帖子类型以使WP_Query工作。

第一步:首先,我们将查看必须为 WP_Query 传递的参数。

$params = array(
        'posts_per_page' => 5, 
        'post_type' => 'product'
);

注意:如您所见,我们所做的只是在数组中添加了一个 post_type 变量,并将其值设置为“product”; 查询现在将查找 WooCommerce 产品而不是帖子。

第二步:之后,我们必须使用与普通 WP_Query 行为相同的结构继续运行。

<?php
$params = array(
        'posts_per_page' => 5, 
        'post_type' => 'product'
);
$wc_query = new WP_Query($params); 
?>
<?php if ($wc_query->have_posts()) :  ?>
<?php while ($wc_query->have_posts()) : $wc_query->the_post();  ?>
<?php the_title(); //Prints the title over Here ?>
<?php //You can add what ever you need from the loop over here ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else:  ?>
<p>
     <?php _e( 'No Products' );  ?>
</p>
<?php endif; ?>

说明

  • WP_Query 使用的参数数组被创建; 首先,它只是基本的帖子,但是通过向这些参数添加更多细节,我们可以获得不同的查询结果。
  • WP_Query用于查询第一行创建的参数。
  • 检查查询以查看它是否返回任何结果。
  • 如果有结果,那么我们迭代它们:
    • 首先,设置全局变量$post ,以确保下一个函数正常工作。
    • 其次,设置the_title()变量,该变量负责显示产品标题。
  • 然后,当帖子显示时,我们使用wp_reset_postdata函数将 $post 变量返回到其原始状态。

使用此链接,我研究了如何使用 WP_Query 查询 WooCommerce 产品,并且我已在此处共享,以便所有人都可以使用此帖子。

快乐编码:)

$this->db->select('*');
        $this->db->from('vm_posts');
        $this->db->join('vm_postmeta', 'vm_postmeta.post_id = vm_posts.id');
        $this->db->join('vm_wc_product_meta_lookup', 'vm_wc_product_meta_lookup.product_id = vm_postmeta.post_id');
        $this->db->join('vm_inventory', 'vm_wc_product_meta_lookup.sku = vm_inventory.product_sku');
        $this->db->join('vm_terms', 'vm_inventory.customer_id = vm_terms.name');
        $this->db->where('post_type','product');
        $query = $this->db->get()->result();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM