Beispiel #1
0
/**
 * Manages product conditional functions
 *
 * Here all plugin conditional functions are defined and managed.
 *
 * @version		1.0.0
 * @package		ecommerce-product-catalog/functions
 * @author 		Norbert Dreszer
 */
function is_ic_catalog_page()
{
    if (is_ic_product_page() || is_ic_product_listing() || is_ic_taxonomy_page() || is_ic_product_search()) {
        return true;
    }
    return false;
}
 function widget($args, $instance)
 {
     if (is_ic_product_page()) {
         $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
         $related = get_related_products();
         if (!empty($related)) {
             echo $args['before_widget'];
             if ($title) {
                 echo $args['before_title'] . $title . $args['after_title'];
             }
             // Use current theme search form if it exists
             echo $related;
             echo $args['after_widget'];
         }
     }
 }
function product_page_content($content)
{
    if (is_main_query() && in_the_loop() && is_ic_product_page() && get_integration_type() == 'simple') {
        ob_start();
        content_product_adder();
        $content = ob_get_contents();
        ob_end_clean();
    }
    return $content;
}
Beispiel #4
0
/**
 * Adds products post type navigation class for automatic main menu
 *
 * @global type $post
 * @param string $classes
 * @param type $page
 * @return string
 */
function product_listing_page_nav_class($classes, $page)
{
    global $post;
    if (isset($post->ID) && is_ic_product_listing()) {
        if ($page->ID == get_product_listing_id()) {
            $current_post_type = get_post_type_object(get_post_type($post->ID));
            $current_post_type_slug = $current_post_type->rewrite['slug'];
            $menu_slug = $page->post_name;
            if ($menu_slug == $current_post_type_slug) {
                $classes[] = 'current_page_item';
            }
        } else {
            if (($key = array_search('current-menu-item', $classes)) !== false) {
                unset($classes[$key]);
            }
            if (($key = array_search('current_page_parent', $classes)) !== false) {
                unset($classes[$key]);
            }
        }
    } else {
        if (isset($post->ID) && (is_ic_product_page() || is_ic_taxonomy_page())) {
            if (($key = array_search('current-menu-item', $classes)) !== false) {
                unset($classes[$key]);
            }
            if (($key = array_search('current_page_parent', $classes)) !== false) {
                unset($classes[$key]);
            }
        }
    }
    return $classes;
}
function product_breadcrumbs()
{
    if (get_integration_type() != 'simple' && !is_front_page()) {
        global $post;
        $post_type = get_post_type();
        $home_page = get_home_url();
        if (function_exists('additional_product_listing_url') && $post_type != 'al_product') {
            $catalog_id = catalog_id($post_type);
            $product_archives = additional_product_listing_url();
            $product_archive = $product_archives[$catalog_id];
            $archives_ids = get_option('additional_product_archive_id');
            $breadcrumbs_options = get_option('product_breadcrumbs', unserialize(DEFAULT_PRODUCT_BREADCRUMBS));
            if (empty($breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id]) || !empty($breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id]) && $breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id] != 1) {
                return;
            }
            $product_archive_title_options = $breadcrumbs_options['breadcrumbs_title'][$catalog_id];
            if ($product_archive_title_options != '') {
                $product_archive_title = $product_archive_title_options;
            } else {
                $product_archive_title = get_the_title($archives_ids[$catalog_id]);
            }
        } else {
            $archive_multiple_settings = get_multiple_settings();
            if (empty($archive_multiple_settings['enable_product_breadcrumbs']) || !empty($archive_multiple_settings['enable_product_breadcrumbs']) && $archive_multiple_settings['enable_product_breadcrumbs'] != 1) {
                return;
            }
            $product_archive = product_listing_url();
            if ($archive_multiple_settings['breadcrumbs_title'] != '') {
                $product_archive_title = $archive_multiple_settings['breadcrumbs_title'];
            } else {
                $product_archive_title = get_product_listing_title();
            }
        }
        $additional = '';
        if (is_ic_product_page()) {
            $current_product = get_the_title();
        } else {
            if (is_ic_taxonomy_page()) {
                $obj = get_queried_object();
                $current_product = $obj->name;
                $taxonomy = isset($obj->taxonomy) ? $obj->taxonomy : 'al_product-cat';
                $current_category_id = $obj->term_id;
                $parents = array_filter(explode('|', ic_get_product_category_parents($current_category_id, $taxonomy, true, '|')));
                array_pop($parents);
                foreach ($parents as $parent) {
                    if (!empty($parent)) {
                        $additional .= ' » <span typeof="v:Breadcrumb">
		<span class="breadcrumb_last" property="v:title">' . $parent . '</span>
	</span>';
                    }
                }
            } else {
                if (is_search()) {
                    $current_product = __('Product Search', 'ecommerce-product-catalog');
                } else {
                    $current_product = '';
                }
            }
        }
        $bread = '<p id="breadcrumbs"><span xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a href="' . $home_page . '" rel="v:url" property="v:title">' . __('Home', 'ecommerce-product-catalog') . '</a></span>';
        if (!empty($product_archive)) {
            $bread .= ' » <span typeof="v:Breadcrumb"><a href="' . $product_archive . '" rel="v:url" property="v:title">' . $product_archive_title . '</a></span>';
        }
        if (!empty($additional)) {
            $bread .= $additional;
        }
        if (!empty($current_product)) {
            $bread .= ' » <span typeof="v:Breadcrumb"><span class="breadcrumb_last" property="v:title">' . $current_product . '</span></span></span>';
        }
        $bread .= '</p>';
        return $bread;
    }
}
/**
 * Replaces the product page image HTML with the default
 *
 * @global type $product_page_image_html
 * @param type $html
 * @return \type
 */
function product_page_image_html($html)
{
    if (is_ic_product_page()) {
        global $product_page_image_html;
        return $product_page_image_html;
    }
    return $html;
}
function override_product_page_title($page_title, $id = null)
{
    if (!is_admin() && is_ic_catalog_page() && !is_ic_product_page() && !in_the_loop() && (empty($id) || get_quasi_post_type(get_post_type($id)) == 'al_product')) {
        $archive_names = get_archive_names();
        if (is_ic_taxonomy_page()) {
            $the_tax = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
            $page_title = $archive_names['all_prefix'] . ' ' . $the_tax->name;
        } else {
            if (is_search()) {
                $page_title = __('Search Results for:', 'al-ecommerce-product-catalog') . ' ' . $_GET['s'];
            } else {
                if (is_ic_product_listing()) {
                    $page_title = get_product_listing_title();
                }
            }
        }
    }
    return $page_title;
}
Beispiel #8
0
function product_breadcrumbs()
{
    if (get_integration_type() != 'simple') {
        global $post;
        $post_type = get_post_type();
        $home_page = get_home_url();
        if (function_exists('additional_product_listing_url') and $post_type != 'al_product') {
            $catalog_id = catalog_id($post_type);
            $product_archives = additional_product_listing_url();
            $product_archive = $product_archives[$catalog_id];
            $archives_ids = get_option('additional_product_archive_id');
            $breadcrumbs_options = get_option('product_breadcrumbs', unserialize(DEFAULT_PRODUCT_BREADCRUMBS));
            if (empty($breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id]) || !empty($breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id]) && $breadcrumbs_options['enable_product_breadcrumbs'][$catalog_id] != 1) {
                return;
            }
            $product_archive_title_options = $breadcrumbs_options['breadcrumbs_title'][$catalog_id];
            if ($product_archive_title_options != '') {
                $product_archive_title = $product_archive_title_options;
            } else {
                $product_archive_title = get_the_title($archives_ids[$catalog_id]);
            }
        } else {
            $archive_multiple_settings = get_multiple_settings();
            if (empty($archive_multiple_settings['enable_product_breadcrumbs']) || !empty($archive_multiple_settings['enable_product_breadcrumbs']) && $archive_multiple_settings['enable_product_breadcrumbs'] != 1) {
                return;
            }
            $product_archive = product_listing_url();
            if ($archive_multiple_settings['breadcrumbs_title'] != '') {
                $product_archive_title = $archive_multiple_settings['breadcrumbs_title'];
            } else {
                $product_archive_title = get_product_listing_title();
            }
        }
        $current_product = get_the_title($post->ID);
        if (is_ic_product_page()) {
            return '<p id="breadcrumbs">
<span xmlns:v="http://rdf.data-vocabulary.org/#">
	<span typeof="v:Breadcrumb">
		<a href="' . $home_page . '" rel="v:url" property="v:title">' . __('Home', 'al-ecommerce-product-catalog') . '</a>
	</span> » 
	<span typeof="v:Breadcrumb">
		<a href="' . $product_archive . '" rel="v:url" property="v:title">' . $product_archive_title . '</a>
	</span> » 
	<span typeof="v:Breadcrumb">
		<span class="breadcrumb_last" property="v:title">' . $current_product . '</span>
	</span>
</span>
</p>';
        } else {
            if (is_ic_taxonomy_page()) {
                return '<p id="breadcrumbs">
<span xmlns:v="http://rdf.data-vocabulary.org/#">
	<span typeof="v:Breadcrumb">
		<a href="' . $home_page . '" rel="v:url" property="v:title">' . __('Home', 'al-ecommerce-product-catalog') . '</a>
	</span> »
	<span typeof="v:Breadcrumb">
		<a href="' . $product_archive . '" rel="v:url" property="v:title">' . $product_archive_title . '</a>
	</span> »
	<span typeof="v:Breadcrumb">
		<span class="breadcrumb_last" property="v:title">' . $current_product . '</span>
	</span>
</span>
</p>';
            } else {
                return '<p id="breadcrumbs">
<span xmlns:v="http://rdf.data-vocabulary.org/#">
	<span typeof="v:Breadcrumb">
		<a href="' . $home_page . '" rel="v:url" property="v:title">' . __('Home', 'al-ecommerce-product-catalog') . '</a>
	</span> » 
	<span typeof="v:Breadcrumb">
		<span class="breadcrumb_last" property="v:title">' . $product_archive_title . '</span>
	</span>
</span>
</p>';
            }
        }
    }
}