示例#1
0
/**
 * 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;
}
示例#7
0
/**
 * 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;
}