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()
onfunctions.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位于主题的函数处。谢谢!当您需要完成此过程时?在订单更新时?或从前面下订单时侧?或其他地方?重要的是在何处和执行哪一个钩子。如果您正在按订单执行流程,那么这将对您有所帮助。请检查内容以及评论。