{"id":17310968,"date":"2024-01-01T12:46:39","date_gmt":"2024-01-01T12:46:39","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/how-to-hide-note-box-from-specific-category\/"},"modified":"2024-01-01T12:46:39","modified_gmt":"2024-01-01T12:46:39","slug":"how-to-hide-note-box-from-specific-category","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/how-to-hide-note-box-from-specific-category\/","title":{"rendered":"how to hide note box from specific category"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">i wanted to display extra (required) textarea in the product pages, so i sed this code and it worked successfully: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> \n\n\/\/ Display custom field on single product page\n    function d_extra_product_field(){\n        $value = isset( $_POST&#091;'extra_product_field'] ) ? sanitize_text_field( $_POST&#091;'extra_product_field'] ) : '';\n        printf( '&lt;div&gt;&lt;label&gt;%s&lt;\/label&gt;&lt;br&gt;&lt;textarea name=\"extra_product_field\" value=\"%s\"&gt;&lt;\/textarea&gt;&lt;\/div&gt;', __( '&lt;br&gt;&lt;br&gt;&lt;br&gt; Enter your order notes' ), esc_attr( $value ) );\n    }\n    add_action( 'woocommerce_after_add_to_cart_button', 'd_extra_product_field', 9 );\n\n    \/\/ validate when add to cart\n    function d_extra_field_validation($passed, $product_id, $qty){\n\n        if( isset( $_POST&#091;'extra_product_field'] ) &amp;&amp; sanitize_text_field( $_POST&#091;'extra_product_field'] ) == '' ){\n            $product = wc_get_product( $product_id );\n            wc_add_notice( sprintf( __( '%s \u064a\u0631\u062c\u0649 \u0625\u062f\u062e\u0627\u0644 \u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0637\u0644\u0628 \u0644\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0649 \u0627\u0644\u0633\u0644\u0629.' ), $product-&gt;get_title() ), 'error' );\n            return false;\n        }\n\n        return $passed;\n\n    }\n    add_filter( 'woocommerce_add_to_cart_validation', 'd_extra_field_validation', 10, 3 );\n\n     \/\/ add custom field data in to cart\n    function d_add_cart_item_data( $cart_item, $product_id ){\n\n        if( isset( $_POST&#091;'extra_product_field'] ) ) {\n            $cart_item&#091;'extra_product_field'] = sanitize_text_field( $_POST&#091;'extra_product_field'] );\n        }\n\n        return $cart_item;\n\n    }\n    add_filter( 'woocommerce_add_cart_item_data', 'd_add_cart_item_data', 10, 2 );\n\n    \/\/ load data from session\n    function d_get_cart_data_f_session( $cart_item, $values ) {\n\n        if ( isset( $values&#091;'extra_product_field'] ) ){\n            $cart_item&#091;'extra_product_field'] = $values&#091;'extra_product_field'];\n        }\n\n        return $cart_item;\n\n    }\n    add_filter( 'woocommerce_get_cart_item_from_session', 'd_get_cart_data_f_session', 20, 2 );\n\n\n    \/\/add meta to order\n    function d_add_order_meta( $item_id, $values ) {\n\n        if ( ! empty( $values&#091;'extra_product_field'] ) ) {\n            woocommerce_add_order_item_meta( $item_id, 'extra_product_field', $values&#091;'extra_product_field'] );           \n        }\n    }\n    add_action( 'woocommerce_add_order_item_meta', 'd_add_order_meta', 10, 2 );\n\n    \/\/ display data in cart\n    function d_get_itemdata( $other_data, $cart_item ) {\n\n        if ( isset( $cart_item&#091;'extra_product_field'] ) ){\n\n            $other_data&#091;] = array(\n                'name' =&gt; __( 'Your extra field text' ),\n                'value' =&gt; sanitize_text_field( $cart_item&#091;'extra_product_field'] )\n            );\n\n        }\n\n        return $other_data;\n\n    }\n    add_filter( 'woocommerce_get_item_data', 'd_get_itemdata', 10, 2 );\n\n\n    \/\/ display custom field data in order view\n    function d_dis_metadata_order( $cart_item, $order_item ){\n\n        if( isset( $order_item&#091;'extra_product_field'] ) ){\n            $cart_item_meta&#091;'extra_product_field'] = $order_item&#091;'extra_product_field'];\n        }\n\n        return $cart_item;\n\n    }\n    add_filter( 'woocommerce_order_item_product', 'd_dis_metadata_order', 10, 2 );\n\n\n    \/\/ add field data in email\n    function d_order_email_data( $fields ) { \n        $fields&#091;'extra_product_field'] = __( 'Your extra field text' ); \n        return $fields; \n    } \n    add_filter('woocommerce_email_order_meta_fields', 'd_order_email_data');\n\n    \/\/ again order\n    function d_order_again_meta_data( $cart_item, $order_item, $order ){\n\n        if( isset( $order_item&#091;'extra_product_field'] ) ){\n            $cart_item_meta&#091;'extra_product_field'] = $order_item&#091;'extra_product_field'];\n        }\n\n        return $cart_item;\n\n    }\n    add_filter( 'woocommerce_order_again_cart_item_data', 'd_order_again_meta_data', 10, 3 );\n\n\n\n\n\nadd_action( 'wp_enqueue_scripts', 'custom_enqueue_wc_cart_fragments' );\nfunction custom_enqueue_wc_cart_fragments() {\n    wp_enqueue_script( 'wc-cart-fragments' );\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">now, i want to hide the textarea  from only one category., how to do that? <\/p>\n","protected":false},"template":"","class_list":["post-17310968","topic","type-topic","status-publish","hentry","topic-tag-php"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/17310968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/17310968\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=17310968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}