web-dev-qa-db-fra.com

Rechercher les messages de ID dans admin

Je recherche un moyen de rechercher des publications par ID, de préférence avec un support pour les types de publication personnalisés. J'espérais qu'il y aurait un plugin permettant cette fonctionnalité, mais je n'ai rien trouvé. Toutes les idées seraient grandement appréciées, merci.

10
pereyra

Je ne suis pas sûr de comprendre pourquoi vous voudriez interroger par ID, mais cela dit, c'est possible d'une manière hacky (j'aime cette méthode car c'est simple).

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;
}

Il vous suffit ensuite d'effectuer une recherche à l'aide du champ de recherche habituel en utilisant un préfixe # (hachage) en face de l'ID numérique.

#123

..would retourner le courrier avec un ID de 123.

Je suis sûr que des itinéraires plus complexes pourraient être utilisés pour le faire, mais je ne vois aucun problème avec cette approche, à moins que vous n'ayez beaucoup de publications avec des titres commençant par un hachage (mais vous pouvez toujours échanger le hachage un autre personnage).

J'espère que cela pourra aider. :)

13
t31os