'; return; } $temp_file = $this->create_temp_template_file( $template['content'] ); if ( ! $temp_file ) { throw new \RuntimeException( esc_html__( 'Failed to create temporary template file.', 'woocommerce-pos' ) ); } include $temp_file; @unlink( $temp_file ); } /** * Create a temporary template file. * * @param string $content Template content. * * @return false|string */ private function create_temp_template_file( string $content ) { $upload_dir = wp_upload_dir(); $temp_dir = trailingslashit( $upload_dir['basedir'] ) . 'wcpos-templates'; if ( ! file_exists( $temp_dir ) ) { wp_mkdir_p( $temp_dir ); } $temp_file = tempnam( $temp_dir, 'receipt_' ); if ( ! $temp_file ) { return false; } $written = file_put_contents( $temp_file, $content ); if ( false === $written ) { @unlink( $temp_file ); return false; } return $temp_file; } }