web-dev-qa-db-ja.com

AdminでIDで投稿を検索

私はできればカスタムの投稿タイプをサポートしながら、IDで投稿を検索する方法を探しています。この機能を有効にするプラグインがあることを願っていましたが、私は何も見つけられませんでした。任意のアイデアは大歓迎です、ありがとうございます。

10
pereyra

私はなぜあなたがIDで問い合わせをしたいのか理解していないが、それはそれが厄介な種類の方法で可能であると言った(それが単純であるので私はこの方法が好き)。

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

その後、通常の検索ボックスを使用して、数値IDの前に#(hash)プレフィックスを使用して検索するだけです。

#123

.. IDが123の投稿を返します。

これを行うにはもっと複雑な方法があると思いますが、タイトルがハッシュで始まる投稿が多数ない限り、この方法で問題は発生しません(ただし、ハッシュを常に他のキャラクター).

それが役立つことを願っています。 :)

13
t31os