我正在编写网络服务,我需要在类别中获取所有产品,我已经写了这篇文章: SELECT *,ID, `post_date` , `post_title` , `post_content` , `guid` FROM `wp_posts` as post INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID INNER JOIN wp_terms t ON t.term_id = rs.term_taxonomy_id WHERE `post_type` = 'product' AND `post_status` = 'publish' AND rs.term_taxonomy_id =909 代码返回3个项目,但问题是,我在网站和网站中的此类别中大约有20个产品显示了所有这20种产品. 此代码有什么问题?如何将所有产品列入类别? 顺便说一下,如果可以使用的话,我
以下是关于 mysql 的编程技术问答
我只想按特定类别更新产品. 我通过此mysql查询获得了正确的结果: SELECT * FROM wp_posts WHERE post_type = 'product' 现在,我有两种类型的产品类别1. ABC和2. XYZ ABC有5种产品,XYZ有30000种产品. 我只想更新具有类别的产品的元数据ABC 为此我写了mysql查询: UPDATE `wp_postmeta` SET `meta_value`= ( CASE WHEN `meta_key` = '_stock' THEN '0' WHEN `meta_key` = '_stock_status' THEN 'outofstock' ELSE `meta_value` END) WHERE post_id NOT IN( '2268', '229
我有两个搜索查询.一个以默认方式搜索的任何匹配参数的帖子标题. 第二个查询设置为搜索带有" sku"的postmeta键的任何帖子,例如搜索查询. 我试图将这两个查询组合在一起,以便搜索将返回任何标题或SKU匹配搜索词的帖子. 第一个查询: $args = array( 's' => apply_filters('yith_wcas_ajax_search_products_search_query', $search_keyword), 'post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'orderby' => $or
我试图将价格提高到特定类别中的某些产品的百分比.我找出了应该有效的选择语句,但是将其组合到更新语句时很难.这是我拥有的: SELECT * from `wp_term_relationships` where term_taxonomy_id=376 and object_id in(select ID from `wp_posts` where `post_type`='product' and post_status='publish' and ID=wp_term_relationships.object_id) 这给了我所需的产品.我可以在这些产品上运行更新(如下),还是需要以某种方式组合它们? update wp_postmeta set meta_value = meta_value * 1.40 where meta_key='_regular_price' 解决方案 这是一个mysql查询,它将达到您的目的. 更新_regular_p
我正在使用get_category()通过其ID获取类别对象.这里 category 39 是 category 37 的孩子.例如, Courses (37) - Programming (39) 我的问题是,如果我在functions.php中使用get_category(37 or 39),则两者都会返回null.如果我在single-product.php 37中使用get_category(37 or 39)(根类别)将返回null.如果我在add-to-cart/simple.php中使用相同的调用,则两个都会返回对象. WooCommerce功能将首先调用,然后是single-product.php,然后是add-to-cart/simple.php模板. 发生了什么事? 为什么根据文件工作? @edit get_term( 37, 'category' ); 似乎也失败了 @Edit 13/7- 正确的工作解决方案
我想删除WooCommerce中的一些旧订单数据,仅保留最后12个月的订单数据 这是我用来删除所有订单的SQL查询: DELETE FROM wp_woocommerce_order_itemmeta DELETE FROM wp_woocommerce_order_items DELETE FROM wp_comments WHERE comment_type = 'order_note' DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type = 'shop_order' ) DELETE FROM wp_posts WHERE post_type = 'shop_order' 我需要添加什么才能在2017年1月1日之前删除所有订单数据,并自2017年1月1日以来保留订单数据? 我对SQL了解不多,因为多年来我使用了一些SQL查询. 任何帮助都将不
我想更改WooCommerce中可变产品的价格.我尝试使用MySQL查询来完成此操作, UPDATE wp_postmeta SET meta_value = price_value WHERE post_id = variation_id AND meta_key = '_sale_price'; ,但仅在后端不在后端(DB和Admin区域)进行更新.实际上,前端也没有显示销售价格. 由于我不擅长SQL,所以是否有任何代码片段或WooCommerce挂钩可以更改可变产品的价格? 谢谢. 解决方案 如果您想更改销售上的产品价格 要更新具有相同值的_sale_price和_price. //for Regular Price UPDATE wp_postmeta SET meta_value = diff_price_value WHERE post_id = variation_id AND meta_key = '_regular_price'
我在WooCommerce版本2.1.12,WordPress版本3.9.1中大约有10,000多种产品,并且通过导入错误,销售价格字段在每个产品中都有一个" 0"填充,从而使每个产品现在免费. 所以,我当然需要做的是删除所有这些的问题,但是我似乎找不到价格所在的桌子. 我进行了广泛的搜索,i Think ,试图在Google和此处找到这一点.我来的最接近的是这个问题: 需要将productData从mysql数据库中脱离/p> 看起来好像在元字段中,但我无法视觉上看到它们. 任何人都知道在哪里可以找到价格的细节,也许对查询结构有所帮助? 感谢您的时间, ne 解决方案 这是您打印价格的方式: SELECT p.id, p.post_title, m.meta_key, m.meta_value FROM wp_posts p INNER JOIN wp_postmeta m ON p.id=m.post_id AND m.meta
我在WordPress插件-WooCommerce中的类别和子类别有问题. 我正在创建一个可以创建类别和子类别的脚本,问题是我不完全了解所有这些在WooCommerce DB结构中的工作方式. 这就是我能做的: 在" wp_terms"中: term_id | name | slug | term group 20 | Parent category | parent | 0 21 | Children category | children | 0 在" wp_term_taxonomy"中: term_taxonomy_id | term_id | taxonomy | description | parent | count 1 | 20 | product_cat | | 0 | 0 2
与客户网站有问题,该网站随机显示 "此产品目前无货,无法使用." 问题是我们没有库存跟踪打开,所有产品都应一直库存. 当我进入WordPress管理员并单击产品的更新按钮时(无需更改任何内容),然后消息就消失了,"添加到购物车"按钮按照应有的要求.不幸的是,这个问题将来会重复这些项目并修复它,我必须再次更新产品(也单击WooCommerce设置中的更新可以暂时解决该问题). 我需要找到一种永久解决此问题的方法,以免自行恢复. 网站详细信息: 使用WordPress 3.9.1 WooCommerce 2.1.12 php 5.3.10(也在本地w/5.5.10尝试) 我尝试过的 删除所有插件,但是WooCommerce 更改主题(尝试了所有标准的WordPress主题和一些Woothemes主题,无用) 更新的WooCommerce(是V 2.1.5) 手动插入wp_postmeta添加元密钥_manage_stock并将其设置为
有可能获得当前和以前的客户订单吗?即,我需要每个客户以前订单的当前订单和计费地址的计费地址. 例如,我需要获得每个客户订单的数组,即我需要每个客户订单的计费地址. 所以我有一些代码,可以在管理面板中的"编辑订单页"中打印任何文本. add_action( 'woocommerce_admin_order_data_after_shipping_address', 'edit_woocommerce_order_page', 10, 1 ); function edit_woocommerce_order_page($order){ global $post_id; $order = new WC_Order( $post_id ); echo '
Some text here ' . get_post_meta($order->get_id(), '_shipping_field_value', true ) . '
';
我可以在主题的function.php文件中添加什么,以便用户只能购买一次产品?就像他们以前曾经在商店中购买过任何产品一样,他们被阻止再次购买. 我认为代码看起来像这样(伪代码),并将使用woocommerce_add_cart_item_data过滤器. add_filter( 'woocommerce_add_cart_item_data', 'woo_check_not_bought_before' ); function woo_check_not_bought_before( $cart_item_data ) { global $woocommerce; // Some MYSQL to check if product was bought before if ($bought_before == 'true') { $woocommerce->cart->empty_cart(); }
我想通过MySQL通过简单或可变产品在WooCommerce中过滤产品;但是我找不到WooCommerce如何存储数据并在数据库中区分数据. . 我希望MySQL查询列出所有简单且可变的产品;我不需要任何PHP代码. 类似: SELECT * FROM wp_posts WHERE post_type = 'product' AND product_type = 'simple'; 解决方案 mysql查询要列出所有简单产品: SELECT posts.ID, posts.post_title, posts.post_author, posts.post_date, posts.post_date_gmt, posts.post_content, posts.post_excerpt, posts.post_status, posts.comment_status, posts.p
我想通过使用单个我的SQL查询来删除WooCommerce中的所有订单.因为,我的WordPress Dashboard有问题.我无法查看后端完成的订单.它越来越空白.我有7,823 Completed Orders.我希望这就是为什么我要查看Completed Orders时看到白页的原因. 是否可以使用MySQL查询来删除所有Completed Orders.因此,我可以在PHPMYADMIN中运行它. 有任何建议. 解决方案 WooCommerce订单存储在post表,postmeta表,woocommerce_order_items和woocommerce_order_itemmeta表中.订单的各个部分存储在不同的表中.此外,通过存储订单状态列表的taxonomies管理订单状态. 任何正在/将要编写此查询的人都必须至少编写5-6个查询或 单个大型加入查询. 所以,如果您没有更大的产品设置,我对您的建议应该卸载Woocoomerce.为此,您可以关注此
我正在通过SQL插入项目和属性.一切都很好,但是我无法弄清楚_product_attributes wp_postmeta 我理解逻辑,除了s:7:" pa_hrup" a:2:{s:7:"pa_hrup";a:6:{s:4:"name";s:7:"pa_hrup";s:5:"value";s:0:"";s:8:"position";i:0;s:10:"is_visible";i:1;s:12:"is_variation";i:0;s:11:"is_taxonomy";i:1;}s:31:"pa_kapaciteta-rezervoarja-za-go";a:6:{s:4:"name";s:31:"pa_kapaciteta-rezervoarja-za-go";s:5:"value";s:0:"";s:8:"position";i:1;s:10:"is_visible";i:1;s:12:"is_variation";i:0;s:11:"is_taxonomy";i:1;}}
我有一个在WordPress上运行WooCommerce的电子商务网站,并且运行它的公司已将运输系统更改为外部公司,该公司将产品存储在其仓库中,并在购买产品时寄出了产品. 在自动化方面,下载有关新订单的信息并将其发送给运输公司是可以的,但是当他们使用发送的订单和相关的跟踪号码对我做出回应时,我需要能够有一个自动更新订单的系统(包括发送必要的电子邮件).但是,我目前知道如何做到这一点的唯一方法是更新MySQL数据库.但是使用该方法,自动化的电子邮件系统被覆盖并忽略. 有人知道我如何以编程方式更新订单雕像和其他信息,这将使WooCommerce的内部功能与手动登录管理员方相同的方式执行并更新订单? 解决方案 找到了一个解决方案? 下面的代码可将订单标记为完整,但不执行您在管理中描述的其他操作 // create a new checkout instance and order id $checkout = new WC_Checkout(); $this_o
我想创建一个页面,显示来自数据库的查询以显示一些订单详细信息. 如何在页面上显示此查询? 解决方案 有多种获取WooCommerce订单的方法: 1)WooCommerce具有专用功能$orders = wc_get_orders( array('numberposts' => -1) ); // Loop through each WC_Order object foreach( $orders as $order ){ echo $order->get_id() . '
'; // The order ID echo $order->get_status() . '
'; // The order status } 要获取订单数据,请参见下面的链接 2)您还可以使用WordPress WP_Query : $loop = new WP_Query( array( 'post_type' => 'shop_ord
我正在使用单独的模板页面,哪个页面使用WordPress帖子的自定义字段获取Woocommece产品SKU.我需要获取该SKU的产品ID来创建Woocommece对象并做更多的事情,这是我的代码. global $woocommerce; //this return sku (custom field on a wordpress post) $sku=get_field( "product_sku" ); if($sku!=''){ //need to create object, but using sku cannot create a object, $product = new WC_Product($sku); echo $product->get_price_html(); } 是否可以在创建对象之前获取产品ID,然后我可以将产品ID传递给WC_Product类构造函数并创建对象.谢谢您 解决方案 您可以使用此功能(在这里找到 ). Goo
我正在寻找一种简单的方法来通过其自定义产品属性过滤商店循环中的所有WooCommerce Shop产品,如下所示: : 这些属性可以具有很多具有特殊字符的值(除了普通拉丁字符),例如ü或ß. 我已经在堆栈溢出中进行了大量研究,但是还找不到一个好的解决方案. 解决方案 当我在这里开始问题时,我认为这很容易 - 哈哈.由于我没有及时得到答案,因此我再次开始研究,并在堆栈溢出上发现了一大堆未解决或非特定问题.快速而简单的解决方案本来可以将所有属性添加为全局属性,并使用分类学查询过滤器对每个产品进行检查,例如pa_xxxx. 我的意思是,该解决方案完全有效,但会根据您的产品数量来增强手动努力.所以我没有选择(> 4000种产品). 在我的研究期间,我找到了一个答案,该答案使用wooCommerce滤镜挂钩,名为woocommerce_product_query_meta_query检查_product_attributes键下wp_postmeta表中的序列化自
我已经在functions.php 上已经有此代码 此代码是在每个产品变化上添加一个新字段以具有DateTime输入字段,因此当当前日期超过输入日期时,变化将自动过期. // Add Variation Settings add_action( 'woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3 ); // Save Variation Settings add_action( 'woocommerce_save_product_variation', 'save_variation_settings_fields', 10, 2 ); //Create New fields for Variations function variation_settings_fields( $loop, $variation_data, $variation ) {