Set the First Gallery Image of a Listing as Its Featured Image

Recommendation

Learn why I switched to WPCodeBox for managing code snippets for myself and for my clients.

Instructions

Snippet Type: PHP

  1. Copy the snippet.
  2. Add the snippet using WPCodeBox.
  3. Follow any customization notes provided.
  4. Save the snippet.
  5. Enable the snippet.
  6. Test.

Snippet

By default, MyListing does not make use of the Featured Image portion of the Listing, so there is no way for a Listing Owner to add their own Featured Image from the front end.

There are instances where you might want to use a 3rd party solution to build custom Listing grids and sometimes those solutions will require you to have a Featured Image in place to pull from for the media portion of the Listing card.

				
					// Set the First Gallery Image of a Listing as Its Featured Image
add_action( 'mylisting/submission/save-listing-data', function( $listing_id, $fields ){
    $listing = \MyListing\Src\Listing::force_get( $listing_id );
    if ( ! $listing ) {
         return;
     }
       if ( ! $fields['job_gallery'] ) {
        return;
    }
     global $wpdb;
    $attachment = $wpdb->get_col( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $fields['job_gallery']['value'][0] ));
   if ( $attachment && is_array( $attachment ) && isset( $attachment[0] ) ) {
  set_post_thumbnail( $listing_id, $attachment[0] );  
 }
}, 10e4, 2 );
 add_action( 'mylisting/admin/save-listing-data', function( $listing_id, $listing ){
    $listing = \MyListing\Src\Listing::force_get( $listing_id );
    if ( ! $listing ) {
         return;
     }
   $gallery = $listing->get_field( 'gallery' );
   if ( $gallery && isset( $gallery[0] ) ) {
     global $wpdb;
  $attachment = $wpdb->get_col( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $gallery[0] ) );
     if ( $attachment && is_array( $attachment ) && isset( $attachment[0] ) ) {
   set_post_thumbnail( $listing_id, $attachment[0] );    
  }
 }
}, 10e4, 2 );

				
			

NEW: MyListing Club Community

Get a true community experience that Facebook just can't offer.

WooCommerce Subscriptions Ready

The latest version of the WooCommerce Subscriptions plugin is included (unlicensed) and once you have a Starter Site in hand, you can easily put in your own pricing, package features, graphics, etc.

Should you not wish to use WooCommerce Subscriptions, you can simply turn the Listing Subscription packages into standard MyListing packages in just a few clicks and be on your way.

  • WooCommerce Endpoint Design
  • WooCoommerce Subscriptions Setup
  • Listing Subscription Packages
  • Listing Subscription Switching
  • Stripe Payment Gateway Plugin
  •  and more…

Premium Assets

Get licensed, premium plugins, valued at over $600 in the first year alone, making a Starter Site investment a no-brainer.

You will get licensed copies of all the plugins listed below, with the exception of the WooCommerce Subscriptions and WooCommerce Product Vendors, and the licenses are yours to keep, for as long as the plugins remain on your website.

  • Elementor Pro ($49)
  • Perfmatters ($25)
  • Permalink Manager Pro ($45)
  • SEOPress Pro ($39)
  • UiPress ($39)
  • WooCommerce Product Vendors ($79) 
  • WooCommerce Subscriptions ($199)
  • WP Rocket ($49)