Bulk Adjust Expiration Dates for All Listings

If you care about website performance and easier administration, I recommend using a code snippet plugin like WPCodeBox (or similar) for adding code to your website.

Instructions

  1. Create a new PHP code snippet.
  2. Copy the contents of code snippet below.
  3. Paste the contents into your code snippet.
  4. Review any notes that I’ve provided.
  5. Save and enable the code snippet.
  6. Test.

Snippet

Adjust line 6, replacing ‘2025-12-31’ with your desired expiration date.

Note: You may need to adjust line 7 to match the number of Listings on your website. Otherwise, the code snippet will not check more than 100 Listings.

add_action( 'init', function() {
     if ( empty( $_GET['update_bulk_listing_expiry'] ) || ! current_user_can( 'administrator' ) ) {
        return false;
    }
     // Set your new listing expiry to a custom date
    $new_listing_expiry = date('Y-m-d H:i:s', strtotime('2025-12-31'));
     $next_data = 100;
    $offset = 0;
     do {
         $listings = (array) get_posts([
            'post_type' => 'job_listing',
            'offset'   => $offset,
            'posts_per_page' => $next_data,
            'post_status' => ['publish', 'draft', 'expired', 'pending']
        ]);
         printf(
            "Fetching listing expiry data from listing %d to %d <br />",
            $offset + 1,
            $offset + $next_data
        );
         flush();
        ob_flush();
         foreach ( $listings as $listing ) {
            // Update new listing expire
            update_post_meta( $listing->ID, '_job_expires', $new_listing_expiry );
            $updated = wp_update_post( [ 'ID' => $listing->ID, 'post_status' => $listing->post_status ] );
        }
         $offset = ( ! $offset ) ? $next_data : $offset + $next_data;
     } while( ! empty( $listings ) );
     exit('All listings are updated, you may close this window');
} );
🔥NEW!🔥
Property Starter Site
MyListing Add-on
Launch Sale Ends: June 24th.

Club Guarantee

If you notice an issue with this product, I’ll fix it for free and get you an updated version.

Club Guarantee

If you notice an issue with a Club Product and the problem exists on the corresponding Starter Site, I’ll fix it for free.