我正在尝试生成订单数据的简单输出。第一步是 WP_QUEry(也许)所以我写了这段代码;
$args = array (
'post_type' =>'shop_order',
'posts_per_page' => -1,
'post_status' => 'any',
//'p' => $post_id,
);
$order_query = new WP_Query( $args );
while ( $order_query->have_posts() ) :
$order_query->the_post();
echo the_ID();
echo ' : ';
the_title();
echo '<br/><br/>';
endwhile;
Run Code Online (Sandbox Code Playgroud)
它为产品提供所有订单的列表,如果我设置'p' => $post_idwhere$post_id是有效的帖子 ID,则查询不返回任何内容。
知道为什么吗,蜂巢思维?
或者,是否有一种 Woocommerce 方式来生成具有如下布局的纯页面;
Order ID: 836
Order Status: ....
Run Code Online (Sandbox Code Playgroud)
我认为 WP_Query 将是显而易见的方式,但看起来获取 woocommerce 订单数据并不简单。
在 WooCommerce 设置中要求全局注册很简单,但对于我们销售的大多数产品来说,这是没有必要的,我宁愿限制登录用户。
然而,对于一种产品,我想要求注册。
就像是
$product_id = $product->get_id();
if ($product_id !== 1024) {
remove_action( 'woocommerce_before_checkout_registration_form', 'action_woocommerce_checkout_registration_form', 10, 1 );
}
Run Code Online (Sandbox Code Playgroud)
但事情显然没那么简单。有任何想法吗?
这可能会为我打开一扇门,因为有一些我不知道的东西,所以请WooCommerce 101;
WooCommerce模板archive-product.php的一部分包含代码;
<?php
/**
* woocommerce_before_shop_loop hook.
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
?>
Run Code Online (Sandbox Code Playgroud)
从这一点,并阅读文档,它意味着这;
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
Run Code Online (Sandbox Code Playgroud)
应从返回的产品类别中删除结果计数.只有它没有.
怎么了?