在管理面板内,在媒体 - >库中,如何在"搜索媒体"框中按文件名搜索媒体文件?
我知道文件名放在数据库的"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调用搜索功能时也可以使用,例如使用"创建图库"对话框时.
| 归档时间: |
|
| 查看次数: |
8378 次 |
| 最近记录: |