gpt4 book ai didi

php - 将自定义列产品可见性添加到 Woocommerce 3 中的管理产品列表

转载 作者:行者123 更新时间:2023-12-02 20:14:42 24 4
gpt4 key购买 nike

我正在尝试使用产品的目录可见性值将自定义列添加到管理产品列表(基本上,我需要更容易地知道哪些是隐藏的,哪些不是)。

到目前为止,我的子主题的 functions.php 代码:

add_filter( 'manage_edit-product_columns', 'custom_product_column', 10);
function custom_product_column($columns){


$columns['visibility'] = __( 'Visibility','woocommerce');
return $columns;
}

add_action( 'manage_product_posts_custom_column', 'custom_column_content', 10, 2 );

function custom_product_list_column_content( $column, $product_id ){

global $post;

$isitvisible = get_post_meta( $product_id, 'product_visibility', true );

switch ( $column ){

case 'visibility' :
echo $isitvisible;
break;
}
}

有人可以指导我吗?列已创建(并显示标题),但我没有获得产品数据。

最佳答案

您的代码中存在一些错误和错误。此外,由于 Woocommerce 3 产品可见性由 Woocommerce 自定义分类法 'product_visibility' 处理。请尝试以下操作:

// Add a new column to Admin products list with a custom order
add_filter( 'manage_edit-product_columns', 'visibility_product_column', 10);
function visibility_product_column($columns){
$new_columns = [];
foreach( $columns as $key => $column ){
$new_columns[$key] = $columns[$key];
if( $key == 'price' ) { // Or use: if( $key == 'featured' ) {
$new_columns['visibility'] = __( 'Visibility','woocommerce');
}
}
return $new_columns;
}

// Add content to new column raows in Admin products list
add_action( 'manage_product_posts_custom_column', 'visibility_product_column_content', 10, 2 );
function visibility_product_column_content( $column, $product_id ){
global $post;

if( $column =='visibility' ){
if( has_term( 'exclude-from-catalog', 'product_visibility', $product_id ) )
echo '<em style="color:grey;">' . __("No") . '</em>';
else
echo '<span style="color:green;">' . __("Yes") . '</span>';
}
}

代码进入您的事件子主题(事件主题)的 function.php 文件。经过测试并有效。

enter image description here

关于php - 将自定义列产品可见性添加到 Woocommerce 3 中的管理产品列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52684073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com