-
AuthorPosts
-
December 6, 2015 at 7:08 am #694198December 13, 2015 at 3:50 pm #705158
GabrielParticipantSame here!
December 13, 2015 at 6:59 pm #705314
Rue NelModeratorNoted.
Thanks for the feedback.January 25, 2016 at 1:27 pm #763550
Peter MParticipantHow do I set the breadcrumbs to show the category?
Right now while on a product page, I only show the shop prior to the product, and I want to have the category appear between shop and product.
Thanks.
January 25, 2016 at 7:14 pm #764037
LelyModeratorHello Peter,
Please try this:https://theme.co/x/member/forums/topic/breadcrumb-not-showing-categories-on-post-page-but-in-post-category/#post-202441
Hope this helps.
January 25, 2016 at 8:43 pm #764136
Peter MParticipantThat link is broken. Looked at some other threads by searching “breadcrumbs not showing categories”, but no solution for me.
January 26, 2016 at 12:15 am #764359
ChristopherModeratorHi there,
Sorry about that.
I put the code here. Please add following code in child theme’s functions.phph file :
// Breadcrumbs Display Category Name // ============================================================================= function get_breadcrumb_category( $cat ) { $post = get_post( $post->ID ); $post_type = $post->post_type; $taxonomy = $cat; $f_categories = wp_get_post_terms( $post->ID, $taxonomy ); $f_category = $f_categories[0]; if ( $f_category->parent != 0 ) { $f_category_id = $f_category->parent; $parent_array = get_term_by('id', $f_category_id, $taxonomy, 'ARRAY_A'); $f_category_name = $parent_array["name"]; $term_link = get_term_link( $f_category_id, $taxonomy ); } else { $f_category_id = $f_category->term_id; $f_category_name = $f_category->name; $term_link = get_term_link( $f_category_id, $taxonomy ); } if ( $f_categories && ! is_wp_error($f_categories) ) { return '<a href="' . $term_link . '">' . $f_category_name . '</a>'; } else { return ''; } } function x_breadcrumbs() { if ( x_get_option( 'x_breadcrumb_display', '1' ) ) { GLOBAL $post; $is_ltr = ! is_rtl(); $stack = x_get_stack(); $delimiter = x_get_breadcrumb_delimiter(); $home_text = x_get_breadcrumb_home_text(); $home_link = home_url(); $current_before = x_get_breadcrumb_current_before(); $current_after = x_get_breadcrumb_current_after(); $page_title = get_the_title(); $blog_title = get_the_title( get_option( 'page_for_posts', true ) ); $post_parent = $post->post_parent; if ( X_WOOCOMMERCE_IS_ACTIVE ) { $shop_url = x_get_shop_link(); $shop_title = x_get_option( 'x_' . $stack . '_shop_title', __( 'The Shop', '__x__' ) ); $shop_link = '<a href="'. $shop_url .'">' . $shop_title . '</a>'; } echo '<div class="x-breadcrumbs"><a href="' . $home_link . '">' . $home_text . '</a>' . $delimiter; if ( is_home() ) { echo $current_before . $blog_title . $current_after; } elseif ( is_category() ) { $the_cat = get_category( get_query_var( 'cat' ), false ); if ( $the_cat->parent != 0 ) echo '<a href="'.get_permalink(102).'">'.get_the_title(102) .'</a>'; echo $current_before . single_cat_title( '', false ) . $current_after; } elseif ( x_is_product_category() ) { if ( $is_ltr ) { echo $shop_link . $delimiter . $current_before . single_cat_title( '', false ) . $current_after; } else { echo $current_before . single_cat_title( '', false ) . $current_after . $delimiter . $shop_link; } } elseif ( x_is_product_tag() ) { if ( $is_ltr ) { echo $shop_link . $delimiter . $current_before . single_tag_title( '', false ) . $current_after; } else { echo $current_before . single_tag_title( '', false ) . $current_after . $delimiter . $shop_link; } } elseif ( is_search() ) { echo $current_before . __( 'Search Results for ', '__x__' ) . '“' . get_search_query() . '”' . $current_after; } elseif ( is_singular( 'post' ) ) { if ( get_option( 'page_for_posts' ) == is_front_page() ) { echo $current_before . $page_title . $current_after; } else { if ( $is_ltr ) { $f_category = get_the_category(); if ( $f_category[0]->parent != 0 ) { $f_category_id = $f_category[0]->parent; $f_category_name = get_cat_name( $f_category_id ); } else { $f_category_id = $f_category[0]->term_id; $f_category_name = $f_category[0]->name; } echo '<a href="' . get_category_link( $f_category_id ) . '">' . $f_category_name . '</a>' . $delimiter . $current_before . $page_title . $current_after; } else { echo $current_before . $page_title . $current_after . $delimiter . '<a href="' . get_permalink( get_option( 'page_for_posts' ) ) . '">' . $blog_title . '</a>'; } } } elseif ( x_is_portfolio() ) { echo $current_before . get_the_title() . $current_after; } elseif ( x_is_portfolio_item() ) { $link = x_get_parent_portfolio_link(); $title = x_get_parent_portfolio_title(); if ( $v = get_breadcrumb_category('portfolio-category') ) { $portfolio_category = $delimiter . $v; } else { $portfolio_category = ''; } if ( $is_ltr ) { echo '<a href="' . $link . '">' . $title . '</a>' . $portfolio_category . $delimiter . $current_before . $page_title . $current_after; } else { echo $current_before . $page_title . $current_after . $portfolio_category . $delimiter . '<a href="' . $link . '">' . $title . '</a>'; } } elseif ( x_is_product() ) { if ( $v = get_breadcrumb_category('product_cat') ) { $product_category = $delimiter . $v; } else { $product_category = ''; } if ( $is_ltr ) { echo $shop_link . $product_category . $delimiter . $current_before . $page_title . $current_after; } else { echo $current_before . $page_title . $current_after . $product_category . $delimiter . $shop_link; } } elseif ( x_is_buddypress() ) { if ( bp_is_group() ) { echo '<a href="' . bp_get_groups_directory_permalink() . '">' . x_get_option( 'x_buddypress_groups_title', __( 'Groups', '__x__' ) ) . '</a>' . $delimiter . $current_before . x_buddypress_get_the_title() . $current_after; } elseif ( bp_is_user() ) { echo '<a href="' . bp_get_members_directory_permalink() . '">' . x_get_option( 'x_buddypress_members_title', __( 'Members', '__x__' ) ) . '</a>' . $delimiter . $current_before . x_buddypress_get_the_title() . $current_after; } else { echo $current_before . x_buddypress_get_the_title() . $current_after; } } elseif ( x_is_bbpress() ) { remove_filter( 'bbp_no_breadcrumb', '__return_true' ); if ( bbp_is_forum_archive() ) { echo $current_before . bbp_get_forum_archive_title() . $current_after; } else { echo bbp_get_breadcrumb(); } add_filter( 'bbp_no_breadcrumb', '__return_true' ); } elseif ( is_page() && ! $post_parent ) { echo $current_before . $page_title . $current_after; } elseif ( is_page() && $post_parent ) { $parent_id = $post_parent; $breadcrumbs = array(); if ( is_rtl() ) { echo $current_before . $page_title . $current_after . $delimiter; } 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; } if ( $is_ltr ) { $breadcrumbs = array_reverse( $breadcrumbs ); } for ( $i = 0; $i < count( $breadcrumbs ); $i++ ) { echo $breadcrumbs[$i]; if ( $i != count( $breadcrumbs ) -1 ) echo $delimiter; } if ( $is_ltr ) { echo $delimiter . $current_before . $page_title . $current_after; } } elseif ( is_tag() ) { echo $current_before . single_tag_title( '', false ) . $current_after; } elseif ( is_author() ) { GLOBAL $author; $userdata = get_userdata( $author ); echo $current_before . __( 'Posts by ', '__x__' ) . '“' . $userdata->display_name . $current_after . '”'; } elseif ( is_404() ) { echo $current_before . __( '404 (Page Not Found)', '__x__' ) . $current_after; } elseif ( is_archive() ) { if ( x_is_shop() ) { echo $current_before . $shop_title . $current_after; } else { echo $current_before . __( 'Archives ', '__x__' ) . $current_after; } } echo '</div>'; } }Hope it helps.
January 26, 2016 at 7:12 am #764836
Peter MParticipantOk, thanks.
I’m not using a child theme, though, and that kind of altering of php means I probably should.
I’ve also held off updating Cornerstone because of all the problems I’ve read about. Do you recommend installing the child theme first, then updating the plugin, or does it matter?
Thanks
January 26, 2016 at 8:59 am #765000
ChristopherModeratorHi there,
It really doesn’t matter which one is done sooner.
Because this requires a template change, I’d advise that you setup a child theme. This allows you to make code changes that won’t be overwritten when an X update is released. After your child theme is setup, please review how we recommend making template changes in Customization Best Practices.Thanks.
January 29, 2016 at 1:14 pm #771051
Peter MParticipantBeautiful – worked like a charm!!
Thanks so much, you guys rock.
– Peter.
January 30, 2016 at 12:25 am #771612
ChristopherModeratorYou’re most welcome.
May 18, 2016 at 2:56 pm #998005
janihParticipantHi,
I pasted the above code to my site specific plugin which is basically functions.php file. When I tried to activate the plugin I got an error: Fatal error: Cannot redeclare x_breadcrumbs()
What could be wrong?
May 18, 2016 at 6:24 pm #998300
JadeModeratorHi there,
Kindly try to install the child theme and place the code in the functions.php file.
Let us know how it goes.
May 19, 2016 at 12:18 pm #999820
janihParticipantThis reply has been marked as private.May 19, 2016 at 5:54 pm #1000383
RadModeratorHi there,
The code is for the product category, this link https://www.valokuvio.net/blogi/tama-on-vain-testi/ is a blog post. And should be done through child theme, but you don’t have active child theme.
I also checked the code and confirmed working on my end.
Thanks!
-
AuthorPosts
- <script> jQuery(function($){ $("#no-reply-149943 .bbp-template-notice, .bbp-no-topic .bbp-template-notice").removeClass('bbp-template-notice'); }); </script>
