This website uses cookies to personalize your experience. By using this website you agree to our cookie policy.

Reply To: Search results content

#53263
Ernest MarcinkoErnest Marcinko
Keymaster

Hi!

Well, that will need another bit of custom code for sure, as the media file ID needs to be fetched, but I think it’s possible. Try the snippet below. Make sure that the custom code I provided in my previous reply is also active, it contains a function that is needed for this code as well:

add_filter( 'asp_results', 'asp_get_attachment_to_product_content', 10, 4 );
function asp_get_attachment_to_product_content( $results, $search_id, $is_ajax, $args ) {
	// --- DO NOT CHANGE ANYTHING BELOW ---
	foreach ( $results as $k =>&$r ) {
		if ( $r->post_type !== 'product' ) {
			continue;
		}
		$product = wc_get_product( $r->id);

		if ( $product->is_downloadable() ) {
			// Loop through WC_Product_Download objects
			foreach ( $product->get_downloads() as $key_download_id => $download ) {
				$download_link = $download->get_file(); // File Url
				$id            = asp_get_file_id_from_url($download_link);
				if ( $id !== '' ) {
					$field_value = get_post_meta( $id, '_asp_attachment_text', true );

					if ( $field_value !== '' ) {
						$r->content = wd_substr_at_word($field_value, 130);
						break;
					}
				}
			}
		}
	}

	return $results;
}