Nie jestem pewien, czy rozumiem, dlaczego chciałbyś zapytać według ID, ale to powiedziało, że jest to możliwe w hacky sposób (podoba mi się ta metoda, ponieważ jest prosta).
add_action( 'parse_request', 'idsearch' );
function idsearch( $wp ) {
global $pagenow;
// If it's not the post listing return
if( 'edit.php' != $pagenow )
return;
// If it's not a search return
if( !isset( $wp->query_vars['s'] ) )
return;
// If it's a search but there's no prefix, return
if( '#' != substr( $wp->query_vars['s'], 0, 1 ) )
return;
// Validate the numeric value
$id = absint( substr( $wp->query_vars['s'], 1 ) );
if( !$id )
return; // Return if no ID, absint returns 0 for invalid values
// If we reach here, all criteria is fulfilled, unset search and select by ID instead
unset( $wp->query_vars['s'] );
$wp->query_vars['p'] = $id;
}
Następnie wystarczy wyszukać za pomocą zwykłego pola wyszukiwania, używając #
prefiksu (skrótu) przed identyfikatorem numerycznym.
#123
.. zwróci post z identyfikatorem 123.
Jestem pewien, że można to zrobić bardziej skomplikowanymi trasami, ale nie widzę żadnych problemów z tym podejściem, chyba że masz dużo postów z tytułami zaczynającymi się od skrótu (ale zawsze możesz zamienić skrót na inna postać).
Mam nadzieję, że to pomaga. :)