WordPress at a glance
function is not described

_filter_query_attachment_filenames() WP 4.7.0

Filter the SQL clauses of an attachment query to include filenames.

  • Global. wpdb. $wpdb WordPress database abstraction object.

No Hooks.


Array. The modified clauses.


_filter_query_attachment_filenames( $clauses );
$clauses(array) (required)
An array including WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT, fields (SELECT), and LIMITS clauses.

Code of filter query attachment filenames: wp-includes/post.php WP 5.2.2

function _filter_query_attachment_filenames( $clauses ) {
	global $wpdb;
	remove_filter( 'posts_clauses', __FUNCTION__ );

	// Add a LEFT JOIN of the postmeta table so we don't trample existing JOINs.
	$clauses['join'] .= " LEFT JOIN {$wpdb->postmeta} AS sq1 ON ( {$wpdb->posts}.ID = sq1.post_id AND sq1.meta_key = '_wp_attached_file' )";

	$clauses['groupby'] = "{$wpdb->posts}.ID";

	$clauses['where'] = preg_replace(
		"/\({$wpdb->posts}.post_content (NOT LIKE|LIKE) (\'[^']+\')\)/",
		'$0 OR ( sq1.meta_value $1 $2 )',

	return $clauses;