/**
  * Set catalog visibility.
  *
  * @since 2.7.0
  * @throws WC_Data_Exception
  * @param string $visibility Options: 'hidden', 'visible', 'search' and 'catalog'.
  */
 public function set_catalog_visibility($visibility)
 {
     $options = array_keys(wc_get_product_visibility_options());
     if (!in_array($visibility, $options, true)) {
         $this->error('product_invalid_catalog_visibility', __('Invalid catalog visibility option.', 'woocommerce'));
     }
     $this->set_prop('catalog_visibility', $visibility);
 }
        /**
         * Output product visibility options.
         */
        public function product_data_visibility()
        {
            global $post, $thepostid, $product_object;
            if ('product' !== $post->post_type) {
                return;
            }
            $thepostid = $post->ID;
            $product_object = $thepostid ? wc_get_product($thepostid) : new WC_Product();
            $current_visibility = $product_object->get_catalog_visibility();
            $current_featured = wc_bool_to_string($product_object->get_featured());
            $visibility_options = wc_get_product_visibility_options();
            ?>
		<div class="misc-pub-section" id="catalog-visibility">
			<?php 
            _e('Catalog visibility:', 'woocommerce');
            ?>
 <strong id="catalog-visibility-display"><?php 
            echo isset($visibility_options[$current_visibility]) ? esc_html($visibility_options[$current_visibility]) : esc_html($current_visibility);
            if ('yes' === $current_featured) {
                echo ', ' . __('Featured', 'woocommerce');
            }
            ?>
</strong>

			<a href="#catalog-visibility" class="edit-catalog-visibility hide-if-no-js"><?php 
            _e('Edit', 'woocommerce');
            ?>
</a>

			<div id="catalog-visibility-select" class="hide-if-js">

				<input type="hidden" name="current_visibility" id="current_visibility" value="<?php 
            echo esc_attr($current_visibility);
            ?>
" />
				<input type="hidden" name="current_featured" id="current_featured" value="<?php 
            echo esc_attr($current_featured);
            ?>
" />

				<?php 
            echo '<p>' . __('Choose where this product should be displayed in your catalog. The product will always be accessible directly.', 'woocommerce') . '</p>';
            foreach ($visibility_options as $name => $label) {
                echo '<input type="radio" name="_visibility" id="_visibility_' . esc_attr($name) . '" value="' . esc_attr($name) . '" ' . checked($current_visibility, $name, false) . ' data-label="' . esc_attr($label) . '" /> <label for="_visibility_' . esc_attr($name) . '" class="selectit">' . esc_html($label) . '</label><br />';
            }
            echo '<p>' . __('Enable this option to feature this product.', 'woocommerce') . '</p>';
            echo '<input type="checkbox" name="_featured" id="_featured" ' . checked($current_featured, 'yes', false) . ' /> <label for="_featured">' . __('Featured product', 'woocommerce') . '</label><br />';
            ?>
				<p>
					<a href="#catalog-visibility" class="save-post-visibility hide-if-no-js button"><?php 
            _e('OK', 'woocommerce');
            ?>
</a>
					<a href="#catalog-visibility" class="cancel-post-visibility hide-if-no-js"><?php 
            _e('Cancel', 'woocommerce');
            ?>
</a>
				</p>
			</div>
		</div>
		<?php 
        }