hook in woo commerce
This commit is contained in:
parent
f112fa0d17
commit
355ad5bff4
|
@ -12,95 +12,26 @@ if ( ! function_exists( 'woocommerce_support' ) ) {
|
||||||
*/
|
*/
|
||||||
function woocommerce_support() {
|
function woocommerce_support() {
|
||||||
add_theme_support( 'woocommerce' );
|
add_theme_support( 'woocommerce' );
|
||||||
// hook in and customizer form fields.
|
|
||||||
add_filter( 'woocommerce_form_field_args', 'wc_form_field_args', 10, 3 );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter hook function monkey patching form classes
|
* Remove basic WooCOmmerce hooks.
|
||||||
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
|
*/
|
||||||
*
|
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
|
||||||
* @param string $args Form attributes.
|
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
|
||||||
* @param string $key Not in use.
|
|
||||||
* @param null $value Not in use.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
function wc_form_field_args( $args, $key, $value = null ) {
|
|
||||||
|
|
||||||
// Start field type switch case.
|
|
||||||
switch ( $args['type'] ) {
|
|
||||||
|
|
||||||
/* Targets all select input type elements, except the country and state select input types */
|
/**
|
||||||
case 'select' :
|
* Hook in custom WooCommerce content area.
|
||||||
// Add a class to the field's html element wrapper - woocommerce
|
*/
|
||||||
// input types (fields) are often wrapped within a <p></p> tag.
|
add_action('woocommerce_before_main_content', 'my_theme_wrapper_start', 10);
|
||||||
$args['class'][] = 'form-group';
|
add_action('woocommerce_after_main_content', 'my_theme_wrapper_end', 10);
|
||||||
// Add a class to the form input itself.
|
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
|
||||||
$args['custom_attributes'] = array(
|
|
||||||
'data-plugin' => 'select2',
|
|
||||||
'data-allow-clear' => 'true',
|
|
||||||
'aria-hidden' => 'true',
|
|
||||||
// Add custom data attributes to the form input itself.
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
// By default WooCommerce will populate a select with the country names - $args
|
function my_theme_wrapper_start() {
|
||||||
// defined for this specific input type targets only the country select element.
|
echo '<section id="main">';
|
||||||
case 'country' :
|
}
|
||||||
$args['class'][] = 'form-group single-country';
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
function my_theme_wrapper_end() {
|
||||||
break;
|
echo '</section>';
|
||||||
|
|
||||||
// By default WooCommerce will populate a select with state names - $args defined
|
|
||||||
// for this specific input type targets only the country select element.
|
|
||||||
case 'state' :
|
|
||||||
// Add class to the field's html element wrapper.
|
|
||||||
$args['class'][] = 'form-group';
|
|
||||||
// add class to the form input itself.
|
|
||||||
$args['input_class'] = array( '', 'input-lg' );
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
|
||||||
$args['custom_attributes'] = array(
|
|
||||||
'data-plugin' => 'select2',
|
|
||||||
'data-allow-clear' => 'true',
|
|
||||||
'aria-hidden' => 'true',
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'password' :
|
|
||||||
case 'text' :
|
|
||||||
case 'email' :
|
|
||||||
case 'tel' :
|
|
||||||
case 'number' :
|
|
||||||
$args['class'][] = 'form-group';
|
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'textarea' :
|
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'checkbox' :
|
|
||||||
$args['label_class'] = array( 'custom-control custom-checkbox' );
|
|
||||||
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'radio' :
|
|
||||||
$args['label_class'] = array( 'custom-control custom-radio' );
|
|
||||||
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default :
|
|
||||||
$args['class'][] = 'form-group';
|
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
|
||||||
$args['label_class'] = array( 'control-label' );
|
|
||||||
break;
|
|
||||||
} // end switch ($args).
|
|
||||||
|
|
||||||
return $args;
|
|
||||||
}
|
}
|
|
@ -1,72 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* The template for displaying all woocommerce pages.
|
|
||||||
*
|
|
||||||
* This is the template that displays all pages by default.
|
|
||||||
* Please note that this is the WordPress construct of pages
|
|
||||||
* and that other 'pages' on your WordPress site will use a
|
|
||||||
* different template.
|
|
||||||
*
|
|
||||||
* @package understrap
|
|
||||||
*/
|
|
||||||
|
|
||||||
get_header();
|
|
||||||
|
|
||||||
$container = get_theme_mod( 'understrap_container_type' );
|
|
||||||
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
|
||||||
// On WooCommerce pages there is no need for sidebars as they leave
|
|
||||||
// too little space for WooCommerce itself. We check if WooCommerce
|
|
||||||
// is active and the current page is a WooCommerce page and we do
|
|
||||||
// not render sidebars.
|
|
||||||
$is_woocommerce = false;
|
|
||||||
$this_page_id = get_queried_object_id();
|
|
||||||
if ( class_exists( 'WooCommerce' ) ) {
|
|
||||||
|
|
||||||
if ( is_woocommerce() || is_shop() || get_option( 'woocommerce_shop_page_id' ) === $this_page_id ||
|
|
||||||
get_option( 'woocommerce_cart_page_id' ) == $this_page_id || get_option( 'woocommerce_checkout_page_id' ) == $this_page_id ||
|
|
||||||
get_option( 'woocommerce_pay_page_id' ) == $this_page_id || get_option( 'woocommerce_thanks_page_id' ) === $this_page_id ||
|
|
||||||
get_option( 'woocommerce_myaccount_page_id' ) == $this_page_id || get_option( 'woocommerce_edit_address_page_id' ) == $this_page_id ||
|
|
||||||
get_option( 'woocommerce_view_order_page_id' ) == $this_page_id || get_option( 'woocommerce_terms_page_id' ) == $this_page_id
|
|
||||||
) {
|
|
||||||
|
|
||||||
$is_woocommerce = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div class="wrapper" id="woocomerce-wrapper">
|
|
||||||
|
|
||||||
<div class="<?php echo esc_html( $container ); ?>" id="content" tabindex="-1">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<!-- Do the left sidebar check -->
|
|
||||||
<?php get_template_part( 'global-templates/left-sidebar-check', 'none' ); ?>
|
|
||||||
|
|
||||||
<main class="site-main" id="main">
|
|
||||||
|
|
||||||
<?php while ( have_posts() ) : the_post(); ?>
|
|
||||||
|
|
||||||
<?php woocommerce_content(); ?>
|
|
||||||
|
|
||||||
<?php endwhile; // end of the loop. ?>
|
|
||||||
|
|
||||||
</main><!-- #main -->
|
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
|
||||||
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
|
|
||||||
|
|
||||||
<?php if ( ! $is_woocommerce ) : get_sidebar( 'right' ); ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
</div><!-- .row -->
|
|
||||||
|
|
||||||
</div><!-- Container end -->
|
|
||||||
|
|
||||||
</div><!-- Wrapper end -->
|
|
||||||
|
|
||||||
<?php get_footer(); ?>
|
|
Reference in New Issue