add_section( array(
				'id'       => 'general',
				'label'    => esc_html__( 'General', 'easy-digital-downloads' ),
				'callback' => array( $this, 'section_general' )
			) );
		} elseif ( count( $sections ) ) {
			foreach ( $sections as $section ) {
				$this->add_section( $section );
			}
		}
	}
	/**
	 * Setup the sections for the current item
	 *
	 * @since 3.0
	 *
	 * @param object $item
	 */
	public function set_item( $item = false ) {
		$this->item = $item;
	}
	/**
	 * Output the contents
	 *
	 * @since 3.0
	 */
	public function display() {
		$use_js = ! empty( $this->use_js )
			? ' use-js'
			: '';
		$role   = $this->use_js ? 'tablist' : 'menu';
		ob_start(); ?>
		
			
				
					get_all_section_links(); ?>
				
					get_all_section_contents(); ?>
				
				
			 
			nonce_field();
			if ( ! empty( $this->item ) ) : ?>
				
			
		 
		sections[] = (object) wp_parse_args( $section, array(
			'id'       => '',
			'label'    => '',
			'icon'     => 'admin-settings',
			'callback' => ''
		) );
	}
	/**
	 * Is a section the current section?
	 *
	 * @since 3.0
	 *
	 * @param string $section_id
	 *
	 * @return bool
	 */
	private function is_current_section( $section_id = '' ) {
		return ( $section_id === $this->current_section );
	}
	/**
	 * Output the nonce field for the meta box
	 *
	 * @since 3.0
	 */
	protected function nonce_field() {
		wp_nonce_field(
			'edd_' . $this->id . '_sections_nonce',
			'edd_' . $this->id . 'nonce_sections',
			true
		);
	}
	/**
	 * Get all section links
	 *
	 * @since 3.0
	 *
	 * @return string
	 */
	protected function get_all_section_links() {
		ob_start();
		// Loop through sections
		foreach ( $this->sections as $section ) :
			$url = $this->use_js
				? '#' . esc_attr( $this->id . $section->id )
				: add_query_arg( 'view', sanitize_key( $section->id ), $this->base_url );
			// Special selected section
			$selected = ! $this->use_js && $this->is_current_section( $section->id )
				? 'aria-current="true"'
				: '';
			$class           = $this->is_current_section( $section->id ) ? 'section-title section-title--is-active' : 'section-title';
			$aria_attributes = $this->use_js ? 'role="tab" aria-controls="' . esc_attr( $this->id . $section->id ) . '"' : 'role="menuitem"';
			?>
			>
				
					
					label; // Allow HTML ?>
				
			
		use_js )
			? wp_filter_object_list( $this->sections, array( 'id' => $this->current_section ) )
			: $this->sections;
		// Bail if no sections
		if ( empty( $sections ) ) {
			return;
		}
		// Loop through sections
		foreach ( $sections as $section ) :
			// Special selected section
			$selected = ! $this->is_current_section( $section->id )
				? 'style="display: none;"'
				: ''; ?>
			>callback ) ) {
					if ( is_callable( $section->callback ) ) {
						call_user_func( $section->callback, $this->item );
					} elseif ( is_array( $section->callback ) && is_callable( $section->callback[0] ) ) {
						isset( $section->callback[1] )
							? call_user_func_array( $section->callback[0], $section->callback[1] )
							: call_user_func_array( $section->callback[0], array() );
					} else {
						_e( 'Invalid section', 'easy-digital-downloads' );
					}
				} else {
					die;
					do_action( 'edd_' . $section->id . 'section_contents', $this );
				}
			?>