Rechercher les messages par ID dans admin

10

Je recherche un moyen de rechercher des publications par ID, de préférence en prenant en charge 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.

    
posée pereyra 14.02.2011 - 00:15

1 réponse

12

Je ne suis pas sûr de comprendre pourquoi vous souhaitez interroger par ID, mais cela dit que c'est possible d'une manière hacky (j'aime cette méthode car elle 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 normal en utilisant le préfixe # (hash) en face de l'ID numérique.

#123

.. renverrait le message avec un identifiant de 123.

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

J'espère que ça aide. :)

    
réponse donnée t31os 16.02.2011 - 12:07

Lire d'autres questions sur les étiquettes