For the complete documentation index, see llms.txt. This page is also available as Markdown.

Search only in the same category as the current post or page (single page)

There is no back-end option for this feature, but can be easily achieved by a small custom code. A similar code for archive pages can be found here.

What is this, and where do I put this custom code?

add_filter( 'asp_query_args', 'asp_posts_from_same_cat', 10, 2 );
function asp_posts_from_same_cat($args, $search_id) {
  $taxonomy = 'category'; // Enter the taxonomy name
  
  // Do not change anything below
  $categories = wp_get_post_terms( $args['_page_id'], $taxonomy, array('fields' => 'ids') );
  if ( !is_wp_error($categories) && count($categories) ) {
    $args['post_tax_filter'][] = array(
      'taxonomy'  => $taxonomy,    // taxonomy name
      'include'   => $categories,   // array of taxonomy term IDs to include
      'exclude'   => array(),
      'allow_empty' => false        // allow (empty) items with no connection to any of the taxonomy terms filter
    );
  }

  return $args;
}

Last updated