• Resolved ag171141

    (@ag171141)


    I want to display the content from the custom tab created with plugin Yikes Custome Woocommerce Product Tab.
    I use this code in page content-product-signle.php: <?php yikes_woo_products_tabs(); ?>.
    Delivery Tab was created with the plugin and i want just to display the content: Delivery time 4-5 days, under the reviews section.

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
  • Plugin Contributor yikesitskevin

    (@yikesitskevin)

    Hi @ag171141,

    I think you could do this with a shortcode.

    See this thread: https://wordpress.org/support/topic/tab-content-shortcode/

    Specifically, this reply:

    If so, here’s an updated version. In this version, there’s a new argument tab_number. To show the first tab: [custom_product_tabs tab_number=”1″]. If you don’t specify a tab number then it will show all of the tabs. If you specify a tab number that doesn’t exist, then nothing will be returned.

    function yikes_custom_product_tabs_shortcode( $args ) {
    	global $post;
    	
    	// Define our default values
    	$defaults = array(
    		'product_id' => $post->ID,
    		'tab_number' => 'all',
    	);
    
    	// Let the user-defined values override our defaults
    	$values = is_array( $args ) ? array_merge( $defaults, $args ) : $defaults;
    
    	// Make sure we have a product ID and that the product ID is for a product 
    	if ( empty( $values['product_id'] ) || ! empty( $values['product_id'] ) && get_post_type( $values['product_id'] ) !== 'product' ) {
    		return;
    	}
    
    	// Fetch our tabs
    	$tabs = get_post_meta( $values['product_id'], 'yikes_woo_products_tabs', true );
    
    	// Get just the specified tab. (minus tab number by one so it starts at 0)
    	$tabs = absint( $values['tab_number'] ) < 1 ? $tabs : ( isset( $tabs[ absint( $values['tab_number'] ) - 1 ] ) ? array( $tabs[ absint( $values['tab_number'] ) - 1 ] ) : array() );
    
    	if ( empty( $tabs ) ) {
    		return;
    	}
    
    	// Debug statement to show all tab data. Feel free to remove.
    	// echo '<pre>'; var_dump( $tabs ); echo '</pre>';
    
    	$html = '';
    
    	// Loop through the tabs and display each one
    	foreach( $tabs as $tab ) {
    		$html .= '<p>' . $tab['title'] . '</p>';
    		$html .= '<p>' . $tab['content'] . '</p>';
    	}
    
    	// Make sure to return your content, do not echo it.
    	return $html;
    }
    
    add_shortcode( 'custom_product_tabs', 'yikes_custom_product_tabs_shortcode' );

    Let me know if you have any questions.

    Cheers,
    Kevin.

Viewing 1 replies (of 1 total)
  • The topic ‘Display Content from Yikes Inc Easy Custom Woocommerce Product Tabs’ is closed to new replies.