Search posts by ID in admin

时间:2011-02-13 作者:pereyra

我正在寻找一种通过ID搜索帖子的方法,最好是支持自定义帖子类型。我希望有一个插件可以实现这个功能,但我没有找到任何东西。如果您有任何想法,我们将不胜感激,谢谢。

1 个回复
最合适的回答,由SO网友:t31os 整理而成

我不知道你为什么想通过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前面的前缀。

#123
。。将返回ID为123的帖子。

我确信有更复杂的途径可以做到这一点,但我认为这种方法没有任何问题,除非你有很多帖子的标题都是以哈希开头的(但你总是可以将哈希换成另一个字符)。

希望有帮助。:)

结束

相关推荐

如何保护wp-admin免受第三方访问?

wordpress管理面板和登录页面wp如何登录。php是否被隐藏,以便只有网站管理员才能访问?URL是否可以通过某种mod\\u重写规则重写,而不用担心破坏任何东西(抛开所有插件)?最好的解决方案不应基于IP地址,这意味着管理员只能从一台或一组计算机访问网站。