WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )
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.
Line | Code |
---|---|
3130 | } |
3131 | } elseif ( in_array( $post_type, $hierarchical_post_types ) ) { |
3132 | if ( 'nav_menu_item' == $post_type ) |
3133 | return $slug; |
3134 | // Page slugs must be unique within their own trees. Pages are in a separate |
3135 | // namespace than posts so page slugs are allowed to overlap post slugs. |
3136 | $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "' ) AND ID != %d AND post_parent = %d LIMIT 1"; |
3137 | $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID, $post_parent ) ); |
3138 |
|
3139 | if ( $post_name_check || in_array( $slug, $feeds ) || preg_match( "@^($wp_rewrite->pagination_base)?\d+$@", $slug ) || apply_filters( 'wp_unique_post_slug_is_bad_hierarchical_slug', false, $slug, $post_type, $post_parent ) ) { |
3140 | $suffix = 2; |
3141 | do { |
3142 | $alt_post_name = _truncate_post_slug( $slug, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; |
3143 | $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_ID, $post_parent ) ); |
3144 | $suffix++; |
3145 | } while ( $post_name_check ); |
3146 | $slug = $alt_post_name; |
3147 | } |
3148 | } else { |