在媒体库中按文件名搜索

Are*_*.pl 5 wordpress

在管理面板内,在媒体 - >库中,如何在"搜索媒体"框中按文件名搜索媒体文件?

我知道文件名放在数据库的"GUID"列中,但我不知道在哪里可以找到负责媒体搜索的代码,例如.MySQL select.

现在它只在post_title列中搜索.我也试图找到$_REQUEST['s'],但没有结果.

bra*_*ilo 10

我在WordPress开发者#45153中找到了一个解决方案,但这里都是相关的问答:

add_filter( 'posts_search', 'guid_search_so_14940004', 10, 2 );

function guid_search_so_14940004( $search, $a_wp_query ) 
{
    global $wpdb, $pagenow;

    // Only Admin side && Only Media Library page
    if ( !is_admin() && 'upload.php' != $pagenow ) 
        return $search;

    // Original search string:
    // AND (((wp_posts.post_title LIKE '%search-string%') OR (wp_posts.post_content LIKE '%search-string%')))
    $search = str_replace(
        'AND ((', 
        'AND (((' . $wpdb->prefix . 'posts.guid LIKE \'%' . $_GET['s'] . '%\') OR ', 
        $search
    ); 

    return $search;
}
Run Code Online (Sandbox Code Playgroud)

有人建议我需要验证,但似乎很好:

更改$_GET['s']$a_wp_query->query_vars['s']通过ajax POST调用搜索功能时也可以使用,例如使用"创建图库"对话框时.

  • @ Arek-Krakiewicz.pl,最好[创建自己的插件](http://wordpress.stackexchange.com/q/72160/12615);) (5认同)