'cyberchimps_recently_viewed_section', 'label' => __( 'Top Rated', 'agri-lite' ), 'heading' => 'cyberchimps_blog_heading' ); return $sections_list; } add_filter( 'cyberchimps_sections_filter', 'cyberchimps_add_recently_viewed_sections' ); function cyberchimps_new_sections( $options ){ $options['recently_viewed'] = __( 'Top Rated', 'agri-lite' ); return $options; } add_filter('cyberchimps_elements_draganddrop_page_options','cyberchimps_new_sections'); add_filter('cyberchimps_elements_draganddrop_options','cyberchimps_new_sections'); function cyberchimps_recently_viewed_fields( $fields_list ){ /********* FEATURED AREA OPTIONS STARTS ***********/ $fields_list[] = array( 'name' => __( 'Woocommerce Top Rated Title', 'agri-lite' ), 'id' => 'recently_viewed_title', 'std' => __( 'Top Rated', 'agri-lite' ), 'type' => 'text', 'section' => 'cyberchimps_recently_viewed_section', 'heading' => 'cyberchimps_blog_heading' ); $fields_list[] = array( 'name' => __( 'Woocommerce Top Rated Text', 'agri-lite' ), 'id' => 'recently_viewed_text', 'std' => '', 'type' => 'editor', 'section' => 'cyberchimps_recently_viewed_section', 'heading' => 'cyberchimps_blog_heading' ); $fields_list[] = array( 'name' => __( 'Woocommerce number of products to show', 'agri-lite' ), 'id' => 'recently_viewed_no_of_products', 'std' => 4, 'type' => 'text', 'section' => 'cyberchimps_recently_viewed_section', 'heading' => 'cyberchimps_blog_heading' ); $fields_list[] = array( 'name' => __( 'Woocommerce Products per row', 'agri-lite' ), 'id' => 'recently_viewed_products_per_row', 'type' => 'select', 'options' => array( 2 => '2', 3 => '3', 4 => '4' ), 'std' => apply_filters( 'cyberchimps_recently_viewed_products_per_row', 4 ), 'section' => 'cyberchimps_recently_viewed_section', 'heading' => 'cyberchimps_blog_heading' ); /*********** FEATURED AREA OPTIONS ENDS **************/ return $fields_list; } add_filter( 'cyberchimps_field_list', 'cyberchimps_recently_viewed_fields' ,'20', '1' ); if( !class_exists( 'CyberChimpsRecentlyViewed' ) ) { class CyberChimpsRecentlyViewed { protected static $instance; public $options; /* Static Singleton Factory Method */ public static function instance() { if( !isset( self::$instance ) ) { $className = __CLASS__; self::$instance = new $className; } return self::$instance; } /** * Initializes plugin variables and sets up WordPress hooks/actions. * * @return void */ protected function __construct() { add_action( 'recently_viewed', array( $this, 'render_display' ) ); add_action( 'init', array( $this, 'meta_products' ) ); $this->options = get_option( 'cyberchimps_options' ); } public function render_display() { // Declare global variable. global $post; // Get all recently_viewed options. if( is_page() ) { $recently_viewed_title = ( get_post_meta( $post->ID, 'recently_viewed_title', true ) ) ? get_post_meta( $post->ID, 'recently_viewed_title', true ) : ''; $recently_viewed_text = ( get_post_meta( $post->ID, 'recently_viewed_text', true ) ) ? get_post_meta( $post->ID, 'recently_viewed_text', true ) : ''; $products_per_row = ( get_post_meta( $post->ID, 'recently_viewed_products_per_row', true ) ) ? get_post_meta( $post->ID, 'recently_viewed_products_per_row', true ) : ''; $no_of_products = ( get_post_meta( $post->ID, 'recently_viewed_no_of_products', true ) ) ? get_post_meta( $post->ID, 'recently_viewed_no_of_products', true ) : ''; } else { $recently_viewed_title = $this->options['recently_viewed_title']; $recently_viewed_text = $this->options['recently_viewed_text']; $products_per_row = $this->options['recently_viewed_products_per_row']; $no_of_products = $this->options['recently_viewed_no_of_products']; } // Decide span width of products according to number of products per row. if( $products_per_row == 2 ) { $products_span = 'col-md-6 col-sm-6 col-xs-12'; } else { if( $products_per_row == 3 ) { $products_span = 'col-md-4 col-sm-4 col-xs-12'; } } if( $products_per_row == 4 ) { $products_span = 'col-md-3 col-sm-3 col-xs-12'; } add_filter( 'posts_clauses', array( WC()->query, 'order_by_rating_post_clauses' ) ); $query_args = array( 'posts_per_page' => $no_of_products, 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product' ); $query_args['meta_query'] = WC()->query->get_meta_query(); $product_counter = 1; $r = new WP_Query( $query_args ); ?>
'text', 'id' => 'recently_viewed_title', 'class' => '', 'name' => __( 'Woocommerce Top Rated Title', 'agri-lite' ), 'std' => __( 'Top Rated', 'agri-lite' ), ), array( 'type' => 'editor', 'id' => 'recently_viewed_text', 'class' => '', 'name' => '', 'std' => '', ), array( 'type' => 'text', 'id' => 'recently_viewed_no_of_products', 'class' => '', 'name' => __( 'Woocommerce number of products to show', 'agri-lite' ), 'std' => 4, ), array( 'type' => 'select', 'options' => array( 2 => '2', 3 => '3', 4 => '4' ), 'id' => 'recently_viewed_products_per_row', 'class' => 'recently_viewed_products_per_row', 'name' => __( 'Number of Products per row', 'agri-lite' ), 'std' => 4 ) ); /* * configure your meta product */ $config = array( 'id' => 'recently_viewed_section_options', // meta product id, unique per meta product 'title' => __( 'Woocommerce Top Rated Options', 'agri-lite' ), // meta product title 'pages' => array( 'page' ), // post types, accept custom post types as well, defadivt is array('post'); optional 'context' => 'normal', // where the meta product appear: normal (defadivt), advanced, side; optional 'priority' => 'high', // order of meta product: high (defadivt), low; optional 'fields' => apply_filters( 'cyberchimps_recently_viewed_metaproduct_fields', $fields, 'recently_viewed' ), // list of meta fields (can be added by field arrays) 'local_images' => false, // Use local or hosted images (meta product images for add/remove) 'use_with_theme' => true //change path if used with theme set to true, false for a plugin or anything else for a custom path(defadivt false). ); /* * Initiate your meta product */ $my_meta = new Cyberchimps_Meta_Box( $config ); } } } } CyberChimpsRecentlyViewed::instance(); ?>