Notice: These forums are now retired and closed. For active support, please Submit a Ticket or visit our official WordPress.org community pages.
Kadence Theme | Kadence Blocks | Starter Templates | WooCommerce Email Designer | Ascend | Virtue | Pinnacle
Virtue premium update
Home / Forums / Virtue Theme / Virtue premium update
- This topic has 1 reply, 2 voices, and was last updated 10 years, 6 months ago by
Ben Ritner.
Hi,
I did the last update of the Virtue Premium theme.
I have a problem with the custom tabs in the page products.
In the old version I modified the tabs and added custom tabs with the follow code in the custom-woocommerce.php file, but with the last this code doesn’t work.
How I can reintegrate it and restore the old custom tabs?
Thank you
Francesco
// Change the tab title
add_filter( 'woocommerce_product_tabs', 'kad_woo_rename_tabs', 98 );
function kad_woo_rename_tabs( $tabs ) {
global $virtue_premium;
if(!empty($virtue_premium['description_tab_text']) && !empty($tabs['description']['title'])) {$tabs['description']['title'] = $virtue_premium['description_tab_text'];}
if(!empty($virtue_premium['additional_information_tab_text']) && !empty($tabs['additional_information']['title'])) {$tabs['additional_information']['title'] = $virtue_premium['additional_information_tab_text'];}
if(!empty($virtue_premium['reviews_tab_text']) && !empty($tabs['reviews']['title'])) {$tabs['reviews']['title'] = $virtue_premium['reviews_tab_text'];}
return $tabs;
}
// Change the tab description heading
add_filter( 'woocommerce_product_description_heading', 'kad_description_tab_heading', 10, 1 );
function kad_description_tab_heading( $title ) {
global $virtue_premium;
if(!empty($virtue_premium['description_header_text'])) {$title = $virtue_premium['description_header_text'];}
return $title;
}
// Change the tab aditional info heading
add_filter( 'woocommerce_product_additional_information_heading', 'kad_additional_information_tab_heading', 10, 1 );
function kad_additional_information_tab_heading( $title ) {
global $virtue_premium;
if(!empty($virtue_premium['additional_information_header_text'])) {$title = $virtue_premium['additional_information_header_text'];}
return $title;
}
add_filter( 'woocommerce_product_tabs', 'kad_woo_reorder_tabs', 98 );
function kad_woo_reorder_tabs( $tabs ) {
global $virtue_premium;
if(isset($virtue_premium['ptab_description'])) {$dpriority = $virtue_premium['ptab_description'];} else {$dpriority = 10;}
if(isset($virtue_premium['ptab_additional'])) {$apriority = $virtue_premium['ptab_additional'];} else {$apriority = 20;}
if(isset($virtue_premium['ptab_reviews'])) {$rpriority = $virtue_premium['ptab_reviews'];} else {$rpriority = 30;}
if(isset($virtue_premium['ptab_video'])) {$vpriority = $virtue_premium['ptab_video'];} else {$vpriority = 40;}
if(!empty($tabs['description'])) $tabs['description']['priority'] = $dpriority; // Description
if(!empty($tabs['additional_information'])) $tabs['additional_information']['priority'] = $apriority; // Additional information
if(!empty($tabs['reviews'])) $tabs['reviews']['priority'] = $rpriority; // Reviews
if(!empty($tabs['video_tab'])) $tabs['video_tab']['priority'] = $vpriority; // Video second
return $tabs;
}
/**
* Custom Tabs for Product Display. Compatible with WooCommerce 2.0+ only!
*
* Outputs an extra tab to the default set of info tabs on the single product page.
* This file needs to be called via your functions.php file.
*/
function custom_tab_options_tab() {
?>
<li class="custom_tab"><a href="#custom_tab_data"><?php _e('Warning Tab', 'woothemes'); ?></a></li>
<?php
}
add_action('woocommerce_product_write_panel_tabs', 'custom_tab_options_tab');
/**
* Custom Tab Options
*
* Provides the input fields and add/remove buttons for custom tabs on the single product page.
*/
function custom_tab_options() {
global $post;
$custom_tab_options = array(
'title' => get_post_meta($post->ID, 'custom_tab_title', true),
'content' => get_post_meta($post->ID, 'custom_tab_content', true),
);
?>
<div id="custom_tab_data" class="panel woocommerce_options_panel">
<div class="options_group">
<p class="form-field">
<?php woocommerce_wp_checkbox( array( 'id' => 'custom_tab_enabled', 'label' => __('Enable Custom Tab?', 'woothemes'), 'description' => __('Enable this option to enable the custom tab on the frontend.', 'woothemes') ) ); ?>
</p>
</div>
<div class="options_group custom_tab_options">
<p class="form-field">
<label><?php _e('Custom Tab Title:', 'woothemes'); ?></label>
<input type="text" size="5" name="custom_tab_title" value="<?php echo @$custom_tab_options['title']; ?>" placeholder="<?php _e('Enter your custom tab title', 'woothemes'); ?>" />
</p>
<p class="form-field">
<?php _e('Custom Tab Content:', 'woothemes'); ?>
</p>
<table class="form-table">
<tr>
<td>
<textarea class="theEditor" rows="10" cols="40" name="custom_tab_content" placeholder="<?php _e('Enter your custom tab content', 'woothemes'); ?>"><?php echo @$custom_tab_options['content']; ?></textarea>
</td>
</tr>
</table>
</div>
</div>
<?php
}
add_action('woocommerce_product_write_panels', 'custom_tab_options');
/**
* Process meta
*
* Processes the custom tab options when a post is saved
*/
function process_product_meta_custom_tab( $post_id ) {
update_post_meta( $post_id, 'custom_tab_enabled', ( isset($_POST['custom_tab_enabled']) && $_POST['custom_tab_enabled'] ) ? 'yes' : 'no' );
update_post_meta( $post_id, 'custom_tab_title', $_POST['custom_tab_title']);
update_post_meta( $post_id, 'custom_tab_content', $_POST['custom_tab_content']);
}
add_action('woocommerce_process_product_meta', 'process_product_meta_custom_tab', 10, 2);
/**
* Display Tab
*
* Display Custom Tab on Frontend of Website for WooCommerce 2.0
*/
add_filter( 'woocommerce_product_tabs', 'woocommerce_product_custom_tab' );
function woocommerce_product_custom_tab( $tabs ) {
global $post, $product;
$custom_tab_options = array(
'enabled' => get_post_meta($post->ID, 'custom_tab_enabled', true),
'title' => get_post_meta($post->ID, 'custom_tab_title', true),
'content' => get_post_meta($post->ID, 'custom_tab_content', true),
);
if ( $custom_tab_options['enabled'] != 'no' ){
$tabs['custom-tab-first'] = array(
'title' => $custom_tab_options['title'],
'priority' => 15,
'callback' => 'custom_product_tabs_panel_content',
'content' => $custom_tab_options['content']
);
}
return $tabs;
}
/**
* Render the custom product tab panel content for the callback 'custom_product_tabs_panel_content'
*/
function custom_product_tabs_panel_content( $key, $custom_tab_options ) {
echo '<h3>' . $custom_tab_options['title'] . '</h3>';
echo $custom_tab_options['content'];
}
/**
* Custom Tabs for Custom Specifications Display. Compatible with WooCommerce 2.0+ only!
* This version uses the code editor.
*
* Outputs an extra tab to the default set of info tabs on the single product page.
* This file needs to be called via your functions.php file.
*/
function custom_tab_options_tab_spec() {
?>
<li class="custom_tab3"><a href="#custom_tab_data3"><?php _e('FAQ Tab', 'woothemes'); ?></a></li>
<?php
}
add_action('woocommerce_product_write_panel_tabs', 'custom_tab_options_tab_spec');
/**
* Custom Tab Options
*
* Provides the input fields and add/remove buttons for custom tabs on the single product page.
*/
function custom_tab_options_spec() {
global $post;
$custom_tab_options_spec = array(
'titlec' => get_post_meta($post->ID, 'custom_tab_title_spec', true),
'contentc' => get_post_meta($post->ID, 'custom_tab_content_spec', true),
);
?>
<div id="custom_tab_data3" class="panel woocommerce_options_panel">
<div class="options_group">
<p class="form-field">
<?php woocommerce_wp_checkbox( array( 'id' => 'custom_tab_enabled_spec', 'label' => __('Enable Custom Tab?', 'woothemes'), 'description' => __('Enable this option to enable the custom tab on the frontend.', 'woothemes') ) ); ?>
</p>
</div>
<div class="options_group custom_tab_options">
<p class="form-field">
<label><?php _e('Custom Tab Title:', 'woothemes'); ?></label>
<input type="text" size="5" name="custom_tab_title_spec" value="<?php echo @$custom_tab_options_spec['titlec']; ?>" placeholder="<?php _e('Enter your custom tab title', 'woothemes'); ?>" />
</p>
<p class="form-field">
<?php _e('Custom Tab Content:', 'woothemes'); ?>
</p>
<table class="form-table">
<tr>
<td>
<?php
$settings = array(
'text_area_name'=> 'custom_tab_content_spec',
'quicktags' => true,
'tinymce' => true,
'media_butons' => false,
'textarea_rows' => 98,
'editor_class' => 'contra',
'editor_css' => '<style>#wp-custom_tab_content_spec-editor-container .wp-editor-area{height:250px; width:100%;} #custom_tab_data3 .quicktags-toolbar input {width:auto;}</style>'
);
$id = 'custom_tab_content_spec';
wp_editor($custom_tab_options_spec['contentc'],$id,$settings);
?>
</td>
</tr>
</table>
</div>
</div>
<?php
}
add_action('woocommerce_product_write_panels', 'custom_tab_options_spec');
/**
* Process meta
*
* Processes the custom tab options when a post is saved
*/
function process_product_meta_custom_tab_spec( $post_id ) {
update_post_meta( $post_id, 'custom_tab_enabled_spec', ( isset($_POST['custom_tab_enabled_spec']) && $_POST['custom_tab_enabled_spec'] ) ? 'yes' : 'no' );
update_post_meta( $post_id, 'custom_tab_title_spec', $_POST['custom_tab_title_spec']);
update_post_meta( $post_id, 'custom_tab_content_spec', $_POST['custom_tab_content_spec']);
}
add_action('woocommerce_process_product_meta', 'process_product_meta_custom_tab_spec', 10, 2);
/**
* Display Tab
*
* Display Custom Tab on Frontend of Website for WooCommerce 2.0
*/
add_filter( 'woocommerce_product_tabs', 'woocommerce_product_custom_tab_spec' );
function woocommerce_product_custom_tab_spec( $tabs ) {
global $post, $product;
$custom_tab_options_spec = array(
'enabled' => get_post_meta($post->ID, 'custom_tab_enabled_spec', true),
'titlec' => get_post_meta($post->ID, 'custom_tab_title_spec', true),
'contentc' => get_post_meta($post->ID, 'custom_tab_content_spec', true),
);
if ( $custom_tab_options_spec['enabled'] != 'no' ){
$tabs['custom-tab-second'] = array(
'title' => $custom_tab_options_spec['titlec'],
'priority' => 5,
'callback' => 'custom_product_tabs_panel_content_spec',
'content' => $custom_tab_options_spec['contentc']
);
}
return $tabs;
}
/**
* Render the custom product tab panel content for the callback 'custom_product_tabs_panel_content_spec'
*/
function custom_product_tabs_panel_content_spec( $key, $custom_tab_options_spec ) {
global $post, $product;
$custom_tab_options_spec = array(
'enabled' => get_post_meta($post->ID, 'custom_tab_enabled_spec', true),
'titlec' => get_post_meta($post->ID, 'custom_tab_title_spec', true),
'contentc' => get_post_meta($post->ID, 'custom_tab_content_spec', true),
);
echo '<h3>' . $custom_tab_options_spec['titlec'] . '</h3>';
echo $custom_tab_options_spec['contentc'];
}
/**
* Custom Tabs for Downloads Display from Download Monitor Plugin by Mike Jolley. Compatible with WooCommerce 2.0+ only!
*
* Outputs an extra tab to the default set of info tabs on the single product page.
* This file needs to be called via your functions.php file.
*/
function custom_tab_options_tab_down() {
?>
<li class="custom_tab2"><a href="#custom_tab_data2"><?php _e('Download Tab', 'woothemes'); ?></a></li>
<?php
}
add_action('woocommerce_product_write_panel_tabs', 'custom_tab_options_tab_down');
/**
* Custom Tab Options
*
* Provides the input fields and add/remove buttons for custom tabs on the single product page.
*/
function custom_tab_options_down() {
global $post;
$custom_tab_options_down = array(
'titleb' => get_post_meta($post->ID, 'custom_tab_title_down', true),
'contentb' => get_post_meta($post->ID, 'custom_tab_content_down', true),
);
?>
<div id="custom_tab_data2" class="panel woocommerce_options_panel">
<div class="options_group">
<p class="form-field">
<?php woocommerce_wp_checkbox( array( 'id' => 'custom_tab_enabled_down', 'label' => __('Enable Custom Tab?', 'woothemes'), 'description' => __('Enable this option to enable the custom tab on the frontend.', 'woothemes') ) ); ?>
</p>
</div>
<div class="options_group custom_tab_options">
<p class="form-field">
<label><?php _e('Custom Tab Title:', 'woothemes'); ?></label>
<input type="text" size="5" name="custom_tab_title_down" value="<?php echo @$custom_tab_options_down['titleb']; ?>" placeholder="<?php _e('Enter your custom tab title', 'woothemes'); ?>" />
</p>
<p class="form-field">
<?php _e('Custom Tab Content:', 'woothemes'); ?>
</p>
<table class="form-table">
<tr>
<td>
<textarea class="theEditor" rows="10" cols="40" name="custom_tab_content_down" placeholder="<?php _e('Enter your custom tab content', 'woothemes'); ?>"><?php echo @$custom_tab_options_down['contentb']; ?></textarea>
</td>
</tr>
</table>
</div>
</div>
<?php
}
add_action('woocommerce_product_write_panels', 'custom_tab_options_down');
/**
* Process meta
*
* Processes the custom tab options when a post is saved
*/
function process_product_meta_custom_tab_down( $post_id ) {
update_post_meta( $post_id, 'custom_tab_enabled_down', ( isset($_POST['custom_tab_enabled_down']) && $_POST['custom_tab_enabled_down'] ) ? 'yes' : 'no' );
update_post_meta( $post_id, 'custom_tab_title_down', $_POST['custom_tab_title_down']);
update_post_meta( $post_id, 'custom_tab_content_down', $_POST['custom_tab_content_down']);
}
add_action('woocommerce_process_product_meta', 'process_product_meta_custom_tab_down', 10, 2);
/**
* Display Tab
*
* Display Custom Tab on Frontend of Website for WooCommerce 2.0
*/
add_filter( 'woocommerce_product_tabs', 'woocommerce_product_custom_tab_down' );
function woocommerce_product_custom_tab_down( $tabs ) {
global $post, $product;
$custom_tab_options_down = array(
'enabled' => get_post_meta($post->ID, 'custom_tab_enabled_down', true),
'titleb' => get_post_meta($post->ID, 'custom_tab_title_down', true),
'contentb' => get_post_meta($post->ID, 'custom_tab_content_down', true),
);
if ( $custom_tab_options_down['enabled'] != 'no' ){
$tabs['custom-tab-third'] = array(
'title' => $custom_tab_options_down['titleb'],
'id' => 'test_multicheckbox',
'priority' => 20,
'callback' => 'custom_product_tabs_panel_content_down',
'content' => $custom_tab_options_down['contentb']
);
}
return $tabs;
}
/**
* Render the custom product tab panel content for the callback 'custom_product_tabs_panel_content_down'
*/
function custom_product_tabs_panel_content_down( $key, $custom_tab_options_down ) {
global $post, $product;
$custom_tab_options_down = array(
'enabled' => get_post_meta($post->ID, 'custom_tab_enabled_down', true),
'titleb' => get_post_meta($post->ID, 'custom_tab_title_down', true),
'contentb' => get_post_meta($post->ID, 'custom_tab_content_down', true),
);
$downloads = get_post_meta($post->ID, 'custom_tab_content_down', true);
$nsoutput = do_shortcode( $downloads ) ;
echo '<h3>' . $custom_tab_options_down['titleb'] . '</h3>';
print $nsoutput;
}
/**
* Renaming the tabs
*/
add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {
$tabs['description']['title'] = __( 'Other Information' ); // Rename the description tab
$tabs['reviews']['title'] = __( 'Reviews' ); // Rename the reviews tab
$tabs['additional_information']['title'] = __( 'Specifications' ); // Rename the additional information tab
return $tabs;
}
/**
* Reordering the tabs
*/
add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );
function woo_reorder_tabs( $tabs ) {
$tabs['reviews']['priority'] = 30; // Reviews
$tabs['description']['priority'] = 25; // FAQ
$tabs['additional_information']['priority'] = 10; // Specifications
return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );
function woo_remove_product_tabs( $tabs ) {
unset( $tabs['reviews'] ); // Remove the reviews tab
return $tabs;
}
- The forum ‘Virtue Theme’ is closed to new topics and replies.


