/skeleton/jigoshop_functions.php
PHP | 811 lines | 557 code | 170 blank | 84 comment | 105 complexity | 37ce6e6a4fac1a1311eaf6e2fe66eca8 MD5 | raw file
Possible License(s): AGPL-1.0
- <?php
- /**
- * ACTIONS USED IN TEMPLATE FILES
- *
- **/
- // add_image_size( $name, $width, $height, $crop );
- add_image_size( 'shop_tiny', jigoshop::get_var('shop_tiny_w'), jigoshop::get_var('shop_tiny_h'), 'true' );
- add_image_size( 'shop_thumbnail', jigoshop::get_var('shop_thumbnail_w'), jigoshop::get_var('shop_thumbnail_h'), 'true' );
- add_image_size( 'shop_small', jigoshop::get_var('shop_small_w'), jigoshop::get_var('shop_small_h'), 'true' );
- add_image_size( 'shop_large', '280', '150', 'true' );
- /* Content Wrappers */
- remove_action( 'jigoshop_before_main_content', 'jigoshop_output_content_wrapper', 10);
- remove_action( 'jigoshop_after_main_content', 'jigoshop_output_content_wrapper_end', 10);
- /* Shop Messages */
- add_action( 'jigoshop_before_single_product', 'jigoshop::show_messages', 10);
- add_action( 'jigoshop_before_shop_loop', 'jigoshop::show_messages', 10);
- /* Sale flashes */
- add_action( 'jigoshop_before_shop_loop_item_title', 'jigoshop_show_product_sale_flash', 10, 2);
- add_action( 'jigoshop_before_single_product_summary', 'jigoshop_show_product_sale_flash', 10, 2);
- /* Breadcrumbs */
- add_action( 'jigoshop_before_main_content', 'jigoshop_breadcrumb', 20, 0);
- /* Products Loop */
- add_action( 'jigoshop_after_shop_loop_item', 'jigoshop_template_loop_add_to_cart', 10, 2);
- add_action( 'jigoshop_before_shop_loop_item_title', 'jigoshop_template_loop_product_thumbnail', 10, 2);
- add_action( 'jigoshop_after_shop_loop_item_title', 'jigoshop_template_loop_price', 10, 2);
- /* Before Single Products */
- add_action( 'jigoshop_before_single_product', 'jigoshop_check_product_visibility', 10, 2);
- /* Before Single Products Summary Div */
- add_action( 'jigoshop_before_single_product_summary', 'jigoshop_show_product_images', 20);
- add_action( 'jigoshop_product_thumbnails', 'jigoshop_show_product_thumbnails', 20 );
- /* After Single Products Summary Div */
- add_action( 'jigoshop_after_single_product_summary', 'jigoshop_output_product_data_tabs', 10);
- add_action( 'jigoshop_after_single_product_summary', 'jigoshop_output_related_products', 20);
- /* Product Summary Box */
- add_action( 'jigoshop_template_single_summary', 'jigoshop_template_single_price', 10, 2);
- add_action( 'jigoshop_template_single_summary', 'jigoshop_template_single_excerpt', 20, 2);
- add_action( 'jigoshop_template_single_summary', 'jigoshop_template_single_meta', 40, 2);
- add_action( 'jigoshop_template_single_summary', 'jigoshop_template_single_sharing', 50, 2);
- /* Product Add to cart */
- add_action( 'jigoshop_template_single_summary', 'jigoshop_template_single_add_to_cart', 30, 2 );
- add_action( 'simple_add_to_cart', 'jigoshop_simple_add_to_cart' );
- add_action( 'virtual_add_to_cart', 'jigoshop_simple_add_to_cart' );
- add_action( 'downloadable_add_to_cart', 'jigoshop_downloadable_add_to_cart' );
- add_action( 'grouped_add_to_cart', 'jigoshop_grouped_add_to_cart' );
- /* Product Add to Cart forms */
- add_action( 'jigoshop_add_to_cart_form', 'jigoshop_add_to_cart_form_nonce', 10);
- /* Pagination in loop-shop */
- add_action( 'jigoshop_pagination', 'jigoshop_pagination', 10 );
- /* Product page tabs */
- add_action( 'jigoshop_product_tabs', 'jigoshop_product_description_tab', 10 );
- add_action( 'jigoshop_product_tabs', 'jigoshop_product_attributes_tab', 20 );
- add_action( 'jigoshop_product_tabs', 'jigoshop_product_reviews_tab', 30 );
- add_action( 'jigoshop_product_tab_panels', 'jigoshop_product_description_panel', 10 );
- add_action( 'jigoshop_product_tab_panels', 'jigoshop_product_attributes_panel', 20 );
- add_action( 'jigoshop_product_tab_panels', 'jigoshop_product_reviews_panel', 30 );
- /* Checkout */
- add_action( 'before_checkout_form', 'jigoshop_checkout_login_form', 10 );
- /**
- * FUNCTIONS USED IN TEMPLATE FILES
- **/
- /**
- * Sale Flash
- **/
- if (!function_exists('jigoshop_show_product_sale_flash')) {
- function jigoshop_show_product_sale_flash( $post, $_product ) {
- if ($_product->is_on_sale()) echo '<span class="onsale">'.__('Sale!', 'jigoshop').'</span>';
- }
- }
- /**
- * Sidebar
- **/
- if (!function_exists('jigoshop_get_sidebar')) {
- function jigoshop_get_sidebar() {
- get_sidebar('shop');
- }
- }
- /**
- * Products Loop
- **/
- if (!function_exists('jigoshop_template_loop_add_to_cart')) {
- function jigoshop_template_loop_add_to_cart( $post, $_product ) {
- $output = '<div class="button small left">';
- // do not show "add to cart" button if product's price isn't announced
- if ( $_product->get_price() === '' AND ! ($_product->is_type(array('variable', 'grouped', 'external'))) ) return;
- if ( $_product->is_in_stock() OR $_product->is_type('external') ) :
- if ( $_product->is_type(array('variable', 'grouped')) ) :
- $output .= '<a href="'.get_permalink($_product->id).'" class="button">'.__(' Select ', 'jigoshop').'</a>';
- elseif ( $_product->is_type('external') ) :
- $output .= '<a href="'.get_post_meta( $_product->id, 'external_url', true ).'" class="button">'.__('Buy product', 'jigoshop').'</a>';
- else :
- $output .= '<a href="'.esc_url($_product->add_to_cart_url()).'" class="button">'.__('Add to cart', 'jigoshop').'</a>';
- endif;
- elseif ( ($_product->is_type(array('grouped')) ) ) :
- return;
- else :
- $output .= '<span class="nostock">'.__('Out of Stock', 'jigoshop').'</span>';
- endif;
- $output .= '</div>';
- echo $output;
- }
- }
- if (!function_exists('jigoshop_template_loop_product_thumbnail')) {
- function jigoshop_template_loop_product_thumbnail( $post, $_product ) {
- echo jigoshop_get_product_thumbnail();
- }
- }
- if (!function_exists('jigoshop_template_loop_price')) {
- function jigoshop_template_loop_price( $post, $_product ) {
- ?><span class="price"><?php echo $_product->get_price_html(); ?></span><?php
- }
- }
- /**
- * Check product visibility in loop
- **/
- if (!function_exists('jigoshop_check_product_visibility')) {
- function jigoshop_check_product_visibility( $post, $_product ) {
- if (!$_product->is_visible() && $post->post_parent > 0) : wp_safe_redirect(get_permalink($post->post_parent)); exit; endif;
- if (!$_product->is_visible()) : wp_safe_redirect(home_url()); exit; endif;
- }
- }
- /**
- * Before Single Products Summary Div
- **/
- if (!function_exists('jigoshop_show_product_images')) {
- function jigoshop_show_product_images() {
-
- global $_product, $post;
- echo '<div class="images two_thirds">';
- $thumb_id = 0;
- if (has_post_thumbnail()) :
- $thumb_id = get_post_thumbnail_id();
- $large_thumbnail_size = apply_filters('single_product_large_thumbnail_size', 'shop_large');
- echo '<a href="'.wp_get_attachment_url($thumb_id).'" class="scale-with-grid zoom" rel="thumbnails">';
- the_post_thumbnail($large_thumbnail_size);
- echo '</a>';
- else :
- echo '<img src="'.jigoshop::plugin_url().'/assets/images/placeholder.png" alt="Placeholder" />';
- endif;
- do_action('jigoshop_product_thumbnails');
-
- echo '</div>';
-
- }
- }
- if (!function_exists('jigoshop_show_product_thumbnails')) {
- function jigoshop_show_product_thumbnails() {
-
- global $_product, $post;
-
- echo '<div class="thumbnails">';
-
- $thumb_id = get_post_thumbnail_id();
- $small_thumbnail_size = apply_filters('single_product_small_thumbnail_size', 'shop_thumbnail');
- $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID );
- $attachments = get_posts($args);
- if ($attachments) :
- $loop = 0;
- $columns = 3;
- foreach ( $attachments as $attachment ) :
-
- if ($thumb_id==$attachment->ID) continue;
-
- $loop++;
-
- $_post = & get_post( $attachment->ID );
- $url = wp_get_attachment_url($_post->ID);
- $post_title = esc_attr($_post->post_title);
- $image = wp_get_attachment_image($attachment->ID, $small_thumbnail_size);
-
- echo '<a href="'.$url.'" title="'.$post_title.'" rel="thumbnails" class="scale-with-grid zoom ';
- if ($loop==1 || ($loop-1)%$columns==0) echo 'first';
- if ($loop%$columns==0) echo 'last';
- echo '">'.$image.'</a>';
-
- endforeach;
- endif;
- wp_reset_query();
-
- echo '</div>';
-
- }
- }
- /**
- * After Single Products Summary Div
- **/
- if (!function_exists('jigoshop_output_product_data_tabs')) {
- function jigoshop_output_product_data_tabs() {
-
- if (isset($_COOKIE["current_tab"])) $current_tab = $_COOKIE["current_tab"]; else $current_tab = '#tab-description';
-
- ?>
- <div id="tabs">
- <ul class="tabs">
-
- <?php do_action('jigoshop_product_tabs', $current_tab); ?>
-
- </ul>
-
- <?php do_action('jigoshop_product_tab_panels'); ?>
-
- </div>
- <?php
-
- }
- }
- /**
- * Product summary box
- **/
- if (!function_exists('jigoshop_template_single_price')) {
- function jigoshop_template_single_price( $post, $_product ) {
- ?><p class="price"><?php echo $_product->get_price_html(); ?></p><?php
- }
- }
- if (!function_exists('jigoshop_template_single_excerpt')) {
- function jigoshop_template_single_excerpt( $post, $_product ) {
- if ($post->post_excerpt) echo wpautop(wptexturize($post->post_excerpt));
- }
- }
- if (!function_exists('jigoshop_template_single_meta')) {
- function jigoshop_template_single_meta( $post, $_product ) {
-
- ?>
- <div class="product_meta"><?php if ($_product->is_type('simple')) : ?><span class="sku">SKU: <?php echo $_product->sku; ?>.</span> <?php endif; ?><?php echo $_product->get_categories( ', ', 'Posted in ', '.'); ?> <?php echo $_product->get_tags( ', ', 'Tagged as ', '.'); ?></div>
- <?php
-
- }
- }
- if (!function_exists('jigoshop_template_single_sharing')) {
- function jigoshop_template_single_sharing( $post, $_product ) {
-
- if (get_option('jigoshop_sharethis')) :
- echo '<div class="social">
- <iframe src="https://www.facebook.com/plugins/like.php?href='.urlencode(get_permalink($post->ID)).'&layout=button_count&show_faces=false&width=100&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>
- <span class="st_email"></span><span class="st_twitter"></span><span class="st_sharethis"></span>
- </div>';
- endif;
-
- }
- }
- /**
- * Product Add to cart buttons
- **/
- if (!function_exists('jigoshop_template_single_add_to_cart')) {
- function jigoshop_template_single_add_to_cart( $post, $_product ) {
- do_action( $_product->product_type . '_add_to_cart' );
- }
- }
- if (!function_exists('jigoshop_simple_add_to_cart')) {
- function jigoshop_simple_add_to_cart() {
- global $_product; $availability = $_product->get_availability();
- if ($availability['availability']) : ?><p class="stock <?php echo $availability['class'] ?>"><?php echo $availability['availability']; ?></p><?php endif;
-
- ?>
- <form action="<?php echo $_product->add_to_cart_url(); ?>" class="cart" method="post">
- <div class="quantity"><input name="quantity" value="1" size="4" title="Qty" class="input_tiny qty" maxlength="12" /></div>
- <input type="submit" value="<?php _e('Add to cart', 'jigoshop'); ?>">
- <?php do_action('jigoshop_add_to_cart_form'); ?>
- </form>
- <?php
- }
- }
- if (!function_exists('jigoshop_downloadable_add_to_cart')) {
- function jigoshop_downloadable_add_to_cart() {
- global $_product; $availability = $_product->get_availability();
- if ($availability['availability']) : ?><p class="stock <?php echo $availability['class'] ?>"><?php echo $availability['availability']; ?></p><?php endif;
-
- ?>
- <form action="<?php echo $_product->add_to_cart_url(); ?>" class="cart" method="post">
- <button type="submit" class="button"><?php _e('Add to cart', 'jigoshop'); ?></button>
- <?php do_action('jigoshop_add_to_cart_form'); ?>
- </form>
- <?php
- }
- }
- if (!function_exists('jigoshop_grouped_add_to_cart')) {
- function jigoshop_grouped_add_to_cart() {
- global $_product;
-
- ?>
- <form action="<?php echo $_product->add_to_cart_url(); ?>" class="cart" method="post">
- <table cellspacing="0">
- <tbody>
- <?php foreach ($_product->children as $child) : $child_product = &new jigoshop_product( $child->ID ); $cavailability = $child_product->get_availability(); ?>
- <tr>
- <td><div class="quantity"><input name="quantity[<?php echo $child->ID; ?>]" value="0" size="4" title="Qty" class="input-text qty text" maxlength="12" /></div></td>
- <td><label for="product-<?php echo $child_product->id; ?>"><?php
- if ($child_product->is_visible()) echo '<a href="'.get_permalink($child->ID).'">';
- echo $child_product->get_title();
- if ($child_product->is_visible()) echo '</a>';
- ?></label></td>
- <td class="price"><?php echo $child_product->get_price_html(); ?><small class="stock <?php echo $cavailability['class'] ?>"><?php echo $cavailability['availability']; ?></small></td>
- </tr>
- <?php endforeach; ?>
- </tbody>
- </table>
- <button type="submit" class="button"><?php _e('Add to cart', 'jigoshop'); ?></button>
- <?php do_action('jigoshop_add_to_cart_form'); ?>
- </form>
- <?php
- }
- }
- /**
- * Product Add to Cart forms
- **/
- if (!function_exists('jigoshop_add_to_cart_form_nonce')) {
- function jigoshop_add_to_cart_form_nonce() {
- jigoshop::nonce_field('add_to_cart');
- }
- }
- /**
- * Pagination
- **/
- if (!function_exists('jigoshop_pagination')) {
- function jigoshop_pagination() {
-
- global $wp_query;
-
- if ( $wp_query->max_num_pages > 1 ) :
- ?>
- <div class="navigation">
- <div class="nav-next"><?php next_posts_link( __( 'Next <span class="meta-nav">→</span>', 'jigoshop' ) ); ?></div>
- <div class="nav-previous"><?php previous_posts_link( __( '<span class="meta-nav">←</span> Previous', 'jigoshop' ) ); ?></div>
- </div>
- <?php
- endif;
-
- }
- }
- /**
- * Product page tabs
- **/
- if (!function_exists('jigoshop_product_description_tab')) {
- function jigoshop_product_description_tab( $current_tab ) {
- ?>
- <li <?php if ($current_tab=='#tab-description') echo 'class="active"'; ?>><a href="#tab-description"><?php _e('Description', 'jigoshop'); ?></a></li>
- <?php
- }
- }
- if (!function_exists('jigoshop_product_attributes_tab')) {
- function jigoshop_product_attributes_tab( $current_tab ) {
-
- global $_product;
-
- if ($_product->has_attributes()) : ?><li <?php if ($current_tab=='#tab-attributes') echo 'class="active"'; ?>><a href="#tab-attributes"><?php _e('Additional Information', 'jigoshop'); ?></a></li><?php endif;
-
- }
- }
- if (!function_exists('jigoshop_product_reviews_tab')) {
- function jigoshop_product_reviews_tab( $current_tab ) {
-
- if ( comments_open() ) : ?><li <?php if ($current_tab=='#tab-reviews') echo 'class="active"'; ?>><a href="#tab-reviews"><?php _e('Reviews', 'jigoshop'); ?><?php echo comments_number(' (0)', ' (1)', ' (%)'); ?></a></li><?php endif;
-
- }
- }
- /**
- * Product page tab panels
- **/
- if (!function_exists('jigoshop_product_description_panel')) {
- function jigoshop_product_description_panel() {
- echo '<div class="panel" id="tab-description">';
- echo '<h2>' . apply_filters('jigoshop_product_description_heading', __('Product Description', 'jigoshop')) . '</h2>';
- the_content();
- echo '</div>';
- }
- }
- if (!function_exists('jigoshop_product_attributes_panel')) {
- function jigoshop_product_attributes_panel() {
- global $_product;
- echo '<div class="panel" id="tab-attributes">';
- echo '<h2>' . apply_filters('jigoshop_product_description_heading', __('Additional Information', 'jigoshop')) . '</h2>';
- $_product->list_attributes();
- echo '</div>';
- }
- }
- if (!function_exists('jigoshop_product_reviews_panel')) {
- function jigoshop_product_reviews_panel() {
- echo '<div class="panel" id="tab-reviews">';
- comments_template();
- echo '</div>';
- }
- }
-
- /**
- * Jigoshop Product Thumbnail
- **/
- if (!function_exists('jigoshop_get_product_thumbnail')) {
- function jigoshop_get_product_thumbnail( $size = 'shop_small', $placeholder_width = 0, $placeholder_height = 0 ) {
-
- global $post;
-
- if (!$placeholder_width) $placeholder_width = jigoshop::get_var('shop_small_w');
- if (!$placeholder_height) $placeholder_height = jigoshop::get_var('shop_small_h');
-
- if ( has_post_thumbnail() ) return get_the_post_thumbnail($post->ID, $size); else return '<img class="scale-with-grid" src="'.jigoshop::plugin_url(). '/assets/images/placeholder.png" alt="Placeholder" width="'.$placeholder_width.'" height="'.$placeholder_height.'" />';
-
- }
- }
- /**
- * Jigoshop Related Products
- **/
- if (!function_exists('jigoshop_output_related_products')) {
- function jigoshop_output_related_products() {
- // 4 Related Products in 4 columns
- jigoshop_related_products( 2, 2 );
- }
- }
-
- if (!function_exists('jigoshop_related_products')) {
- function jigoshop_related_products( $posts_per_page = 4, $post_columns = 4, $orderby = 'rand' ) {
-
- global $_product, $columns, $per_page;
-
- // Pass vars to loop
- $per_page = $posts_per_page;
- $columns = $post_columns;
-
- $related = $_product->get_related();
- if (sizeof($related)>0) :
- echo '<div class="related products">';
- // echo '<h2>'.__('Related Products', 'jigoshop').'</h2>';
- $args = array(
- 'post_type' => 'product',
- 'ignore_sticky_posts' => 1,
- 'posts_per_page' => $per_page,
- 'orderby' => $orderby,
- 'post__in' => $related
- );
- $args = apply_filters('jigoshop_related_products_args', $args);
- query_posts($args);
- jigoshop_get_template_part( 'loop', 'shop' );
- echo '</div>';
- endif;
- wp_reset_query();
-
- }
- }
- /**
- * Jigoshop Shipping Calculator
- **/
- if (!function_exists('jigoshop_shipping_calculator')) {
- function jigoshop_shipping_calculator() {
- if (jigoshop_cart::needs_shipping()) :
- ?>
- <form class="shipping_calculator" action="<?php echo jigoshop_cart::get_cart_url(); ?>" method="post">
- <h4><a href="#" class="shipping-calculator-button"><?php _e('Calculate Shipping', 'jigoshop'); ?> <span>↓</span></a></h4>
- <section class="shipping-calculator-form">
- <p class="form-row">
- <select name="calc_shipping_country" id="calc_shipping_country" class="country_to_state" rel="calc_shipping_state">
- <option value=""><?php _e('Select a country…', 'jigoshop'); ?></option>
- <?php
- foreach(jigoshop_countries::get_allowed_countries() as $key=>$value) :
- echo '<option value="'.$key.'"';
- if (jigoshop_customer::get_shipping_country()==$key) echo 'selected="selected"';
- echo '>'.$value.'</option>';
- endforeach;
- ?>
- </select>
- </p>
- <div class="col2-set">
- <p class="form-row col-1">
- <?php
- $current_cc = jigoshop_customer::get_shipping_country();
- $current_r = jigoshop_customer::get_shipping_state();
- $states = jigoshop_countries::$states;
-
- if (isset( $states[$current_cc][$current_r] )) :
- // Dropdown
- ?>
- <span>
- <select name="calc_shipping_state" id="calc_shipping_state"><option value=""><?php _e('Select a state…', 'jigoshop'); ?></option><?php
- foreach($states[$current_cc] as $key=>$value) :
- echo '<option value="'.$key.'"';
- if ($current_r==$key) echo 'selected="selected"';
- echo '>'.$value.'</option>';
- endforeach;
- ?></select>
- </span>
- <?php
- else :
- // Input
- ?>
- <input type="text" class="input-text" value="<?php echo $current_r; ?>" placeholder="<?php _e('state', 'jigoshop'); ?>" name="calc_shipping_state" id="calc_shipping_state" />
- <?php
- endif;
- ?>
- </p>
- <p class="form-row col-2">
- <input type="text" class="input-text" value="<?php echo jigoshop_customer::get_shipping_postcode(); ?>" placeholder="<?php _e('Postcode/Zip', 'jigoshop'); ?>" title="<?php _e('Postcode', 'jigoshop'); ?>" name="calc_shipping_postcode" id="calc_shipping_postcode" />
- </p>
- </div>
- <p><button type="submit" name="calc_shipping" value="1" class="button"><?php _e('Update Totals', 'jigoshop'); ?></button></p>
- <?php jigoshop::nonce_field('cart') ?>
- </section>
- </form>
- <?php
- endif;
- }
- }
- /**
- * Jigoshop Login Form
- **/
- if (!function_exists('jigoshop_login_form')) {
- function jigoshop_login_form() {
-
- if (is_user_logged_in()) return;
-
- ?>
- <form method="post" class="login">
- <p class="form-row form-row-first">
- <label for="username"><?php _e('Username', 'jigoshop'); ?> <span class="required">*</span></label>
- <input type="text" class="input-text" name="username" id="username" />
- </p>
- <p class="form-row form-row-last">
- <label for="password"><?php _e('Password', 'jigoshop'); ?> <span class="required">*</span></label>
- <input class="input-text" type="password" name="password" id="password" />
- </p>
- <div class="clear"></div>
-
- <p class="form-row">
- <?php jigoshop::nonce_field('login', 'login') ?>
- <input type="submit" class="button" name="login" value="<?php _e('Login', 'jigoshop'); ?>" />
- <a class="lost_password" href="<?php echo home_url('wp-login.php?action=lostpassword'); ?>"><?php _e('Lost Password?', 'jigoshop'); ?></a>
- </p>
- </form>
- <?php
- }
- }
- /**
- * Jigoshop Login Form
- **/
- if (!function_exists('jigoshop_checkout_login_form')) {
- function jigoshop_checkout_login_form() {
-
- if (is_user_logged_in()) return;
-
- ?><p class="info"><?php _e('Already registered?', 'jigoshop'); ?> <a href="#" class="showlogin"><?php _e('Click here to login', 'jigoshop'); ?></a></p><?php
- jigoshop_login_form();
- }
- }
- /**
- * Jigoshop Breadcrumb
- **/
- if (!function_exists('jigoshop_breadcrumb')) {
- function jigoshop_breadcrumb(
- $delimiter = '<span class="sep">»</span>',
- $wrap_before = '<div id="breadcrumb">',
- $wrap_after = '</div>', $before = '',
- $after = '', $home = null) {
-
- global $post, $wp_query, $author;
-
- if( !$home ) $home = _x('Home', 'breadcrumb', 'jigoshop');
-
- $home_link = home_url();
-
- $prepend = '';
-
- if ( get_option('jigoshop_prepend_shop_page_to_urls')=="yes" && get_option('jigoshop_shop_page_id') )
- $prepend = $before . '<a href="' . get_permalink( get_option('jigoshop_shop_page_id') ) . '">' . get_the_title( get_option('jigoshop_shop_page_id') ) . '</a> ' . $after . $delimiter;
-
- if ( !is_home() && !is_front_page() || is_paged() ) :
-
- echo $wrap_before;
-
- echo $before . '<a class="home" href="' . $home_link . '">' . $home . '</a> ' . $after . $delimiter ;
-
- if ( is_category() ) :
-
- $cat_obj = $wp_query->get_queried_object();
- $this_category = $cat_obj->term_id;
- $this_category = get_category( $this_category );
- if ($thisCat->parent != 0) :
- $parent_category = get_category( $this_category->parent );
- echo get_category_parents($parent_category, TRUE, $delimiter );
- endif;
- echo $before . single_cat_title('', false) . $after;
-
- elseif ( is_tax('product_cat') ) :
-
- //echo $before . '<a href="' . get_post_type_archive_link('product') . '">' . ucwords(get_option('jigoshop_shop_slug')) . '</a>' . $after . $delimiter;
-
- $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
-
- $parents = array();
- $parent = $term->parent;
- while ($parent):
- $parents[] = $parent;
- $new_parent = get_term_by( 'id', $parent, get_query_var( 'taxonomy' ));
- $parent = $new_parent->parent;
- endwhile;
- if(!empty($parents)):
- $parents = array_reverse($parents);
- foreach ($parents as $parent):
- $item = get_term_by( 'id', $parent, get_query_var( 'taxonomy' ));
- echo $before . '<a href="' . get_term_link( $item->slug, 'product_cat' ) . '">' . $item->name . '</a>' . $after . $delimiter;
- endforeach;
- endif;
-
- $queried_object = $wp_query->get_queried_object();
- echo $prepend . $before . $queried_object->name . $after;
-
- elseif ( is_tax('product_tag') ) :
-
- $queried_object = $wp_query->get_queried_object();
- echo $prepend . $before . __('Products tagged “', 'jigoshop') . $queried_object->name . '”' . $after;
-
- elseif ( is_day() ) :
-
- echo $before . '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a>' . $after . $delimiter;
- echo $before . '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a>' . $after . $delimiter;
- echo $before . get_the_time('d') . $after;
-
- elseif ( is_month() ) :
-
- echo $before . '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a>' . $after . $delimiter;
- echo $before . get_the_time('F') . $after;
-
- elseif ( is_year() ) :
-
- echo $before . get_the_time('Y') . $after;
-
- elseif ( is_post_type_archive('product') ) :
-
- $_name = get_option('jigoshop_shop_page_id') ? get_the_title( get_option('jigoshop_shop_page_id') ) : ucwords(get_option('jigoshop_shop_slug'));
-
- if (is_search()) :
-
- echo $before . '<a href="' . get_post_type_archive_link('product') . '">' . $_name . '</a>' . $delimiter . __('Search results for “', 'jigoshop') . get_search_query() . '”' . $after;
-
- else :
-
- echo $before . '<a href="' . get_post_type_archive_link('product') . '">' . $_name . '</a>' . $after;
-
- endif;
-
- elseif ( is_single() && !is_attachment() ) :
-
- if ( get_post_type() == 'product' ) :
-
- //echo $before . '<a href="' . get_post_type_archive_link('product') . '">' . ucwords(get_option('jigoshop_shop_slug')) . '</a>' . $after . $delimiter;
- echo $prepend;
-
- if ($terms = wp_get_object_terms( $post->ID, 'product_cat' )) :
- $term = current($terms);
- $parents = array();
- $parent = $term->parent;
- while ($parent):
- $parents[] = $parent;
- $new_parent = get_term_by( 'id', $parent, 'product_cat');
- $parent = $new_parent->parent;
- endwhile;
- if(!empty($parents)):
- $parents = array_reverse($parents);
- foreach ($parents as $parent):
- $item = get_term_by( 'id', $parent, 'product_cat');
- echo $before . '<a href="' . get_term_link( $item->slug, 'product_cat' ) . '">' . $item->name . '</a>' . $after . $delimiter;
- endforeach;
- endif;
- echo $before . '<a href="' . get_term_link( $term->slug, 'product_cat' ) . '">' . $term->name . '</a>' . $after . $delimiter;
- endif;
-
- echo $before . get_the_title() . $after;
-
- elseif ( get_post_type() != 'post' ) :
- $post_type = get_post_type_object(get_post_type());
- $slug = $post_type->rewrite;
- echo $before . '<a href="' . get_post_type_archive_link(get_post_type()) . '">' . $post_type->labels->singular_name . '</a>' . $after . $delimiter;
- echo $before . get_the_title() . $after;
- else :
- $cat = current(get_the_category());
- echo get_category_parents($cat, TRUE, $delimiter);
- echo $before . get_the_title() . $after;
- endif;
-
- elseif ( is_404() ) :
-
- echo $before . __('Error 404', 'jigoshop') . $after;
-
- elseif ( !is_single() && !is_page() && get_post_type() != 'post' ) :
-
- $post_type = get_post_type_object(get_post_type());
- if ($post_type) : echo $before . $post_type->labels->singular_name . $after; endif;
-
- elseif ( is_attachment() ) :
-
- $parent = get_post($post->post_parent);
- $cat = get_the_category($parent->ID); $cat = $cat[0];
- echo get_category_parents($cat, TRUE, '' . $delimiter);
- echo $before . '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a>' . $after . $delimiter;
- echo $before . get_the_title() . $after;
-
- elseif ( is_page() && !$post->post_parent ) :
-
- echo $before . get_the_title() . $after;
-
- elseif ( is_page() && $post->post_parent ) :
-
- $parent_id = $post->post_parent;
- $breadcrumbs = array();
- while ($parent_id) {
- $page = get_page($parent_id);
- $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
- $parent_id = $page->post_parent;
- }
- $breadcrumbs = array_reverse($breadcrumbs);
- foreach ($breadcrumbs as $crumb) :
- echo $crumb . '' . $delimiter;
- endforeach;
- echo $before . get_the_title() . $after;
-
- elseif ( is_search() ) :
-
- echo $before . __('Search results for “', 'jigoshop') . get_search_query() . '”' . $after;
-
- elseif ( is_tag() ) :
-
- echo $before . __('Posts tagged “', 'jigoshop') . single_tag_title('', false) . '”' . $after;
-
- elseif ( is_author() ) :
-
- $userdata = get_userdata($author);
- echo $before . __('Author: ', 'jigoshop') . $userdata->display_name . $after;
-
- endif;
-
- if ( get_query_var('paged') ) :
-
- echo ' (' . __('Page', 'jigoshop') . ' ' . get_query_var('paged') .')';
-
- endif;
-
- echo $wrap_after;
-
- endif;
-
- }
- }
- if (of_get_option('show_mini_cart')) {
-
- function st_header_extras() {
- $extras = "<div class=\"header_extras\">";
- $extras .= '<a href="'.jigoshop_cart::get_cart_url().'" class="minicart">';
- $extras .= '<span>';
- $extras .= jigoshop_cart::$cart_contents_count.' items';
- $extras .= '</span>';
- $extras .= jigoshop_cart::get_cart_total();
- $extras .= '</a>';
- $extras .= "</div>";
- echo apply_filters ('child_header_extras',$extras);
- }
- } // endif
- add_action('st_header','st_header_extras', 2);