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

以编程方式将可用性添加到WooCommerce预订上的可预订产品

孙震博
2023-03-14

我在网站上有一个表单,允许用户创建可预订的产品。但是,我找不到如何使用php函数创建可用性间隔。有人有主意吗?

下面是我如何创建我的产品

$post_id = wp_insert_post( array(
    'post_title' => $_POST["title"],
    'post_content' => $_POST["description"],
    'post_status' => 'publish',
    'post_type' => "product",
) );
wp_set_object_terms( $post_id, 'booking', 'product_type' );

在这个项目的另一部分中,我使用get_post_元函数来获取可用性。我从文章中了解到可用性是元数据,但我不确定如何更改这些。我试着使用通常的add_post_meta($post_id,'u wc_booking_availability',$availability) 但这不起作用。关于Woocommerce的可用性,我有什么遗漏吗?

另一方面,是否有更详细的商业预订文件?

开发人员在他们的网站上留档只涵盖了以编程方式创建产品的基础知识。


共有1个答案

昝欣可
2023-03-14

如果有人需要的话,我找到了答案。

//This is the array that will contain all the availabilities
$availabilities = array();

//Create an array that contains the required fields (from_date and to_date are not necessary in some types of availabilities) 
$availability = array(
        'type'      => 'time:range', //Replace time:range with the type you need
        'bookable'  => 'yes',
        'priority'  => 10,
        'from'      => wc_booking_sanitize_time( "01:00" ),
        'to'        => wc_booking_sanitize_time( "03:00" ),
        'from_date' => wc_clean( "2018-10-02" ),
        'to_date'   => wc_clean( "2018-10-02" )
);

//If you need to add more than one availability, make a loop and push them all into an array
array_push($availabilities, $availability);
add_post_meta( $post_id, '_wc_booking_availability', $availabilities );

我在这里找到的,但我根据需要修改了它https://wordpress.stackexchange.com/questions/233904/how-to-add-date-range-in-woocommerce-with-code

 类似资料:
  • 我试图以编程方式创建一个订单。使用非常简单: 这符合预期,并且为ID为100的简单产品创建了正确数量的订单。 然而,如果我尝试用一个变体来实现这一点,它的行为似乎并不正确。经过多次尝试和错误,我以这种方式完成了工作: 然而,尽管它确实创建了具有正确产品和正确变化ID的订单,订单的总数总是0(巧合的是,这是第一个变化的价格)。 最初我尝试的是

  • 我试图将我的产品简短描述作为一个新标签添加到我的订单页面,这样我们就有了一个更简单的方法来订购产品,而不必进入产品内部。 我看到目前SKU显示在产品下,理想情况下,它会有一个产品简短描述。 这就是我到目前为止所得到的结果,但是短描述没有输出 目前的结果显示 “没有摘录,因为这是一篇受保护的文章。” 我觉得它没有在产品中循环,并试图获取订单摘录,因此它说它受到保护,但我对此不太有经验。 感谢您的帮助

  • 我目前正在开发一个网站,它使用WooCommerce和各种扩展(在撰写本文时所有这些都是最新的)来显示一系列属于自定义帖子类型的帖子。 这些帖子是由网站用户在网站前端使用定制的ACF表单创建的。前端表单在帖子类型“shwimmer池”中创建了一个新帖子,旁边还有两个新产品——一个用于订阅,一个用于预订。 这些新帖子的创建在我们的定制类ShwimmerFormHandler中处理。提交池创建表单时激

  • 非常感谢您的帮助。 到目前为止,尝试了许多方法,但都没有效果,包括此处的建议: 将产品简短描述添加到Woocommerce管理订单预览中 这是我到目前为止所拥有的: 每个产品都有许多属性,我想在编辑订单页面的新列中显示其中一个属性。 问题是产品属性出于某种原因是空的-如果我只是回显$\u product,则该属性中没有数据,即使在数据库中肯定保存了该属性的值。 有什么想法吗? 我已经附加了一个我想

  • 我四处搜索,找到了关于如何在woocommerce中添加产品的链接,但关于如何使用自定义php片段更新或添加订阅记录的链接不多。

  • 在购物车中,我添加了一个按钮来创建报价单。我正在使用一个数量范围定价插件,所以我所有的可变产品都有一个广泛的定价范围。 当数量低于100时,产品A的项目成本为5美元。当数量为100到199时,项目成本为3美元。 我的购物车显示正确的项目成本,我设法检索每个购物车项目的产品价格。但是,我无法设置变更价格并将数据添加到订单中。 有人知道我怎么解决这个问题吗? 先谢谢你。