php - WooCommerce 如何更新产品类别描述和缩略图 ID
问题描述
我有一组数据,我想用这些数据更新我的产品类别(分类)元数据。description
具体来说,我正在尝试更新thumbnail url
值。我尝试使用多个 wordpress 功能,但没有一个起作用!我没有收到任何错误,但这些值也没有更新。
$row_data = array(
'Term ID' => 150,
'Name' => "my 1st category",
'Slug' => "my-1st-category",
'Term URI' => "",
'Parent Term ID' => "",
'Description' => "My best description on this category that would change your life forever!",
'Display Type' => "",
'Image' => "https://myexample.site/wp-content/"
);
// This did not work!
wp_update_term($row_data['Term ID'], 'product_cat', $row_data);
// This did not work either!
update_term_meta($row_data['Term ID'], 'description', $row_data['Description']);
// This did not work either!
update_woocommerce_term_meta($row_data['Term ID'], 'thumbnail_id', $row_data['Image']);
有什么我想念的吗?
thumbnail_id
我在这里使用的字段名称是否正确?
更新update_woocommerce_term_meta
缩略图网址的功能是否正确?
谢谢你。
解决方案
主要问题来自插入或更新术语错误的数组键。
从您的自定义数组(更新):
$row_data = array(
'Term ID' => 150,
'Name' => 'my 1st category',
'Slug' => 'my-1st-category',
'Taxonomy' => 'product_cat'
'Parent Term ID' => 0,
'Description' => __("My best description on this category that would change your life forever!", "woocommerce"),
'Display Type' => "",
'Image ID' => "356",
);
- 要更新术语描述,请使用WordPress
wp_update_term()
功能,如下所示:
wp_update_term( $row_data['Term ID'], $row_data['Taxonomy'], array('description' => $row_data['Description']) );
- 要更新缩略图 ID (而不是图像 URL),请使用如下
update_term_meta()
函数:
update_term_meta( $row_data['Term ID'], 'thumbnail_id', $row_data['Image ID'] );
两者都经过测试。
要插入一个新术语,您将使用WordPresswp_insert_term()
函数,例如:
$term_data = wp_insert_term( $row_data['Name'], $row_data['Taxonomy'], array(
'description' => $row_data['Description'],
'slug' => $row_data['Slug'],
'parent' => $row_data['Parent Term ID'],
) );
if ( ! empty($row_data['Display Type']) ) {
update_term_meta( $row_data['Term ID'], 'display_type', $row_data['Display Type'] );
if ( ! empty($row_data['Image ID']) ) {
update_term_meta( $row_data['Term ID'], 'thumbnail_id', $row_data['Image ID'] );
}
推荐阅读
- php - 如何在php中使用变量动态声明一个类
- php - Shopware Docker 安装后 URL 出错
- azure-devops - Azure DevOps Server 2019 - 仅在拉取请求完成时持续部署
- netlogo - NetLogo 中的空间自相关
- php - 如何将 jquery 代码添加到控制器并为其设置一些路由并将此路由传递到 href
- clang - Clang 如何找到它的默认 sysroot / target 三元组?(clang-tidy 已停止工作)
- heroku - 突然,PostgreSQL 服务器的 Heroku 凭据为用户错误提供了致命密码
- apache-spark - executor core的数量能大于spark任务的总数吗?
- node.js - 在一对多字段中按 id 过滤
- racket - 是什么让我的图像看起来只有预期宽度的一半?