_wp_ajax_menu_quick_search [ WordPress Function ]
_wp_ajax_menu_quick_search ( $request = array() )
| Parameters: |
|
| Defined at: |
|
Soorgelijke functies: wp_ajax_menu_quick_search, wp_ajax_ajax_tag_search, wp_ajax_menu_locations_save, wp_ajax_add_menu_item, wp_ajax_add_user
Prints the appropriate response to a menu quick search.
Source
<?php
function _wp_ajax_menu_quick_search( $request = array() ) {
$args = array();
$type = isset( $request['type'] ) ? $request['type'] : '';
$object_type = isset( $request['object_type'] ) ? $request['object_type'] : '';
$query = isset( $request['q'] ) ? $request['q'] : '';
$response_format = isset( $request['response-format'] ) && in_array( $request['response-format'], array( 'json', 'markup' ) ) ? $request['response-format'] : 'json';
if ( 'markup' == $response_format ) {
$args['walker'] = new Walker_Nav_Menu_Checklist;
}
if ( 'get-post-item' == $type ) {
if ( post_type_exists( $object_type ) ) {
if ( isset( $request['ID'] ) ) {
$object_id = (int) $request['ID'];
if ( 'markup' == $response_format ) {
echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $object_id ) ) ), 0, (object) $args );
} elseif ( 'json' == $response_format ) {
$post_obj = get_post( $object_id );
echo json_encode(
array(
'ID' => $object_id,
'post_title' => get_the_title( $object_id ),
'post_type' => get_post_type( $object_id ),
)
);
echo "\n";
}
}
} elseif ( taxonomy_exists( $object_type ) ) {
if ( isset( $request['ID'] ) ) {
$object_id = (int) $request['ID'];
if ( 'markup' == $response_format ) {
echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_term( $object_id, $object_type ) ) ), 0, (object) $args );
} elseif ( 'json' == $response_format ) {
$post_obj = get_term( $object_id, $object_type );
echo json_encode(
array(
'ID' => $object_id,
'post_title' => $post_obj->name,
'post_type' => $object_type,
)
);
echo "\n";
}
}
}
} elseif ( preg_match('/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*\b)/', $type, $matches) ) {
if ( 'posttype' == $matches[1] && get_post_type_object( $matches[2] ) ) {
query_posts(array(
'posts_per_page' => 10,
'post_type' => $matches[2],
's' => $query,
));
if ( ! have_posts() )
return;
while ( have_posts() ) {
the_post();
if ( 'markup' == $response_format ) {
$var_by_ref = get_the_ID();
echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $var_by_ref ) ) ), 0, (object) $args );
} elseif ( 'json' == $response_format ) {
echo json_encode(
array(
'ID' => get_the_ID(),
'post_title' => get_the_title(),
'post_type' => get_post_type(),
)
);
echo "\n";
}
}
} elseif ( 'taxonomy' == $matches[1] ) {
$terms = get_terms( $matches[2], array(
'name__like' => $query,
'number' => 10,
));
if ( empty( $terms ) || is_wp_error( $terms ) )
return;
foreach( (array) $terms as $term ) {
if ( 'markup' == $response_format ) {
echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( $term ) ), 0, (object) $args );
} elseif ( 'json' == $response_format ) {
echo json_encode(
array(
'ID' => $term->term_id,
'post_title' => $term->name,
'post_type' => $matches[2],
)
);
echo "\n";
}
}
}
}
}
?>
Examples [ wp-snippets.com ]
Top Google zoekresultaten
- _wp_ajax_menu_quick_search | A HitchHackers guide through ...
Feb 12, 2011 ... Source code. function _wp_ajax_menu_quick_search( $request = array() ) { $ args = array(); $type = isset( $request['type'] ) ? $request['type'] : '' ...
hitchhackerguide.com - Docs for page nav-menu.php
_wp_ajax_menu_quick_search (line 278). Prints the appropriate ... void _wp_ajax_menu_quick_search ([array $request = array()]). array $request: The ...
phpdoc.wordpress.org - PHPXRef 0.7 : WordPress (latest release) : /wp-admin/admin-ajax ...
'wp-admin/includes/nav-menu.php'; 163 164 _wp_ajax_menu_quick_search( $ _REQUEST ); 165 166 exit; 167 break; 168 case 'oembed-cache' : 169 $return ...
lab.yukei.net - WordPress 3.4-beta1 » WordPress
_wp_ajax_menu_quick_search; Deletes orphaned draft menu items _wp_delete_orphaned_draft_menu_items; Private, for use in *_footer_scripts hooks ...
docs.garyjones.co.uk