Exemple #1
0
function porto_is_product_archive()
{
    if (is_archive()) {
        $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
        if ($term) {
            switch ($term->taxonomy) {
                case in_array($term->taxonomy, porto_get_taxonomies('product')):
                case 'product_cat':
                    return true;
                    break;
                default:
                    return false;
            }
        }
    }
    return false;
}
Exemple #2
0
function porto_meta_sidebar()
{
    global $wp_query, $porto_settings;
    $layout = porto_meta_layout();
    if (!($layout == 'wide-left-sidebar' || $layout == 'wide-right-sidebar' || $layout == 'left-sidebar' || $layout == 'right-sidebar')) {
        return '';
    }
    $value = $porto_settings['sidebar'];
    $default = porto_meta_use_default();
    if (class_exists('bbPress') && is_bbpress() || class_exists('BuddyPress') && is_buddypress()) {
        $value = $porto_settings['bb-sidebar'];
    } else {
        if (is_404()) {
            $value = '';
        } else {
            if (is_category()) {
                $cat = $wp_query->get_queried_object();
                if ($default) {
                    $value = 'blog-sidebar';
                } else {
                    if ($cat) {
                        $value = get_metadata('category', $cat->term_id, 'sidebar', true);
                    }
                }
            } else {
                if (is_archive()) {
                    if (function_exists('is_shop') && is_shop()) {
                        if ($default) {
                            $value = 'woo-category-sidebar';
                        } else {
                            $value = get_post_meta(wc_get_page_id('shop'), 'sidebar', true);
                        }
                    } else {
                        if (is_post_type_archive('portfolio')) {
                            $value = $porto_settings['portfolio-archive-sidebar'];
                        } else {
                            if (is_post_type_archive('member')) {
                                $value = $porto_settings['member-archive-sidebar'];
                            } else {
                                if (is_post_type_archive('faq')) {
                                    $value = $porto_settings['faq-archive-sidebar'];
                                } else {
                                    $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
                                    if ($term) {
                                        if ($default) {
                                            switch ($term->taxonomy) {
                                                case in_array($term->taxonomy, porto_get_taxonomies('portfolio')):
                                                    $value = $porto_settings['portfolio-archive-sidebar'];
                                                    break;
                                                case in_array($term->taxonomy, porto_get_taxonomies('product')):
                                                    $value = 'woo-category-sidebar';
                                                    break;
                                                case 'product_cat':
                                                    $value = 'woo-category-sidebar';
                                                    break;
                                                case in_array($term->taxonomy, porto_get_taxonomies('member')):
                                                    $value = $porto_settings['member-archive-sidebar'];
                                                    break;
                                                case in_array($term->taxonomy, porto_get_taxonomies('faq')):
                                                    $value = $porto_settings['faq-archive-sidebar'];
                                                    break;
                                                case in_array($term->taxonomy, porto_get_taxonomies('post')):
                                                    $value = 'blog-sidebar';
                                                    break;
                                                default:
                                                    $value = $porto_settings['sidebar'];
                                            }
                                        } else {
                                            $value = get_metadata($term->taxonomy, $term->term_id, 'sidebar', true);
                                        }
                                    } else {
                                        if (is_tag()) {
                                            $value = 'blog-sidebar';
                                        }
                                    }
                                }
                            }
                        }
                    }
                } else {
                    if (is_singular()) {
                        global $post;
                        if ($default) {
                            switch ($post->post_type) {
                                case 'product':
                                    $value = 'woo-product-sidebar';
                                    break;
                                case 'portfolio':
                                    $value = $porto_settings['portfolio-single-sidebar'];
                                    break;
                                case 'member':
                                    $value = $porto_settings['member-single-sidebar'];
                                    break;
                                case 'post':
                                    $value = 'blog-sidebar';
                                    break;
                                default:
                                    $value = $porto_settings['sidebar'];
                            }
                        } else {
                            $value = get_post_meta(get_the_id(), 'sidebar', true);
                        }
                    } else {
                        $value = 'blog-sidebar';
                    }
                }
            }
        }
    }
    return apply_filters('porto_meta_sidebar', $value);
}