search-extras.php 982 Bytes
<?php



add_action( 'add_attachment', 'add_attachment_mime_type' );
function add_attachment_mime_type( $attachment_id ){
   $post =  get_post( $attachment_id );
   $post_mime_type = explode(".", $post->_wp_attached_file);
   update_post_meta( $attachment_id, 'file_type', end($post_mime_type) );

}

function exclude_in_search_results( $query ) {
        
	if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) {
		
		$query->set( 'post_type', array(  'attachment',  'documents') );

		$query->set( 'meta_query', array (
			'relation' => 'OR',
			array (
				'relation' => 'AND',
				array(
					'key'     => 'exclude_from_search',
					'value'   => 1,
					'compare' => '!=',
				),
			),
		) );
		
	}
}
add_action( 'pre_get_posts', 'exclude_in_search_results' );

 


// apply tags to attachments 
function wptp_add_tags_to_attachments() {
	register_taxonomy_for_object_type( 'post_tag', 'attachment' );
}
add_action( 'init' , 'wptp_add_tags_to_attachments' );