Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * WPB WooCommerce Related Products Slider PRO
- * By WPbean
- */
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
- /**
- * Related Product Function
- */
- if( !function_exists('wpb_wrps_related_products') ){
- function wpb_wrps_related_products(){
- global $post,$product;
- if ( empty( $product ) || ! $product->exists() ) {
- return;
- }
- $related = $product->get_related( wpb_wrps_get_option( 'wpb_wrps_number_of_products', 'wpb_wrps_general', 100 ) );
- if ( $related ) {
- $args = apply_filters( 'wpb_wrps_related_products_args', array(
- 'post__not_in' => array( $product->id ),
- 'post__in' => $related,
- 'posts_per_page' => -1,
- 'post_type' => 'product',
- 'orderby' => 'rand',
- 'order' => 'DESC',
- 'ignore_sticky_posts' => 1,
- 'no_found_rows' => 1,
- ) );
- $wp_query = new WP_Query( $args );
- ?>
- <?php if ($wp_query->have_posts()):?>
- <div class="wrps_related_products_area">
- <h2 class="wrps_related_products_area_title"><span><?php echo( apply_filters( 'wpb_wrps_title', wpb_wrps_get_option( 'wpb_wrps_slider_title', 'wpb_wrps_general', __( 'Related Products','wpb-wrps' ) ) ) ); ?></span></h2>
- <div class="wrps_related_products <?php echo wpb_wrps_get_option( 'wpb_wrps_theme', 'wpb_wrps_general', 'wrps_theme_hover' ) ?>">
- <?php while ($wp_query->have_posts()) : $wp_query->the_post();?>
- <?php
- global $post,$product;
- $price_html = $product->get_price_html();
- ?>
- <div class="wpb-wrps-item <?php echo implode( get_post_class()," " ) ?>">
- <?php
- if ( $product->is_on_sale() ) {
- echo apply_filters( 'woocommerce_sale_flash', '<span class="wpb_wrps_onsale">' . __( 'Sale!', 'wpb-wrps' ) . '</span>', $post, $product );
- }
- ?>
- <figure>
- <a href="<?php the_permalink(); ?>" class="wpb_wrps_img_url"><?php echo woocommerce_get_product_thumbnail(); ?></a>
- <figcaption>
- <?php echo ( $price_html ? '<div class="wpb_wrps_price">'.$price_html.'</div>' : '' ); ?>
- </figcaption>
- </figure>
- <div class="product-caption">
- <h3 class="wpb_wrps_title">
- <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
- </h3>
- <div class="wpb_wrps_cart_btn">
- <?php woocommerce_template_loop_add_to_cart(); ?>
- </div>
- </div>
- </div>
- <?php endwhile; ?>
- </div><!-- wrps_related_products_area -->
- </div>
- <script>
- jQuery(".wrps_related_products").owlCarousel({
- items : <?php echo wpb_wrps_get_option( 'wpb_wrps_number_of_columns', 'wpb_wrps_general', 3 ) ?>,
- itemsDesktop : [1199,<?php echo wpb_wrps_get_option( 'wpb_wrps_number_of_columns_desktop', 'wpb_wrps_slider', 3 ) ?>],
- itemsDesktopSmall : [980,<?php echo wpb_wrps_get_option( 'wpb_wrps_number_of_columns_desktop_small', 'wpb_wrps_slider', 3 ) ?>],
- itemsTablet: [768,<?php echo wpb_wrps_get_option( 'wpb_wrps_number_of_columns_tablet', 'wpb_wrps_slider', 2 ) ?>],
- itemsMobile : [479,<?php echo wpb_wrps_get_option( 'wpb_wrps_number_of_columns_mobile', 'wpb_wrps_slider', 1 ) ?>],
- //Autoplay
- autoPlay : <?php echo ( wpb_wrps_get_option( 'wpb_wrps_autoplay', 'wpb_wrps_slider', 'off' ) == 'on' ? wpb_wrps_get_option( 'wpb_wrps_autoplay_speed', 'wpb_wrps_slider', 3000 ) : 'false' );?>,
- stopOnHover : false,
- // Navigation
- navigation : <?php echo ( wpb_wrps_get_option( 'wpb_wrps_navigation', 'wpb_wrps_slider', 'on' ) == 'on' ? 'true' : 'false' );?>,
- navigationText : ['<i class="wpb-icon-angle-left"></i>','<i class="wpb-icon-angle-right"></i>'],
- rewindNav : true,
- scrollPerPage : false,
- //Pagination
- pagination : <?php echo ( wpb_wrps_get_option( 'wpb_wrps_pagination', 'wpb_wrps_slider', 'on' ) == 'on' ? 'true' : 'false' );?>,
- paginationNumbers: false,
- //Basic Speeds
- slideSpeed : 500,
- paginationSpeed : 800,
- rewindSpeed : 1000,
- // RTL Direction
- <?php
- if( is_rtl() ){
- echo "direction:'rtl',";
- }
- ?>
- });
- </script>
- <?php
- endif;
- wp_reset_postdata();
- }
- }
- }
- /**
- * Add plugin action links
- */
- function wpb_wrps_plugin_actions_links( $links ) {
- if( is_admin() ){
- $links[] = '<a href="http://wpbean.com/support/" target="_blank">'. __('Support','wpb-wrps') .'</a>';
- }
- return $links;
- }
- add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'wpb_wrps_plugin_actions_links' );
- /**
- * Getting ready the plugin settings
- */
- if( !function_exists('wpb_wrps_get_option') ){
- function wpb_wrps_get_option( $option, $section, $default = '' ) {
- $options = get_option( $section );
- if ( isset( $options[$option] ) ) {
- return $options[$option];
- }
- return $default;
- }
- }
- /**
- * Setup Product specefic relative products
- */
- if( !function_exists('wpb_wrps_filter_related_products') ){
- function wpb_wrps_filter_related_products($args) {
- global $post;
- $related = get_post_meta( $post->ID, '_wpb_wrps_related_ids', true );
- $disable_slider = get_post_meta( $post->ID, '_wpb_wrps_disable_relative_products_slider', true );
- if ( $disable_slider && $disable_slider == 'yes' ) { // Disable relative product slider
- $args['post__in'] = array(0);
- }elseif ( $related && !empty( $related ) ) { // Set Product specefic relative product custom slider
- $args['post__in'] = $related;
- }
- return $args;
- }
- }
- add_filter( 'wpb_wrps_related_products_args', 'wpb_wrps_filter_related_products' );
- /**
- * Setup custom styling
- */
- if( !function_exists('wpb_wrps_custom_styles') ){
- function wpb_wrps_custom_styles() {
- wp_enqueue_style( 'wpb-wrps-custom-style', plugins_url('../assets/css/custom.css', __FILE__), '','1.0', false );
- $custom_css = '';
- $navigation_color = wpb_wrps_get_option( 'wpb_wrps_navigation_color','wpb_wrps_style' );
- $pagination_color = wpb_wrps_get_option( 'wpb_wrps_pagination_color','wpb_wrps_style' );
- $primary_color_hover = wpb_wrps_get_option( 'wpb_wrps_primary_color_hover','wpb_wrps_style' );
- $secondary_color_hover = wpb_wrps_get_option( 'wpb_wrps_secondary_color_hover','wpb_wrps_style' );
- $primary_color_box = wpb_wrps_get_option( 'wpb_wrps_primary_color_box','wpb_wrps_style' );
- $secondary_color_box = wpb_wrps_get_option( 'wpb_wrps_secondary_color_box','wpb_wrps_style' );
- $on_sell_bg = wpb_wrps_get_option( 'wpb_wrps_on_sell_bg','wpb_wrps_style' );
- if( $navigation_color ){
- $custom_css .= ".wrps_related_products_area .owl-theme .owl-controls .owl-buttons div { border-color: {$navigation_color}; }";
- $custom_css .= ".wrps_related_products_area .owl-theme .owl-controls .owl-buttons i { color: {$navigation_color}; }";
- }
- if ( $pagination_color ) {
- $custom_css .= ".wrps_related_products_area .owl-theme .owl-controls .owl-page span { background-color: {$pagination_color}; }";
- }
- if ( $primary_color_hover ) {
- $custom_css .= ".wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.button, .wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.added_to_cart { color: {$primary_color_hover}; border-color: {$primary_color_hover}; }";
- $custom_css .= ".wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.button:hover, .wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.added_to_cart:hover { background-color: {$primary_color_hover}; }";
- $custom_css .= ".wrps_related_products.wrps_theme_hover .wpb_wrps_title a, .wrps_related_products.wrps_theme_hover .wpb_wrps_title a:hover, .wrps_related_products.wrps_theme_hover .wpb_wrps_price, .wrps_related_products.wrps_theme_hover .wpb_wrps_price del { color: {$primary_color_hover}; }";
- }
- if ( $secondary_color_hover ) {
- $custom_css .= ".wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.button:hover, .wrps_related_products.wrps_theme_hover .wpb_wrps_cart_btn a.added_to_cart:hover { color: {$secondary_color_hover};}";
- }
- if ( $primary_color_box ) {
- $custom_css .= ".wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.button, .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.added_to_cart { background-color: {$primary_color_box}; border-color: {$primary_color_box};}";
- $custom_css .= ".wrps_related_products.wrps_theme_box .wpb_wrps_title a, .wrps_related_products.wrps_theme_box .wpb_wrps_price .amount, .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.button:hover, .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.added_to_cart:hover { color: {$primary_color_box};}";
- }
- if ( $secondary_color_box ) {
- $custom_css .= ".wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.button, .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.added_to_cart { color: {$secondary_color_box};}";
- $custom_css .= " .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.button:hover, .wrps_related_products.wrps_theme_box .wpb_wrps_cart_btn a.added_to_cart:hover { background-color: {$secondary_color_box};}";
- }
- if ( $on_sell_bg ) {
- $custom_css .= ".wpb_wrps_onsale { background-color: {$on_sell_bg}; }";
- }
- if( $custom_css ){
- wp_add_inline_style( 'wpb-wrps-custom-style', $custom_css );
- }
- }
- }
- add_action( 'wp_enqueue_scripts', 'wpb_wrps_custom_styles', 20 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement