/** * Checks if selected page for product listing is being displayed * * @return boolean */ function is_custom_product_listing_page() { $listing_id = get_product_listing_id(); if (!empty($listing_id) && is_ic_product_listing_enabled() && is_page($listing_id)) { return true; } return false; }
/** * Checks if current page is main product listing * * @return boolean */ function is_ic_product_listing() { $listing_id = get_product_listing_id(); if (is_post_type_archive(product_post_type_array()) || is_home_archive() || is_ic_product_listing_enabled() && is_page($listing_id)) { return true; } return false; }
/** * Redirects the product listing page to archive page on non permalink configuration * */ function redirect_listing_on_non_permalink() { if (!is_ic_permalink_product_catalog()) { $product_listing_id = get_product_listing_id(); if (is_ic_product_listing_enabled() && is_page($product_listing_id)) { $url = product_listing_url(); wp_redirect($url, 301); exit; } } }
/** * Registers products post type * @global type $wp_version */ function create_product() { global $wp_version; $slug = get_product_slug(); if (is_ic_product_listing_enabled() && get_integration_type() != 'simple') { $product_listing_t = $slug; } else { $product_listing_t = false; } $names = get_catalog_names(); $query_var = get_product_query_var(); if (is_plural_form_active()) { $labels = array('name' => $names['plural'], 'singular_name' => $names['singular'], 'add_new' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'add_new_item' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'edit_item' => sprintf(__('Edit %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'new_item' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'view_item' => sprintf(__('View %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'search_items' => sprintf(__('Search %s', 'al-ecommerce-product-catalog'), ucfirst($names['plural'])), 'not_found' => sprintf(__('No %s found', 'al-ecommerce-product-catalog'), $names['plural']), 'not_found_in_trash' => sprintf(__('No %s found in trash', 'al-ecommerce-product-catalog'), $names['plural'])); } else { $labels = array('name' => $names['plural'], 'singular_name' => $names['singular'], 'add_new' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'add_new_item' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'edit_item' => sprintf(__('Edit %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'new_item' => sprintf(__('Add New %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'view_item' => sprintf(__('View %s', 'al-ecommerce-product-catalog'), ucfirst($names['singular'])), 'search_items' => sprintf(__('Search %s', 'al-ecommerce-product-catalog'), ucfirst($names['plural'])), 'not_found' => __('Nothing found', 'al-ecommerce-product-catalog'), 'not_found_in_trash' => __('Nothing found in trash', 'al-ecommerce-product-catalog')); } if ($wp_version < 3.8) { $reg_settings = array('labels' => $labels, 'public' => true, 'has_archive' => $product_listing_t, 'rewrite' => array('slug' => apply_filters('product_slug_value_register', $slug), 'with_front' => false), 'query_var' => $query_var, 'supports' => array('title', 'thumbnail'), 'register_meta_box_cb' => 'add_product_metaboxes', 'taxonomies' => array('al_product_cat'), 'menu_icon' => plugins_url() . '/ecommerce-product-catalog/img/product.png', 'capability_type' => 'product', 'capabilities' => array('publish_posts' => 'publish_products', 'edit_posts' => 'edit_products', 'edit_others_posts' => 'edit_others_products', 'edit_published_posts' => 'edit_published_products', 'edit_private_posts' => 'edit_private_products', 'delete_posts' => 'delete_products', 'delete_others_posts' => 'delete_others_products', 'delete_private_posts' => 'delete_private_products', 'delete_published_posts' => 'delete_published_products', 'read_private_posts' => 'read_private_products', 'edit_post' => 'edit_product', 'delete_post' => 'delete_product', 'read_post' => 'read_product'), 'exclude_from_search' => false); } else { $reg_settings = array('labels' => $labels, 'public' => true, 'has_archive' => $product_listing_t, 'rewrite' => array('slug' => apply_filters('product_slug_value_register', $slug), 'with_front' => false), 'query_var' => $query_var, 'supports' => array('title', 'thumbnail'), 'register_meta_box_cb' => 'add_product_metaboxes', 'taxonomies' => array('al_product-cat'), 'capability_type' => 'product', 'capabilities' => array('publish_posts' => 'publish_products', 'edit_posts' => 'edit_products', 'edit_others_posts' => 'edit_others_products', 'edit_published_posts' => 'edit_published_products', 'edit_private_posts' => 'edit_private_products', 'delete_posts' => 'delete_products', 'delete_others_posts' => 'delete_others_products', 'delete_private_posts' => 'delete_private_products', 'delete_published_posts' => 'delete_published_products', 'read_private_posts' => 'read_private_products', 'edit_post' => 'edit_product', 'delete_post' => 'delete_product', 'read_post' => 'read_product'), 'exclude_from_search' => false); } register_post_type('al_product', $reg_settings); }
function add_back_to_products_url($post, $single_names, $taxonomies) { if (is_ic_product_listing_enabled()) { ?> <a href="<?php echo product_listing_url(); ?> "><?php echo $single_names['return_to_archive']; ?> </a> <?php } }
/** * Shows product listing in simple mode if no shortcode exists. * * @param string $content * @return string */ function show_simple_product_listing($content) { if (is_main_query() && in_the_loop() && get_integration_type() == 'simple' && is_ic_product_listing() && is_ic_product_listing_enabled()) { if (!has_shortcode($content, 'show_products')) { $archive_multiple_settings = get_multiple_settings(); $content .= do_shortcode('[show_products products_limit="' . $archive_multiple_settings['archive_products_limit'] . '"]'); } } return $content; }
/** * Returns back to products URL * * @param array $v_single_names * @return string */ function get_back_to_products_url($v_single_names = null) { if (is_ic_product_listing_enabled()) { $single_names = isset($v_single_names) ? $v_single_names : get_single_names(); $listing_url = product_listing_url(); if (!empty($listing_url)) { $url = '<a class="back-to-products" href="' . product_listing_url() . '">' . $single_names['return_to_archive'] . '</a>'; return $url; } } return; }