/** * Output the settings */ public function output() { global $woocommerce, $woocommerce_settings, $current_section, $current_tab; if (!current_user_can('manage_woocommerce')) { wp_die(__('You do not have sufficient permissions to access this page.', MAILPOET_WOOCOMMERCE_TEXT_DOMAIN)); } do_action('woocommerce_mailpoet_settings_start'); $mailpoet_settings = $this->get_settings(); // Get current section $current_section = empty($_REQUEST['section']) ? 'general' : sanitize_text_field(urldecode($_REQUEST['section'])); $current = $current_section ? '' : ' class="current"'; // Creates each settings section. $mailpoet_section = apply_filters('woocommerce_mailpoet_settings_sections', array('general' => __('General', MAILPOET_WOOCOMMERCE_TEXT_DOMAIN), 'lists' => __('Lists', MAILPOET_WOOCOMMERCE_TEXT_DOMAIN))); foreach ($mailpoet_section as $section => $title) { $title = ucwords($title); $current = $section == $current_section ? ' class="current"' : ''; $links[] = '<a href="' . add_query_arg('section', $section, admin_url('admin.php?page=woocommerce_settings&tab=mailpoet')) . '"' . $current . '>' . esc_html($title) . '</a>'; } echo '<ul class="subsubsub"><li>' . implode('| </li><li>', $links) . '</li></ul><br class="clear" />'; woocommerce_admin_fields($mailpoet_settings); if ($current_section == 'lists') { include_once MailPoet_WooCommerce_Add_on()->plugin_path() . '/includes/admin/settings/settings-newsletters.php'; $mailpoet_list = mailpoet_lists(); do_action('woocommerce_mailpoet_list_newsletters', $mailpoet_list); } }
function woo_settings() { global $woocommerce_settings; woocommerce_admin_fields($woocommerce_settings['rtwoogl']); ?> <div><a href="#" id="rtwoogl_test_connection" class="button" style="margin-top: 15px;"><?php _e('Test Connection'); ?> </a></div> <?php }
/** * settings_tab_action() * * Do this when viewing our custom settings tab(s). One function for all tabs. */ function settings_tab_action() { global $woocommerce_settings; // Determine the current tab in effect. $current_tab = $this->get_tab_in_view(current_filter(), 'woocommerce_settings_tabs_'); // Hook onto this from another function to keep things clean. // do_action( 'woocommerce_newsletter_settings' ); do_action('woocommerce_visibility_options_settings'); // Display settings for this tab (make sure to add the settings to the tab). woocommerce_admin_fields($woocommerce_settings[$current_tab]); }
public function pw_woocommerce_tabs_print_plugin_options() { ?> <div class="subsubsub_section"> <br class="clear" /> <?php foreach ($this->options as $id => $tab) { ?> <div class="section" id="pw_woocommerce_tabs_<?php echo $id; ?> "> <?php woocommerce_admin_fields($this->options[$id]); ?> </div> <?php } ?> </div> <?php }
public static function settings_tab() { woocommerce_admin_fields(self::get_settings()); }
public static function route() { switch (self::$ACTION) { case 'create': self::create_new(); return self::show_list(); break; case 'edit': $GLOBALS['hide_save_button'] = true; $delete_url = admin_url('admin.php?page=wc-settings&tab=woorule_settings_tab&woo-rule-action=delete&rule-id=') . self::$RULE_ID; woocommerce_admin_fields(self::edit_rule()); include_once (new WooRule())->get_path() . '/includes/admin/views/html-admin-buttons.php'; break; case 'delete': self::delete_rule(); self::show_list(); break; default: return self::show_list(); break; } }
/** * Print all plugin options. * * @return void * @since 1.0.0 */ public function print_plugin_options() { $links = apply_filters('yith_wcwl_tab_links', array('<a href="#yith_wcwl_general_settings">' . __('General Settings', 'yit') . '</a>', '<a href="#yith_wcwl_styles">' . __('Styles', 'yit') . '</a>', '<a href="#yith_wcwl_socials_share">' . __('Socials & Share', 'yit') . '</a>')); $this->_printBanner(); ?> <div class="subsubsub_section"> <!--<ul class="subsubsub"> <li> <?php /*echo implode( ' | </li><li>', $links ) */ ?> </li> </ul>--> <br class="clear" /> <?php foreach ($this->options as $id => $tab) { ?> <!-- tab #<?php echo $id; ?> --> <div class="section" id="yith_wcwl_<?php echo $id; ?> "> <?php woocommerce_admin_fields($this->options[$id]); ?> <?php if ($id == 'styles') { ?> <div id="yith_wcwl_styles_colors"> <h3><?php _e('Colors', 'yit'); ?> </h3> <?php $this->_styles_options(); ?> </div> <?php } ?> </div> <?php } ?> </div> <?php }
/** * Function to display fields for configuring settings for Gift Certificate */ public function smart_coupon_admin_settings() { woocommerce_admin_fields($this->sc_general_settings); }
/** * Output the settings options to the tab. * * @since 0.0.1 * @global * @param * @return */ function nod_do_settings_tab() { woocommerce_admin_fields(nod_registered_settings()); }
function admin_option_page() { woocommerce_admin_fields($this->settings); }
function admin_settings() { woocommerce_admin_fields($this->settings); }
/** * Called when viewing our custom settings tab(s). One function for all tabs. */ public function handler_wc_get_settings_tab() { global $woocommerce_settings; // Determine the current tab in effect. $this->current_tab = $this->get_tab_in_view( current_filter(), 'woocommerce_settings_tabs_' ); // Hook onto this from another function to keep things clean. do_action( 'woocommerce_email_attachment_settings' ); // Display settings for this tab (make sure to add the settings to the tab). woocommerce_admin_fields( $woocommerce_settings[ $this->current_tab ] ); }
/** * Settings Tab Content * * Adds the settings content to the Voucher tab. * * @package WooCommerce - PDF Vouchers * @since 1.6 */ public function woo_vou_settings_tab() { woocommerce_admin_fields($this->woo_vou_get_settings()); }
echo '</ul>'; } } ?> </li> <?php } ?> </ul><br /> </div> <div id="tabs-2"> <?php woocommerce_admin_fields($this->get_options()); ?> </div> <div id="tabs-3" style="display: none;"> <?php $_REQUEST['woof_layout_edit'] = 1; ?> <link rel='stylesheet' id='woof-css' href='<?php echo WOOF_LINK; ?> css/front.css' type='text/css' media='all' /> <div class="woof_auto_show"> <?php //echo do_shortcode('[woof]')
/** * Show the 'Pre-Orders' settings page * * @since 1.0 */ public function show_settings() { woocommerce_admin_fields($this->get_settings()); }
public function wcla_add_settings_tab_content() { woocommerce_admin_fields(WCLA_Utilities::get_fields()); }
/** * Show Settings page * * @since 3.0 */ private function render_settings_page() { // render settings fields woocommerce_admin_fields($this->get_settings('settings')); wp_nonce_field(__FILE__); submit_button(__('Save settings', WC_Customer_Order_CSV_Export::TEXT_DOMAIN)); }
public static function woocommerce_hide_product_admin_fields() { woocommerce_admin_fields(WooCommerce_Hide_Products_Admin::woocommerce_hide_product_admin_options()); }
/** * Print all plugin options. * * @return void * @since 1.0.0 */ public function print_plugin_options() { $links = apply_filters('yith_wcas_tab_links', array('<a href="#yith_wcas_general">' . __('General Settings', 'yit') . '</a>')); $this->_printBanner(); ?> <div class="subsubsub_section"> <ul class="subsubsub"> <li> <?php echo implode(' | </li><li>', $links); ?> </li> </ul> <br class="clear" /> <?php $option_theme = apply_filters('yith_wcas_options_theme_plugin', $this->options); foreach ($option_theme as $id => $tab) { ?> <!-- tab #<?php echo $id; ?> --> <div class="section" id="yith_wcas_<?php echo $id; ?> "> <?php woocommerce_admin_fields($option_theme[$id]); ?> </div> <?php } ?> </div> <?php }
/** * Output the settings fields into the tab */ public function output() { global $current_section; $settings = $this->get_settings($current_section); woocommerce_admin_fields($settings); }
/** * dhwc_product_brand_add_admin_settings function */ function dhwc_product_brand_add_admin_settings() { woocommerce_admin_fields(dhwc_product_brand_get_admin_settings()); }
function woocommerce_settings() { global $woocommerce, $woocommerce_settings; $current_tab = isset($_GET['tab']) ? $_GET['tab'] : 'general'; // Save settings if (isset($_POST) && $_POST) { if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'woocommerce-settings')) { die(__('Action failed. Please refresh the page and retry.', 'woocommerce')); } switch ($current_tab) { case "general": case "pages": case "catalog": case "inventory": case "shipping": case "tax": case "email": case "integration": woocommerce_update_options($woocommerce_settings[$current_tab]); break; } do_action('woocommerce_update_options'); do_action('woocommerce_update_options_' . $current_tab); if ($current_tab == 'shipping') { do_action('woocommerce_update_options_shipping_methods'); } // Shipping Methods flush_rewrite_rules(false); wp_redirect(add_query_arg('subtab', esc_attr(str_replace('#', '', $_POST['subtab'])), add_query_arg('saved', 'true', admin_url('admin.php?page=woocommerce&tab=' . $current_tab)))); exit; } // Settings saved message if (isset($_GET['saved']) && $_GET['saved']) { echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been saved.', 'woocommerce') . '</strong></p></div>'; flush_rewrite_rules(false); do_action('woocommerce_settings_saved'); } // Hide WC Link if (isset($_GET['hide-wc-extensions-message'])) { update_option('hide-wc-extensions-message', 1); } // Install/page installer $install_complete = false; // Add pages button if (isset($_GET['install_woocommerce_pages']) && $_GET['install_woocommerce_pages']) { require_once 'woocommerce-admin-install.php'; woocommerce_create_pages(); update_option('skip_install_woocommerce_pages', 1); $install_complete = true; // Skip button } elseif (isset($_GET['skip_install_woocommerce_pages']) && $_GET['skip_install_woocommerce_pages']) { update_option('skip_install_woocommerce_pages', 1); $install_complete = true; } if ($install_complete) { ?> <div id="message" class="updated woocommerce-message wc-connect"> <div class="squeezer"> <h4><?php _e('<strong>Congratulations!</strong> – WooCommerce has been installed and setup. Enjoy :)', 'woocommerce'); ?> </h4> <p><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.woothemes.com/woocommerce/" data-text="A open-source (free) #ecommerce plugin for #WordPress that helps you sell anything. Beautifully." data-via="WooThemes" data-size="large" data-hashtags="WooCommerce">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></p> </div> </div> <?php // Flush rules after install flush_rewrite_rules(false); // Set installed option update_option('woocommerce_installed', 0); } ?> <div class="wrap woocommerce"> <form method="post" id="mainform" action=""> <div class="icon32 icon32-woocommerce-settings" id="icon-woocommerce"><br></div><h2 class="nav-tab-wrapper woo-nav-tab-wrapper"> <?php $tabs = array('general' => __('General', 'woocommerce'), 'pages' => __('Pages', 'woocommerce'), 'catalog' => __('Catalog', 'woocommerce'), 'inventory' => __('Inventory', 'woocommerce'), 'tax' => __('Tax', 'woocommerce'), 'shipping' => __('Shipping', 'woocommerce'), 'payment_gateways' => __('Payment Gateways', 'woocommerce'), 'email' => __('Emails', 'woocommerce'), 'integration' => __('Integration', 'woocommerce')); $tabs = apply_filters('woocommerce_settings_tabs_array', $tabs); foreach ($tabs as $name => $label) { echo '<a href="' . admin_url('admin.php?page=woocommerce&tab=' . $name) . '" class="nav-tab '; if ($current_tab == $name) { echo 'nav-tab-active'; } echo '">' . $label . '</a>'; } do_action('woocommerce_settings_tabs'); ?> </h2> <?php wp_nonce_field('woocommerce-settings', '_wpnonce', true, true); ?> <?php if (!get_option('hide-wc-extensions-message')) { ?> <div id="woocommerce_extensions"><a href="<?php echo add_query_arg('hide-wc-extensions-message', 'true'); ?> " class="hide">×</a><?php echo sprintf(__('More functionality and gateway options available via <a href="%s" target="_blank">WC official extensions</a>.', 'woocommerce'), 'http://www.woothemes.com/extensions/woocommerce-extensions/'); ?> </div> <?php } ?> <?php switch ($current_tab) { case "general": case "pages": case "catalog": case "inventory": case "tax": case "email": case "integration": woocommerce_admin_fields($woocommerce_settings[$current_tab]); break; case "shipping": $links = array('<a href="#shipping-options">' . __('Shipping Options', 'woocommerce') . '</a>'); foreach ($woocommerce->shipping->shipping_methods as $method) { $title = isset($method->method_title) && $method->method_title ? ucwords($method->method_title) : ucwords($method->id); $links[] = '<a href="#shipping-' . $method->id . '">' . $title . '</a>'; } echo '<div class="subsubsub_section"><ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; // Gateway ordering echo '<div class="section" id="shipping-options">'; woocommerce_admin_fields($woocommerce_settings[$current_tab]); ?> <h3><?php _e('Shipping Methods', 'woocommerce'); ?> </h3> <p><?php _e('Your activated shipping methods are listed below. Drag and drop rows to re-order them for display on the frontend.', 'woocommerce'); ?> </p> <table class="wc_shipping widefat" cellspacing="0"> <thead> <tr> <th><?php _e('Default', 'woocommerce'); ?> </th> <th><?php _e('Shipping Method', 'woocommerce'); ?> </th> <th><?php _e('Status', 'woocommerce'); ?> </th> </tr> </thead> <tbody> <?php foreach ($woocommerce->shipping->shipping_methods as $method) { $default_shipping_method = get_option('woocommerce_default_shipping_method'); echo '<tr> <td width="1%" class="radio"> <input type="radio" name="default_shipping_method" value="' . $method->id . '" ' . checked($default_shipping_method, $method->id, false) . ' /> <input type="hidden" name="method_order[]" value="' . $method->id . '" /> <td> <p><strong>' . $method->title . '</strong><br/> <small>' . __('Method ID', 'woocommerce') . ': ' . $method->id . '</small></p> </td> <td>'; if ($method->enabled == 'yes') { echo '<img src="' . $woocommerce->plugin_url() . '/assets/images/success.png" alt="yes" />'; } else { echo '<img src="' . $woocommerce->plugin_url() . '/assets/images/success-off.png" alt="no" />'; } echo '</td> </tr>'; } ?> </tbody> </table> <?php echo '</div>'; // Specific method options foreach ($woocommerce->shipping->shipping_methods as $method) { echo '<div class="section" id="shipping-' . $method->id . '">'; $method->admin_options(); echo '</div>'; } echo '</div>'; break; case "payment_gateways": $links = array('<a href="#gateway-order">' . __('Payment Gateways', 'woocommerce') . '</a>'); foreach ($woocommerce->payment_gateways->payment_gateways() as $gateway) { $title = isset($gateway->method_title) && $gateway->method_title ? ucwords($gateway->method_title) : ucwords($gateway->id); $links[] = '<a href="#gateway-' . $gateway->id . '">' . $title . '</a>'; } echo '<div class="subsubsub_section"><ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; // Gateway ordering echo '<div class="section" id="gateway-order">'; ?> <h3><?php _e('Payment Gateways', 'woocommerce'); ?> </h3> <p><?php _e('Your activated payment gateways are listed below. Drag and drop rows to re-order them for display on the checkout.', 'woocommerce'); ?> </p> <table class="wc_gateways widefat" cellspacing="0"> <thead> <tr> <th width="1%"><?php _e('Default', 'woocommerce'); ?> </th> <th><?php _e('Gateway', 'woocommerce'); ?> </th> <th><?php _e('Status', 'woocommerce'); ?> </th> </tr> </thead> <tbody> <?php foreach ($woocommerce->payment_gateways->payment_gateways() as $gateway) { $default_gateway = get_option('woocommerce_default_gateway'); echo '<tr> <td width="1%" class="radio"> <input type="radio" name="default_gateway" value="' . $gateway->id . '" ' . checked($default_gateway, $gateway->id, false) . ' /> <input type="hidden" name="gateway_order[]" value="' . $gateway->id . '" /> </td> <td> <p><strong>' . $gateway->title . '</strong><br/> <small>' . __('Gateway ID', 'woocommerce') . ': ' . $gateway->id . '</small></p> </td> <td>'; if ($gateway->enabled == 'yes') { echo '<img src="' . $woocommerce->plugin_url() . '/assets/images/success.png" alt="yes" />'; } else { echo '<img src="' . $woocommerce->plugin_url() . '/assets/images/success-off.png" alt="no" />'; } echo '</td> </tr>'; } ?> </tbody> </table> <?php echo '</div>'; // Specific gateway options foreach ($woocommerce->payment_gateways->payment_gateways() as $gateway) { echo '<div class="section" id="gateway-' . $gateway->id . '">'; $gateway->admin_options(); echo '</div>'; } echo '</div>'; break; default: do_action('woocommerce_settings_tabs_' . $current_tab); break; } ?> <p class="submit"> <input name="save" class="button-primary" type="submit" value="<?php _e('Save changes', 'woocommerce'); ?> " /> <input type="hidden" name="subtab" id="last_tab" /> </p> </form> <script type="text/javascript"> jQuery(window).load(function(){ // Subsubsub tabs jQuery('ul.subsubsub li a:eq(0)').addClass('current'); jQuery('.subsubsub_section .section:gt(0)').hide(); jQuery('ul.subsubsub li a').click(function(){ jQuery('a', jQuery(this).closest('ul.subsubsub')).removeClass('current'); jQuery(this).addClass('current'); jQuery('.section', jQuery(this).closest('.subsubsub_section')).hide(); jQuery( jQuery(this).attr('href') ).show(); jQuery('#last_tab').val( jQuery(this).attr('href') ); return false; }); <?php if (isset($_GET['subtab']) && $_GET['subtab']) { echo 'jQuery("ul.subsubsub li a[href=#' . $_GET['subtab'] . ']").click();'; } ?> // Countries jQuery('select#woocommerce_allowed_countries').change(function(){ if (jQuery(this).val()=="specific") { jQuery(this).parent().parent().next('tr').show(); } else { jQuery(this).parent().parent().next('tr').hide(); } }).change(); // Color picker jQuery('.colorpick').each(function(){ jQuery('.colorpickdiv', jQuery(this).parent()).farbtastic(this); jQuery(this).click(function() { if ( jQuery(this).val() == "" ) jQuery(this).val('#'); jQuery('.colorpickdiv', jQuery(this).parent() ).show(); }); }); jQuery(document).mousedown(function(){ jQuery('.colorpickdiv').hide(); }); // Edit prompt jQuery(function(){ var changed = false; jQuery('input, textarea, select, checkbox').change(function(){ changed = true; }); jQuery('.woo-nav-tab-wrapper a').click(function(){ if (changed) { window.onbeforeunload = function() { return '<?php echo __('The changes you made will be lost if you navigate away from this page.', 'woocommerce'); ?> '; } } else { window.onbeforeunload = ''; } }); jQuery('.submit input').click(function(){ window.onbeforeunload = ''; }); }); // Sorting jQuery('table.wc_gateways tbody, table.wc_shipping tbody').sortable({ items:'tr', cursor:'move', axis:'y', handle: 'td', scrollSensitivity:40, helper:function(e,ui){ ui.children().each(function(){ jQuery(this).width(jQuery(this).width()); }); ui.css('left', '0'); return ui; }, start:function(event,ui){ ui.item.css('background-color','#f6f6f6'); }, stop:function(event,ui){ ui.item.removeAttr('style'); } }); // Chosen selects jQuery("select.chosen_select").chosen(); jQuery("select.chosen_select_nostd").chosen({ allow_single_deselect: 'true' }); }); </script> </div> <?php }
/** * @access public * @return void */ public function settings_tab_action() { global $woocommerce_settings; // Determine the current tab in effect. $current_tab = $this->get_tab_in_view(current_filter(), 'woocommerce_settings_tabs_'); do_action('woocommerce_bulk_discount_settings'); // Display settings for this tab (make sure to add the settings to the tab). woocommerce_admin_fields($woocommerce_settings[$current_tab]); }
woocs_print_currency($this, $currency); } } ?> </ul><br /> <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes" target="_blank" class="button button-primary button-large"><?php _e("Read wiki about Currency Active codes <- Get right currencies codes here if you are not sure about it!", 'woocommerce-currency-switcher'); ?> </a> </div> <div id="tabs-2"> <?php woocommerce_admin_fields($options); ?> </div> <?php if ($this->is_use_geo_rules()) { ?> <div id="tabs-3"> <?php if (version_compare(WOOCOMMERCE_VERSION, '2.3', '<')) { ?> <b style="color: red;"><?php _e("GeoIP works from v.2.3 of the WooCommerce plugin and no with minor versions of WooCommerce!!", 'woocommerce-currency-switcher'); ?>
public static function prdctfltr_settings_tab() { woocommerce_admin_fields(self::prdctfltr_get_settings('get')); }
/** * Uses the WooCommerce admin fields API to output settings via the @see woocommerce_admin_fields() function. * * @uses woocommerce_admin_fields() * @uses self::get_settings() * @since 1.0 */ public static function subscription_settings_page() { woocommerce_admin_fields(self::get_settings()); wp_nonce_field('wcs_subscription_settings', '_wcsnonce', false); }
public static function draw_woo_tab_panel() { global $qsot_settings; woocommerce_admin_fields($qsot_settings[self::$tab_slug]); }
/** * Add sections and fields to setting panel * * read all options and show sections and fields * * @return void * @since 1.0 * @author Andrea Grillo <*****@*****.**> * @author Antonio La Rocca <*****@*****.**> */ public function add_fields() { $yit_options = $this->get_main_array_options(); $current_tab = $this->get_current_tab(); if (!$current_tab) { return; } woocommerce_admin_fields($yit_options[$current_tab]); }
/** * Uses the WooCommerce admin fields API to output settings via the @see woocommerce_admin_fields() function. * * @uses woocommerce_admin_fields() * @uses self::get_settings() * @since 1.0 */ public static function subscription_settings_page() { woocommerce_admin_fields(self::get_settings()); }
/** * Settings page. * * Handles the display of the main woocommerce settings page in admin. * * @access public * @return void */ function woocommerce_settings() { global $woocommerce, $woocommerce_settings, $current_section, $current_tab; do_action('woocommerce_settings_start'); // Get current tab/section $current_tab = empty($_GET['tab']) ? 'general' : sanitize_text_field(urldecode($_GET['tab'])); $current_section = empty($_REQUEST['section']) ? '' : sanitize_text_field(urldecode($_REQUEST['section'])); // Save settings if (!empty($_POST)) { if (empty($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'woocommerce-settings')) { die(__('Action failed. Please refresh the page and retry.', 'woocommerce')); } if (!$current_section) { $old_base_color = get_option('woocommerce_frontend_css_base_color'); $old_base_color = get_option('woocommerce_frontend_css_base_color'); include_once 'settings/settings-save.php'; switch ($current_tab) { case "payment_gateways": woocommerce_update_options($woocommerce_settings[$current_tab]); $woocommerce->payment_gateways->process_admin_options(); break; case "shipping": woocommerce_update_options($woocommerce_settings[$current_tab]); $woocommerce->shipping->process_admin_options(); break; default: if (isset($woocommerce_settings[$current_tab])) { woocommerce_update_options($woocommerce_settings[$current_tab]); } // Trigger action for tab do_action('woocommerce_update_options_' . $current_tab); break; } do_action('woocommerce_update_options'); // Handle Colour Settings if ($current_tab == 'general' && get_option('woocommerce_frontend_css') == 'yes') { // Save settings $primary = !empty($_POST['woocommerce_frontend_css_primary']) ? woocommerce_format_hex($_POST['woocommerce_frontend_css_primary']) : ''; $secondary = !empty($_POST['woocommerce_frontend_css_secondary']) ? woocommerce_format_hex($_POST['woocommerce_frontend_css_secondary']) : ''; $highlight = !empty($_POST['woocommerce_frontend_css_highlight']) ? woocommerce_format_hex($_POST['woocommerce_frontend_css_highlight']) : ''; $content_bg = !empty($_POST['woocommerce_frontend_css_content_bg']) ? woocommerce_format_hex($_POST['woocommerce_frontend_css_content_bg']) : ''; $subtext = !empty($_POST['woocommerce_frontend_css_subtext']) ? woocommerce_format_hex($_POST['woocommerce_frontend_css_subtext']) : ''; $colors = array('primary' => $primary, 'secondary' => $secondary, 'highlight' => $highlight, 'content_bg' => $content_bg, 'subtext' => $subtext); $old_colors = get_option('woocommerce_frontend_css_colors'); update_option('woocommerce_frontend_css_colors', $colors); if ($old_colors != $colors) { woocommerce_compile_less_styles(); } } } else { // If saving a shipping methods options, load 'er up if ($current_tab == 'shipping' || $current_tab == 'payment_gateways' && class_exists($current_section)) { $current_section_class = new $current_section(); do_action('woocommerce_update_options_' . $current_tab . '_' . $current_section_class->id); // If saving an email's options, load theme } elseif ($current_tab == 'email') { // Load mailer $mailer = $woocommerce->mailer(); if (class_exists($current_section)) { $current_section_class = new $current_section(); do_action('woocommerce_update_options_' . $current_tab . '_' . $current_section_class->id); } else { do_action('woocommerce_update_options_' . $current_tab . '_' . $current_section); } // Save tax } elseif ($current_tab == 'tax') { include_once 'settings/settings-tax-rates.php'; woocommerce_tax_rates_setting_save(); } else { // Save section only do_action('woocommerce_update_options_' . $current_tab . '_' . $current_section); } } // Clear any unwanted data $woocommerce->clear_product_transients(); delete_transient('woocommerce_cache_excluded_uris'); // Redirect back to the settings page $redirect = add_query_arg('saved', 'true'); if (!empty($_POST['subtab'])) { $redirect = add_query_arg('subtab', esc_attr(str_replace('#', '', $_POST['subtab'])), $redirect); } wp_safe_redirect($redirect); exit; } // Get any returned messages $error = empty($_GET['wc_error']) ? '' : urldecode(stripslashes($_GET['wc_error'])); $message = empty($_GET['wc_message']) ? '' : urldecode(stripslashes($_GET['wc_message'])); if ($error || $message) { if ($error) { echo '<div id="message" class="error fade"><p><strong>' . esc_html($error) . '</strong></p></div>'; } else { echo '<div id="message" class="updated fade"><p><strong>' . esc_html($message) . '</strong></p></div>'; } } elseif (!empty($_GET['saved'])) { echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been saved.', 'woocommerce') . '</strong></p></div>'; } // Were the settings saved? if (!empty($_GET['saved'])) { do_action('woocommerce_settings_saved'); } // Hide WC Link if (!empty($_GET['hide-wc-extensions-message'])) { update_option('hide-wc-extensions-message', 1); } ?> <div class="wrap woocommerce"> <form method="post" id="mainform" action="" enctype="multipart/form-data"> <div class="icon32 icon32-woocommerce-settings" id="icon-woocommerce"><br /></div><h2 class="nav-tab-wrapper woo-nav-tab-wrapper"> <?php $tabs = array('general' => __('General', 'woocommerce'), 'catalog' => __('Catalog', 'woocommerce'), 'pages' => __('Pages', 'woocommerce'), 'inventory' => __('Inventory', 'woocommerce'), 'tax' => __('Tax', 'woocommerce'), 'shipping' => __('Shipping', 'woocommerce'), 'payment_gateways' => __('Payment Gateways', 'woocommerce'), 'email' => __('Emails', 'woocommerce'), 'integration' => __('Integration', 'woocommerce')); if (!$woocommerce->integrations->get_integrations()) { unset($tabs['integration']); } $tabs = apply_filters('woocommerce_settings_tabs_array', $tabs); foreach ($tabs as $name => $label) { echo '<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=' . $name) . '" class="nav-tab '; if ($current_tab == $name) { echo 'nav-tab-active'; } echo '">' . $label . '</a>'; } do_action('woocommerce_settings_tabs'); ?> </h2> <?php wp_nonce_field('woocommerce-settings', '_wpnonce', true, true); ?> <?php if (!get_option('hide-wc-extensions-message')) { ?> <div id="woocommerce_extensions"><a href="<?php echo add_query_arg('hide-wc-extensions-message', 'true'); ?> " class="hide">×</a><?php printf(__('More functionality and gateway options available via <a href="%s" target="_blank">WC official extensions</a>.', 'woocommerce'), 'http://www.woothemes.com/extensions/woocommerce-extensions/'); ?> </div> <?php } ?> <?php switch ($current_tab) { case "general": include_once 'settings/settings-frontend-styles.php'; woocommerce_admin_fields($woocommerce_settings[$current_tab]); break; case "tax": $links = array('<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=tax') . '" class="' . ($current_section == '' ? 'current' : '') . '">' . __('Tax Options', 'woocommerce') . '</a>'); // Get tax classes and display as links $tax_classes = array_filter(array_map('trim', explode("\n", get_option('woocommerce_tax_classes')))); $links[] = __('Tax Rates', 'woocommerce') . ': <a href="' . admin_url('admin.php?page=woocommerce_settings&tab=tax§ion=standard') . '" class="' . ($current_section == 'standard' ? 'current' : '') . '">' . __('Standard', 'woocommerce') . '</a>'; if ($tax_classes) { foreach ($tax_classes as $class) { $links[] = '<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=tax§ion=' . sanitize_title($class)) . '" class="' . ($current_section == sanitize_title($class) ? 'current' : '') . '">' . $class . '</a>'; } } echo '<ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; if ($current_section == 'standard' || in_array($current_section, array_map('sanitize_title', $tax_classes))) { include_once 'settings/settings-tax-rates.php'; woocommerce_tax_rates_setting(); } else { woocommerce_admin_fields($woocommerce_settings[$current_tab]); } break; case "pages": case "catalog": case "inventory": woocommerce_admin_fields($woocommerce_settings[$current_tab]); break; case "email": $current = $current_section ? '' : 'class="current"'; $links = array('<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=email') . '" ' . $current . '>' . __('Email Options', 'woocommerce') . '</a>'); // Define emails that can be customised here $mailer = $woocommerce->mailer(); $email_templates = $mailer->get_emails(); foreach ($email_templates as $email) { $title = empty($email->title) ? ucwords($email->id) : ucwords($email->title); $current = get_class($email) == $current_section ? 'class="current"' : ''; $links[] = '<a href="' . add_query_arg('section', get_class($email), admin_url('admin.php?page=woocommerce_settings&tab=email')) . '"' . $current . '>' . esc_html($title) . '</a>'; } echo '<ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; // Specific email options if ($current_section) { foreach ($email_templates as $email) { if (get_class($email) == $current_section) { $email->admin_options(); break; } } } else { woocommerce_admin_fields($woocommerce_settings[$current_tab]); } break; case "shipping": include 'settings/settings-shipping-methods.php'; $current = $current_section ? '' : 'class="current"'; $links = array('<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=shipping') . '" ' . $current . '>' . __('Shipping Options', 'woocommerce') . '</a>'); // Load shipping methods so we can show any global options they may have $shipping_methods = $woocommerce->shipping->load_shipping_methods(); foreach ($shipping_methods as $method) { if (!$method->has_settings()) { continue; } $title = empty($method->method_title) ? ucwords($method->id) : ucwords($method->method_title); $current = get_class($method) == $current_section ? 'class="current"' : ''; $links[] = '<a href="' . add_query_arg('section', get_class($method), admin_url('admin.php?page=woocommerce_settings&tab=shipping')) . '"' . $current . '>' . esc_html($title) . '</a>'; } echo '<ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; // Specific method options if ($current_section) { foreach ($shipping_methods as $method) { if (get_class($method) == $current_section && $method->has_settings()) { $method->admin_options(); break; } } } else { woocommerce_admin_fields($woocommerce_settings[$current_tab]); } break; case "payment_gateways": include 'settings/settings-payment-gateways.php'; $current = $current_section ? '' : 'class="current"'; $links = array('<a href="' . admin_url('admin.php?page=woocommerce_settings&tab=payment_gateways') . '" ' . $current . '>' . __('Payment Gateways', 'woocommerce') . '</a>'); // Load shipping methods so we can show any global options they may have $payment_gateways = $woocommerce->payment_gateways->payment_gateways(); foreach ($payment_gateways as $gateway) { $title = empty($gateway->method_title) ? ucwords($gateway->id) : ucwords($gateway->method_title); $current = get_class($gateway) == $current_section ? 'class="current"' : ''; $links[] = '<a href="' . add_query_arg('section', get_class($gateway), admin_url('admin.php?page=woocommerce_settings&tab=payment_gateways')) . '"' . $current . '>' . esc_html($title) . '</a>'; } echo '<ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; // Specific method options if ($current_section) { foreach ($payment_gateways as $gateway) { if (get_class($gateway) == $current_section) { $gateway->admin_options(); break; } } } else { woocommerce_admin_fields($woocommerce_settings[$current_tab]); } break; case "integration": $integrations = $woocommerce->integrations->get_integrations(); $current_section = empty($current_section) ? key($integrations) : $current_section; $links = array(); foreach ($integrations as $integration) { $title = empty($integration->method_title) ? ucwords($integration->id) : ucwords($integration->method_title); $current = $integration->id == $current_section ? 'class="current"' : ''; $links[] = '<a href="' . add_query_arg('section', $integration->id, admin_url('admin.php?page=woocommerce_settings&tab=integration')) . '"' . $current . '>' . esc_html($title) . '</a>'; } echo '<ul class="subsubsub"><li>' . implode(' | </li><li>', $links) . '</li></ul><br class="clear" />'; if (isset($integrations[$current_section])) { $integrations[$current_section]->admin_options(); } break; default: do_action('woocommerce_settings_tabs_' . $current_tab); break; } ?> <p class="submit"> <?php if (!isset($GLOBALS['hide_save_button'])) { ?> <input name="save" class="button-primary" type="submit" value="<?php _e('Save changes', 'woocommerce'); ?> " /> <?php } ?> <input type="hidden" name="subtab" id="last_tab" /> </p> </form> <script type="text/javascript"> jQuery(window).load(function(){ // Countries jQuery('select#woocommerce_allowed_countries').change(function(){ if (jQuery(this).val()=="specific") { jQuery(this).parent().parent().next('tr').show(); } else { jQuery(this).parent().parent().next('tr').hide(); } }).change(); // Color picker jQuery('.colorpick').each(function(){ jQuery('.colorpickdiv', jQuery(this).parent()).farbtastic(this); jQuery(this).click(function() { if ( jQuery(this).val() == "" ) jQuery(this).val('#'); jQuery('.colorpickdiv', jQuery(this).parent() ).show(); }); }); jQuery(document).mousedown(function(){ jQuery('.colorpickdiv').hide(); }); // Edit prompt jQuery(function(){ var changed = false; jQuery('input, textarea, select, checkbox').change(function(){ changed = true; }); jQuery('.woo-nav-tab-wrapper a').click(function(){ if (changed) { window.onbeforeunload = function() { return '<?php echo __('The changes you made will be lost if you navigate away from this page.', 'woocommerce'); ?> '; } } else { window.onbeforeunload = ''; } }); jQuery('.submit input').click(function(){ window.onbeforeunload = ''; }); }); // Sorting jQuery('table.wc_gateways tbody, table.wc_shipping tbody').sortable({ items:'tr', cursor:'move', axis:'y', handle: 'td', scrollSensitivity:40, helper:function(e,ui){ ui.children().each(function(){ jQuery(this).width(jQuery(this).width()); }); ui.css('left', '0'); return ui; }, start:function(event,ui){ ui.item.css('background-color','#f6f6f6'); }, stop:function(event,ui){ ui.item.removeAttr('style'); } }); // Chosen selects jQuery("select.chosen_select").chosen(); jQuery("select.chosen_select_nostd").chosen({ allow_single_deselect: 'true' }); }); </script> </div> <?php }