Tribe__Settings_Tab::doContent()
Displays the content for the tab.
Return
(void)
Source
File: src/Tribe/Settings_Tab.php
public function doContent() {
if ( $this->display_callback && is_callable( $this->display_callback ) ) {
call_user_func( $this->display_callback );
return;
}
$sent_data = get_option( 'tribe_settings_sent_data', array() );
if ( is_array( $this->fields ) && ! empty( $this->fields ) ) {
foreach ( $this->fields as $key => $field ) {
if ( isset( $sent_data[ $key ] ) ) {
// if we just saved [or attempted to], get the value that was inputed
$value = $sent_data[ $key ];
} else {
// Some options should always be stored at network level
$network_option = isset( $field['network_option'] ) ? (bool) $field['network_option'] : false;
if ( is_network_admin() ) {
$parent_option = ( isset( $field['parent_option'] ) ) ? $field['parent_option'] : Tribe__Main::OPTIONNAMENETWORK;
}
if ( ! is_network_admin() ) {
$parent_option = ( isset( $field['parent_option'] ) ) ? $field['parent_option'] : Tribe__Main::OPTIONNAME;
}
// get the field's parent_option in order to later get the field's value
$parent_option = apply_filters( 'tribe_settings_do_content_parent_option', $parent_option, $key );
$default = ( isset( $field['default'] ) ) ? $field['default'] : null;
$default = apply_filters( 'tribe_settings_field_default', $default, $field );
if ( ! $parent_option ) {
// no parent option, get the straight up value
if ( $network_option || is_network_admin() ) {
$value = get_site_option( $key, $default );
} else {
$value = get_option( $key, $default );
}
} else {
// there's a parent option
if ( $parent_option == Tribe__Main::OPTIONNAME ) {
// get the options from Tribe__Settings_Manager if we're getting the main array
$value = Tribe__Settings_Manager::get_option( $key, $default );
} elseif ( $parent_option == Tribe__Main::OPTIONNAMENETWORK ) {
$value = Tribe__Settings_Manager::get_network_option( $key, $default );
} else {
// else, get the parent option normally
if ( is_network_admin() ) {
$options = (array) get_site_option( $parent_option );
} else {
$options = (array) get_option( $parent_option );
}
$value = ( isset( $options[ $key ] ) ) ? $options[ $key ] : $default;
}
}
}
// escape the value for display
if ( ! empty( $field['esc_display'] ) && function_exists( $field['esc_display'] ) ) {
$value = $field['esc_display']( $value );
} elseif ( is_string( $value ) ) {
$value = esc_attr( stripslashes( $value ) );
}
// filter the value
$value = apply_filters( 'tribe_settings_get_option_value_pre_display', $value, $key, $field );
// create the field
new Tribe__Field( $key, $field, $value );
}
} else {
// no fields setup for this tab yet
echo '<p>' . esc_html__( 'There are no fields setup for this tab yet.', 'tribe-common' ) . '</p>';
}
}