是否可以在Woocommerce管理产品列表中添加列“交付时间”?
我知道在“屏幕选项”中有一些额外的列(thumb,price,product_cat等)可供选择,但“交付时间”不可用。
是否有可能以某种方式将其添加到列表中?
修改
我试图跟随LoicTheAztecs的回答,但是我遇到了找到正确的meta_key slug的问题。
如果我在wp_postmeta中搜索“delivery”,我的结果为0。
但是有些产品的交货时间已分配。 在我的产品页面上有一个文本字段“Lieferzeit:1-2 Wochen”(表示交货时间:1-2周)。 如果我在整个数据库中搜索“Wochen”,我在wp_options中获得2次点击,在wp_terms中获得6次点击。
数据库常规搜索:
点击wp_terms
数据库:
你知道如何从这里找到正确的meta_key slug吗?
答案 0 :(得分:4)
以下是连接2个自定义函数的方法。第一个用标题创建列,第二个用产品数据填充列。但是您需要在第二个函数中设置正确的相应 meta_key
来获取数据。
以下是代码:
// ADDING A CUSTOM COLUMN TITLE TO ADMIN PRODUCTS LIST
add_filter( 'manage_edit-product_columns', 'custom_product_column',11);
function custom_product_column($columns)
{
//add columns
$columns['delivery'] = __( 'Delivery time','woocommerce'); // title
return $columns;
}
// ADDING THE DATA FOR EACH PRODUCTS BY COLUMN (EXAMPLE)
add_action( 'manage_product_posts_custom_column' , 'custom_product_list_column_content', 10, 2 );
function custom_product_list_column_content( $column, $product_id )
{
global $post;
// HERE get the data from your custom field (set the correct meta key below)
$delivery_time = get_post_meta( $product_id, '_delivery_time', true );
switch ( $column )
{
case 'delivery' :
echo $delivery_time; // display the data
break;
}
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
经过测试和工作。
如何获取正确的meta_key slug:
要找到与“投放时间”对应的正确meta_key
slug,您需要使用PhpMyAdmin在数据库中进行搜索。您必须以这种方式在 delivery
表格中搜索 wp_postmeta
字词:
然后你会得到这样的结果(这里只有一行带有假子弹):
所以现在你应该能够获得正确的slug名称(就像这个假的“_delivery_date”一样) ......
相关答案(针对订单):Add custom columns to admin orders list in WooCommerce backend