Tagged: x
-
AuthorPosts
-
December 14, 2016 at 5:08 pm #1293455
chrishdunnParticipantHi…is there a filter or similar that I can put in functions.php so that only the first category name is displayed whenever the category name is called for?
Many thanks,
Chris.
December 14, 2016 at 9:25 pm #1293728
FriechModeratorHi Chris,
Thanks for writing in! I understand you want to hide the categories except the first one. But would you mind pointing us which pages the categories showed?
Cheers!
December 15, 2016 at 11:40 am #1294510
chrishdunnParticipantThe above example has ‘DfE Announcements’ displayed as the category. I would like to add a second category to the same post (‘ZHeadline’), but if I do the post displays both categories. I would like it to only display ‘DfE Announcements’.
Many thanks,
Chris.
December 15, 2016 at 2:23 pm #1294703
DarshanaModeratorHi there,
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.
Then add the following code into your child theme’s functions.php file.
// Ethos Entry Meta - show only one category in posts meta function x_ethos_entry_meta() { // // Author. // $author = sprintf( ' %1$s %2$s</span>', __( 'by', '__x__' ), get_the_author() ); // // Date. // $date = sprintf( '<span><time class="entry-date" datetime="%1$s">%2$s</time></span>', esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ) ); // // Categories. // if ( get_post_type() == 'x-portfolio' ) { if ( has_term( '', 'portfolio-category', NULL ) ) { $categories = get_the_terms( get_the_ID(), 'portfolio-category' ); $separator = ', '; $categories_output = ''; foreach ( $categories as $category ) { $categories_output .= '<a href="' . get_term_link( $category->slug, 'portfolio-category' ) . '" title="' . esc_attr( sprintf( __( "View all posts in: “%s”", '__x__' ), $category->name ) ) . '"> ' . $category->name . '</a>' . $separator; } $categories_list = sprintf( '<span>%1$s %2$s', __( 'In', '__x__' ), trim( $categories_output, $separator ) ); } else { $categories_list = ''; } } else { $categories = get_the_category(); $separator = ' '; $categories_output = ''; //foreach ( $categories as $category ) { $categories_output .= '<a href="' . get_category_link( $categories[0]->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in: “%s”", '__x__' ), $categories[0]->name ) ) . '"> ' . $categories[0]->name . '</a>' .$separator; //} $categories_list = sprintf( '<span>%1$s %2$s', __( 'In', '__x__' ), trim( $categories_output, $separator ) ); } // // Comments link. // if ( comments_open() ) { $title = apply_filters( 'x_entry_meta_comments_title', get_the_title() ); $link = apply_filters( 'x_entry_meta_comments_link', get_comments_link() ); $number = apply_filters( 'x_entry_meta_comments_number', get_comments_number() ); $text = ( 0 === $number ) ? 'Leave a Comment' : sprintf( _n( '%s Comment', '%s Comments', $number, '__x__' ), $number ); $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments">%3$s</a></span>', esc_url( $link ), esc_attr( sprintf( __( 'Leave a comment on: “%s”', '__x__' ), $title ) ), $text ); } else { $comments = ''; } // // Output. // if ( x_does_not_need_entry_meta() ) { return; } else { printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>', $categories_list, $author, $date, $comments ); } }Hope that helps.
December 15, 2016 at 4:22 pm #1294857
chrishdunnParticipantThat’s great, thank you!
I also have the same issue in grids and popular post lists … is there a way of using a filter in functions.php to ensure that this would work across the site? I’d understand if this is beyond what you would normally offer as theme support.
Many thanks,
Chris.
December 15, 2016 at 7:45 pm #1295104
Rue NelModeratorHello Chris,
The given code will only work for X related post meta. Your grid plugin has also its own function in displaying the category as the post meta. Regretfully we cannot provide any function for the grid and popular list plugin. There is simply no way to account for all of the potential variables at play when using another developer’s plugin or script. Because of this, any questions you have regarding setup, integration, customization or troubleshooting any piece of functionality that is not native to X will need to be directed to the original developer.
Thank you for your understanding.
-
AuthorPosts
- <script> jQuery(function($){ $("#no-reply-1293455 .bbp-template-notice, .bbp-no-topic .bbp-template-notice").removeClass('bbp-template-notice'); }); </script>
