2. Mai 2014

WordPress:
nach Dateinamen in den Medien suchen

WordPress berücksichtigt leider keine Dateinamen bei der Suche in den Medien.

Mit dieser PHP-Funktion in der functions.php lässt sich die Mediensuche erweitern:

// Nach Dateinamen in der Mediathek suchen
function posts_search_media_filenames($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 '%' . $a_wp_query->query_vars['s'] . '%') OR ', 
        $search
    ); 

    return $search;
}
add_filter('posts_search', 'posts_search_media_filenames', 10, 2);