WordPress at a glance

do_settings_fields() WP 1.0

Print out the settings fields for a particular settings section

Part of the Settings API. Use this in a settings page to output a specific section. Should normally be called by do_settings_sections() rather than directly.

  • Global. $wp_settings_fields. Storage array of settings fields and their pages/sections.
Is the basis for: do_settings_sections()

No Hooks.

Return

Nothing (null).

Usage

do_settings_fields( $page, $section );
$page(string) (required)
Slug title of the admin page whose settings fields you want to show.
$section(string) (required)
Slug title of the settings section whose fields you want to show.

Code of do settings fields: wp-admin/includes/template.php WP 5.2.2

<?php
function do_settings_fields( $page, $section ) {
	global $wp_settings_fields;

	if ( ! isset( $wp_settings_fields[ $page ][ $section ] ) ) {
		return;
	}

	foreach ( (array) $wp_settings_fields[ $page ][ $section ] as $field ) {
		$class = '';

		if ( ! empty( $field['args']['class'] ) ) {
			$class = ' class="' . esc_attr( $field['args']['class'] ) . '"';
		}

		echo "<tr{$class}>";

		if ( ! empty( $field['args']['label_for'] ) ) {
			echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>';
		} else {
			echo '<th scope="row">' . $field['title'] . '</th>';
		}

		echo '<td>';
		call_user_func( $field['callback'], $field['args'] );
		echo '</td>';
		echo '</tr>';
	}
}

Related Functions

From category: Settings API

No comments
    Hello, !     Log In . Register