WooCommerce 如何更新产品类别描述和缩略图 ID
Posted
技术标签:
【中文标题】WooCommerce 如何更新产品类别描述和缩略图 ID【英文标题】:WooCommerce how to update product category description and thumbnail ID 【发布时间】:2021-07-02 16:46:40 【问题描述】:我有一组数据,我想用这些数据更新我的产品类别(分类)元数据。具体来说,我正在尝试更新 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
是更新缩略图 url 的正确函数吗?
谢谢。
【问题讨论】:
update_term_meta($row_data['Term ID'], 'description', $row_data['Description']);
工作正常。
@Bhautik 感谢您查看此内容。那正确吗?嗯嗯有趣!不能让它在我这边工作!另一个呢?您是否对thumbnail url
字段有所了解?在数据库中也找不到它的字段名称,我也找不到用于更新它的“正确”功能。
这段代码你在哪里做的?
@Bhautik 我在我网站的一个页面上运行它(正在开发中)。我没有将它与任何动作/过滤器挂钩。
【参考方案1】:
主要问题来自您的数组键插入或更新术语错误。
来自您的自定义数组(已更新):
$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()
function,如下所示:
wp_update_term( $row_data['Term ID'], $row_data['Taxonomy'], array('description' => $row_data['Description']) );
-
要更新缩略图 ID(而不是图像 URL),请使用
update_term_meta()
function,如下所示:
update_term_meta( $row_data['Term ID'], 'thumbnail_id', $row_data['Image ID'] );
两者都经过测试。
要插入一个新术语,您将使用WordPress wp_insert_term()
function,例如:
$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'] );
【讨论】:
非常感谢调试这个,我真的很感激。对于“描述”,它起作用了。我确信“'thumbnail_id'”也可以。但问题是,我有缩略图的实际“url”,我没有那个缩略图的“id”。我想我必须找到一种方法来使用thumbnail url
找到thumbnail id
。以上是关于WooCommerce 如何更新产品类别描述和缩略图 ID的主要内容,如果未能解决你的问题,请参考以下文章