Submodule_Registry_Trait::get_meta_fields()

Returns the available meta box fields for the module.

Description

Return

(array) Associative array of <code>$field_slug => $field_args</code> pairs.

Source

File: src/modules/submodule-registry-trait.php

	protected function get_meta_fields() {
		$fields = array();

		foreach ( $this->submodules as $slug => $submodule ) {
			if ( ! is_a( $submodule, Meta_Submodule_Interface::class ) ) {
				continue;
			}

			$submodule_meta_identifier = $submodule->get_meta_identifier();

			$submodule_meta_fields = $submodule->get_meta_fields();
			foreach ( $submodule_meta_fields as $field_slug => $field_data ) {
				$field_slug        = $submodule_meta_identifier . '__' . $field_slug;
				$field_data['tab'] = $submodule_meta_identifier;

				if ( isset( $field_data['dependencies'] ) ) {
					$dependency_count = count( $field_data['dependencies'] );

					for ( $i = 0; $i < $dependency_count; $i++ ) {
						if ( isset( $field_data['dependencies'][ $i ]['fields'] ) ) {
							$field_count = count( $field_data['dependencies'][ $i ]['fields'] );

							for ( $j = 0; $j < $field_count; $j++ ) {
								$field_data['dependencies'][ $i ]['fields'][ $j ] = $submodule_meta_identifier . '__' . $field_data['dependencies'][ $i ]['fields'][ $j ];
							}
						}
					}
				}

				$fields[ $field_slug ] = $field_data;
			}
		}

		return $fields;
	}

Changelog

Changelog
Version Description
1.0.0 Introduced.