Php 根据WooCommerce产品类型显示或隐藏管理员自定义设置字段

Php 根据WooCommerce产品类型显示或隐藏管理员自定义设置字段,php,jquery,wordpress,woocommerce,product,Php,Jquery,Wordpress,Woocommerce,Product,我制作了自定义字段后端,我想为简单的产品类型显示它,为其他类型隐藏它。我认为我不足以实现它。我将感谢任何帮助。谢谢 我增加的代码是: add_action('admin_head', 'show_this_for_simple_products_and_hide_for_others'); function show_this_for_simple_products_and_hide_for_others() { ?> <script> jQuery( funct

我制作了自定义字段后端,我想为简单的产品类型显示它,为其他类型隐藏它。我认为我不足以实现它。我将感谢任何帮助。谢谢 我增加的代码是:

add_action('admin_head', 'show_this_for_simple_products_and_hide_for_others');
function show_this_for_simple_products_and_hide_for_others() {  
?> 
<script>
    jQuery( function($){

    $( 'body' ).on( 'woocommerce-product-type-change', function( event, select_val, select ) {

        if ( select_val === 'simple' ) {
             // modify to an actual CSS class selector
            $( '.p.form-field.final_product_sku_field' ).show();
        }

    } );

    $( 'select#product-type' ).change();

} );
</script>
<?php
}
add_action('admin_head','show_this_for_simple_products','u hide_for_others');
函数show_this_for_simple_products_和hide_for_others(){
?> 
jQuery(函数($){
$('body')。在('woocommerce product type change',函数上(事件,选择值,选择){
如果(选择“简单”){
//修改为实际的CSS类选择器
$('.p.form-field.final_product_sku_field').show();
}
} );
$(“选择#产品类型”).change();
} );

已更新

您不需要这样做,因为已经有一些CSS类选择器允许这样做

要显示“简单”产品类型的字段,您需要在自定义设置字段之间添加一个字段(您的函数中):

echo';
//此处的字段(仅适用于“简单”产品类型)
回声';
您可以使用
show_if{$product_type}
hide_if{$product_type}
复合类选择器来显示或隐藏基于产品类型的自定义设置产品字段(其中
{$product_type}
需要由目标产品类型替换)

它适用于所有定制产品类型

类选择器
隐藏
指定要显示的非指定产品类型的内容为隐藏

您还可以使用其他类选择器,如
show\u if\u virtual
hide\u if\u virtual
show\u if\u downloadable
hide\u if\u downloadable

类别选择器
options\u组
添加分隔符水平线

以下是一个示例(仅显示简单产品的字段):

add_操作('woocommerce_product_options_sku'、'add_product_final_sku_custom_field');
函数添加\产品\最终\ sku\自定义\字段(){
全局$post,$product\U对象;
回声';
woocommerce_wp_text_输入(数组(
“标签”=>“(“最终SKU”、“woocommerce”),
'占位符'=>\('在此处输入最终SKU','woocommerce'),
“id”=>“最终库存单位”,
“描述提示”=>正确,
“description'=>\(“此SKU仅供最终使用。”,“woocommerce”),
) );
回声';
}
代码放在活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作


您可以看到,它在管理单一产品页面上显示了WooCommerce产品设置字段。

谢谢!像个魔咒一样工作:))我测试了解自定义产品类型并为其工作(:对于woocommerce或一些网站,是否还有其他类似的css技巧,我可以从中了解它们?再次感谢!@Сааааааааааааааааааааа107
add_action( 'woocommerce_product_options_sku', 'add_product_final_sku_custom_field' );
function add_product_final_sku_custom_field(){
    global $post, $product_object;

    echo '<div class="show_if_simple hidden">';

    woocommerce_wp_text_input( array(
        'label' => __( 'Final SKU', 'woocommerce' ),
        'placeholder' => __( 'Enter final SKU here', 'woocommerce' ),
        'id' => 'final_sku',
        'desc_tip' => true,
        'description' => __( 'This SKU is for final use only.', 'woocommerce' ),
    ) );

    echo '</div>';
}