269 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Add compatibility for some popular third party plugins.
 | 
						|
 *
 | 
						|
 * @package GeneratePress
 | 
						|
 */
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // Exit if accessed directly.
 | 
						|
}
 | 
						|
 | 
						|
add_action( 'after_setup_theme', 'generate_setup_woocommerce' );
 | 
						|
/**
 | 
						|
 * Set up WooCommerce
 | 
						|
 *
 | 
						|
 * @since 1.3.47
 | 
						|
 */
 | 
						|
function generate_setup_woocommerce() {
 | 
						|
	if ( ! class_exists( 'WooCommerce' ) ) {
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	// Add support for WC features.
 | 
						|
	add_theme_support( 'wc-product-gallery-zoom' );
 | 
						|
	add_theme_support( 'wc-product-gallery-lightbox' );
 | 
						|
	add_theme_support( 'wc-product-gallery-slider' );
 | 
						|
 | 
						|
	// Remove default WooCommerce wrappers.
 | 
						|
	remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
 | 
						|
	remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
 | 
						|
	remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
 | 
						|
	add_action( 'woocommerce_sidebar', 'generate_construct_sidebars' );
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_woocommerce_start' ) ) {
 | 
						|
	add_action( 'woocommerce_before_main_content', 'generate_woocommerce_start', 10 );
 | 
						|
	/**
 | 
						|
	 * Add WooCommerce starting wrappers
 | 
						|
	 *
 | 
						|
	 * @since 1.3.22
 | 
						|
	 */
 | 
						|
	function generate_woocommerce_start() {
 | 
						|
		?>
 | 
						|
		<div id="primary" <?php generate_do_element_classes( 'content' );?>>
 | 
						|
			<main id="main" <?php generate_do_element_classes( 'main' ); ?>>
 | 
						|
				<?php
 | 
						|
				/**
 | 
						|
				 * generate_before_main_content hook.
 | 
						|
				 *
 | 
						|
				 * @since 0.1
 | 
						|
				 */
 | 
						|
				do_action( 'generate_before_main_content' );
 | 
						|
				?>
 | 
						|
				<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_do_microdata( 'article' ); ?>>
 | 
						|
					<div class="inside-article">
 | 
						|
						<?php
 | 
						|
						/**
 | 
						|
						 * generate_before_content hook.
 | 
						|
						 *
 | 
						|
						 * @since 0.1
 | 
						|
						 *
 | 
						|
						 * @hooked generate_featured_page_header_inside_single - 10
 | 
						|
						 */
 | 
						|
						do_action( 'generate_before_content' );
 | 
						|
						?>
 | 
						|
						<div class="entry-content" itemprop="text">
 | 
						|
	<?php
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_woocommerce_end' ) ) {
 | 
						|
	add_action( 'woocommerce_after_main_content', 'generate_woocommerce_end', 10 );
 | 
						|
	/**
 | 
						|
	 * Add WooCommerce ending wrappers
 | 
						|
	 *
 | 
						|
	 * @since 1.3.22
 | 
						|
	 */
 | 
						|
	function generate_woocommerce_end() {
 | 
						|
		?>
 | 
						|
						</div><!-- .entry-content -->
 | 
						|
						<?php
 | 
						|
						/**
 | 
						|
						 * generate_after_content hook.
 | 
						|
						 *
 | 
						|
						 * @since 0.1
 | 
						|
						 */
 | 
						|
						do_action( 'generate_after_content' );
 | 
						|
						?>
 | 
						|
					</div><!-- .inside-article -->
 | 
						|
				</article><!-- #post-## -->
 | 
						|
				<?php
 | 
						|
				/**
 | 
						|
				 * generate_after_main_content hook.
 | 
						|
				 *
 | 
						|
				 * @since 0.1
 | 
						|
				 */
 | 
						|
				do_action( 'generate_after_main_content' );
 | 
						|
				?>
 | 
						|
			</main><!-- #main -->
 | 
						|
		</div><!-- #primary -->
 | 
						|
	<?php
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_woocommerce_css' ) ) {
 | 
						|
	add_action( 'wp_enqueue_scripts', 'generate_woocommerce_css', 100 );
 | 
						|
	/**
 | 
						|
	 * Add WooCommerce CSS
 | 
						|
	 *
 | 
						|
	 * @since 1.3.45
 | 
						|
	 */
 | 
						|
	function generate_woocommerce_css() {
 | 
						|
		if ( ! class_exists( 'WooCommerce' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		$mobile = generate_get_media_query( 'mobile' );
 | 
						|
 | 
						|
		$css = '.woocommerce .page-header-image-single {
 | 
						|
			display: none;
 | 
						|
		}
 | 
						|
 | 
						|
		.woocommerce .entry-content,
 | 
						|
		.woocommerce .product .entry-summary {
 | 
						|
			margin-top: 0;
 | 
						|
		}
 | 
						|
 | 
						|
		.related.products {
 | 
						|
			clear: both;
 | 
						|
		}
 | 
						|
 | 
						|
		.checkout-subscribe-prompt.clear {
 | 
						|
			visibility: visible;
 | 
						|
			height: initial;
 | 
						|
			width: initial;
 | 
						|
		}
 | 
						|
 | 
						|
		@media ' . esc_attr( $mobile ) . ' {
 | 
						|
			.woocommerce .woocommerce-ordering,
 | 
						|
			.woocommerce-page .woocommerce-ordering {
 | 
						|
				float: none;
 | 
						|
			}
 | 
						|
 | 
						|
			.woocommerce .woocommerce-ordering select {
 | 
						|
				max-width: 100%;
 | 
						|
			}
 | 
						|
 | 
						|
			.woocommerce ul.products li.product,
 | 
						|
			.woocommerce-page ul.products li.product,
 | 
						|
			.woocommerce-page[class*=columns-] ul.products li.product,
 | 
						|
			.woocommerce[class*=columns-] ul.products li.product {
 | 
						|
				width: 100%;
 | 
						|
				float: none;
 | 
						|
			}
 | 
						|
		}';
 | 
						|
 | 
						|
		$css = str_replace( array( "\r", "\n", "\t" ), '', $css );
 | 
						|
		wp_add_inline_style( 'woocommerce-general', $css );
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_bbpress_css' ) ) {
 | 
						|
	add_action( 'wp_enqueue_scripts', 'generate_bbpress_css', 100 );
 | 
						|
	/**
 | 
						|
	 * Add bbPress CSS
 | 
						|
	 *
 | 
						|
	 * @since 1.3.45
 | 
						|
	 */
 | 
						|
	function generate_bbpress_css() {
 | 
						|
		if ( ! class_exists( 'bbPress' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		$css = '#bbpress-forums ul.bbp-lead-topic,
 | 
						|
		#bbpress-forums ul.bbp-topics,
 | 
						|
		#bbpress-forums ul.bbp-forums,
 | 
						|
		#bbpress-forums ul.bbp-replies,
 | 
						|
		#bbpress-forums ul.bbp-search-results,
 | 
						|
		#bbpress-forums,
 | 
						|
		div.bbp-breadcrumb,
 | 
						|
		div.bbp-topic-tags {
 | 
						|
			font-size: inherit;
 | 
						|
		}
 | 
						|
 | 
						|
		.single-forum #subscription-toggle {
 | 
						|
			display: block;
 | 
						|
			margin: 1em 0;
 | 
						|
			clear: left;
 | 
						|
		}
 | 
						|
 | 
						|
		#bbpress-forums .bbp-search-form {
 | 
						|
			margin-bottom: 10px;
 | 
						|
		}
 | 
						|
 | 
						|
		.bbp-login-form fieldset {
 | 
						|
			border: 0;
 | 
						|
			padding: 0;
 | 
						|
		}';
 | 
						|
 | 
						|
		$css = str_replace( array( "\r", "\n", "\t" ), '', $css );
 | 
						|
		wp_add_inline_style( 'bbp-default', $css );
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_buddypress_css' ) ) {
 | 
						|
	add_action( 'wp_enqueue_scripts', 'generate_buddypress_css', 100 );
 | 
						|
	/**
 | 
						|
	 * Add BuddyPress CSS
 | 
						|
	 *
 | 
						|
	 * @since 1.3.45
 | 
						|
	 */
 | 
						|
	function generate_buddypress_css() {
 | 
						|
		if ( ! class_exists( 'BuddyPress' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		$css = '#buddypress form#whats-new-form #whats-new-options[style] {
 | 
						|
			min-height: 6rem;
 | 
						|
			overflow: visible;
 | 
						|
		}';
 | 
						|
 | 
						|
		$css = str_replace( array( "\r", "\n", "\t" ), '', $css );
 | 
						|
		wp_add_inline_style( 'bp-legacy-css', $css );
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_beaver_builder_css' ) ) {
 | 
						|
	add_action( 'wp_enqueue_scripts', 'generate_beaver_builder_css', 100 );
 | 
						|
	/**
 | 
						|
	 * Add Beaver Builder CSS
 | 
						|
	 *
 | 
						|
	 * Beaver Builder pages set to no sidebar used to automatically be full width, however
 | 
						|
	 * now that we have the Page Builder Container meta box, we want to give the user
 | 
						|
	 * the option to set the page to full width or contained.
 | 
						|
	 *
 | 
						|
	 * We can't remove this CSS as people who are depending on it will lose their full
 | 
						|
	 * width layout when they update.
 | 
						|
	 *
 | 
						|
	 * So instead, we only apply this CSS to posts older than the date of this update.
 | 
						|
	 *
 | 
						|
	 * @since 1.3.45
 | 
						|
	 */
 | 
						|
	function generate_beaver_builder_css() {
 | 
						|
		// Check is Beaver Builder is active
 | 
						|
		// If we have the full-width-content class, we don't need to do anything else
 | 
						|
		if ( in_array( 'fl-builder', get_body_class() ) && ! in_array( 'full-width-content', get_body_class() ) && ! in_array( 'contained-content', get_body_class() ) ) {
 | 
						|
			global $post;
 | 
						|
 | 
						|
			if ( ! isset( $post ) ) {
 | 
						|
				return;
 | 
						|
			}
 | 
						|
 | 
						|
			$compare_date = strtotime( '2017-03-14' );
 | 
						|
			$post_date    = strtotime( $post->post_date );
 | 
						|
			if ( $post_date < $compare_date ) {
 | 
						|
				$css = '.fl-builder.no-sidebar .container.grid-container {
 | 
						|
					max-width: 100%;
 | 
						|
				}
 | 
						|
 | 
						|
				.fl-builder.one-container.no-sidebar .site-content {
 | 
						|
					padding:0;
 | 
						|
				}';
 | 
						|
				$css = str_replace( array( "\r", "\n", "\t" ), '', $css );
 | 
						|
				wp_add_inline_style( 'generate-style', $css );
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |