Advertisement
Guest User

Untitled

a guest
Mar 11th, 2014
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // add filters for specific tags to the widget and shortcode
  2. add_filter( 'related_posts_by_taxonomy_widget_args', 'related_posts_filters' );
  3. add_filter( 'related_posts_by_taxonomy_shortcode_atts', 'related_posts_filters' );
  4.  
  5. function related_posts_filters( $instance ) {
  6.  
  7. // add filter to wp_get_object_terms
  8. add_filter( 'wp_get_object_terms', 'specific_related_tags', 10, 4 );
  9.  
  10. // remove filter after the tags are filtered
  11. add_filter( 'related_posts_by_taxonomy', 'remove_related_posts_filters', 10, 4 );
  12.  
  13. return $instance;
  14. }
  15.  
  16. function specific_related_tags( $terms, $object_ids, $taxonomies, $args ) {
  17.  
  18. // term ids you want to include
  19. $include_terms = array( 55, 34, 40 );
  20.  
  21. if ( !empty( $terms ) ) {
  22. foreach ( $terms as $key => $term ) {
  23. if ( !in_array( $term, $include_terms ) )
  24. unset( $terms[ $key ] );
  25. }
  26. }
  27.  
  28. return array_values( $terms );
  29. }
  30.  
  31. function remove_related_posts_filters( $results, $post_id, $taxonomies, $args ) {
  32.  
  33. // remove filters after the related posts are retrieved from the database
  34. remove_filter( 'related_posts_by_taxonomy', 'remove_related_posts_filters', 10, 4 );
  35. remove_filter( 'wp_get_object_terms', 'specific_related_tags', 10, 4 );
  36.  
  37. return $results;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement