Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 如何按元数据顺序获取产品分类_Wordpress_Metadata_Hook Woocommerce_Taxonomy - Fatal编程技术网

Wordpress 如何按元数据顺序获取产品分类

Wordpress 如何按元数据顺序获取产品分类,wordpress,metadata,hook-woocommerce,taxonomy,Wordpress,Metadata,Hook Woocommerce,Taxonomy,我正在使用一个带有woocommerce\u before\u order\u itemmeta的钩子,在我的模板的functions.php的order元数据中获取当前产品的分类法和类别。但它不起作用,这就是问题所在: 致命错误:未捕获错误:调用成员函数get_items()onfunctions.php:402 重要!>产品是使用完成的自定义帖子,因此问题是调用自定义帖子分类法,因为它与产品分类法不同 // GET TAXONOMY add_action( 'woocomme

我正在使用一个带有
woocommerce\u before\u order\u itemmeta
的钩子,在我的模板的functions.php的order元数据中获取当前产品的分类法和类别。但它不起作用,这就是问题所在:
致命错误:未捕获错误:调用成员函数get_items()
on
functions.php:402

重要!>产品是使用完成的自定义帖子,因此问题是调用自定义帖子分类法,因为它与产品分类法不同

    // GET TAXONOMY
    add_action( 'woocommerce_before_order_itemmeta', 'get_the_terms_hook', 10, 3 );
    function get_the_terms_hook ( $item_id, $item, $post) {
     
    // Get $product object from $order / $order_id  
    $order = wc_get_order( $order_id );
    $items = $order->get_items(); // this is the line 402
      
    foreach ( $items as $item ) {
      
        $product = wc_get_product( $item['product_id'] );
      
        // Now you have access to (see above)...
        $product->get_categories();
        $product->get_category_ids();
        $product->get_tag_ids();
      
    }

如果您正在进行订单处理,谢谢,这将对您有所帮助。检查内容以及评论。

$order=wc\u get\u order($order\u id)
指定的
$order\u id
在哪里?请参见答案,这将向您展示如何访问产品对象(第三个参数)及其属性,您的意思是>如果(方法\u存在($product,'get\u id')){//get product id$product\u id=$product->get\u id();要检查获取当前产品ID的方法?我的意思是
$product->get_…
,不需要使用foreach循环从
$order
对象中获取产品,因为您已经可以访问
$product
对象。实际上,在我所指的答案中,产品ID是通过
$product对象,但这可以是任何属性Yok,我理解,但我的问题是,我使用的是一个带有WP筹款插件的自定义帖子,它与产品具有不同的分类法,因此调用类别是我的主要问题,因为我不知道是否必须调用
$post
$product
,我尝试了,但错误仍然存在我在想,但我的问题是,我使用的是一个带有WP筹款插件的自定义帖子,它与产品具有不同的分类法,所以这是我的主要问题,从自定义帖子或产品中调用特定类别,在哪个特定实例上执行此代码?似乎在给定的操作中hook,
get_items
抛出了致命错误,代码的进一步执行失败。我需要此hook将类别链接到订单元数据处的产品/自定义帖子标题,以迁移此信息。此hook位于主题的函数处。谢谢!当您需要完成此过程时?在订单更新时?或从前面下订单时侧?或其他地方?重要的是在何处和执行哪一个钩子。如果您正在按订单执行流程,那么这将对您有所帮助。请检查内容以及评论。