Source View: get_{$adjacent}_post_join

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

Line Code
1169                     $posts_in_ex_cats_sql = " AND tt.taxonomy = 'category' AND tt.term_id NOT IN (" . implode($excluded_categories, ',') . ')';
1170                }
1171           }
1172      }
1173
1174      $adjacent = $previous ? 'previous' : 'next';
1175      $op = $previous ? '<' : '>';
1176      $order = $previous ? 'DESC' : 'ASC';
1177
1178      $join  = apply_filters( "get_{$adjacent}_post_join", $join, $in_same_cat, $excluded_categories );
1179      $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_cats_sql", $current_post_date, $post->post_type), $in_same_cat, $excluded_categories );
1180      $sort  = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" );
1181
1182      $query = "SELECT p.ID FROM $wpdb->posts AS p $join $where $sort";
1183      $query_key = 'adjacent_post_' . md5($query);
1184      $result = wp_cache_get($query_key, 'counts');
1185      if ( false !== $result ) {
1186           if ( $result )
1187                $result = get_post( $result );