Support

Account

Home Forums Gutenberg Close all blocks in a page ("mode" to "preview") with single click Reply To: Close all blocks in a page ("mode" to "preview") with single click

  • If anyone is interested…

    I’m not sure if the following change fixed it or it resolved itself somewhere else in my code, but this has been working for all of my tests so far.

    
    if( ! function_exists( 'cs_close_blocks' ) ) :
      function cs_close_blocks( $post_id ) {
    
        $the_post = get_post( $post_id );
    
        if( is_wp_error( $the_post ) ) return false;
    
        // if there are blocks
        if ( has_blocks( $the_post->post_content ) ) :
    
          // Update
          $the_post->post_content = str_replace('"mode": "edit"','"mode": "preview"', $the_post->post_content); // <= exactly as ACF writes it
    
          // Save it
          wp_update_post( $the_post );
    
        endif;
    
        return true;
    
      }
    endif;