settings_alojaproConfig();
$this->settings_alojaproWidget();
$this->settings_alojaproIntegration();
$this->settings_alojaproComments();
}
/**
* Config Options page callback
*/
public function create_config_page()
{
// Set class property
$this->options = array_merge(get_option('alojapro_config', array()));
?>
Configuración General del Widget
options = array_merge(get_option('alojapro_settings', array()));
?>
Alojapro Widget
*Classic",
"Sin Descuentos *Classic",
"Con filtros avanzados *Classic & Modern",
"Con filtros avanzados sin descuentos *Classic & Modern",
"Con destinos *Modern",
"Con destinos sin descuentos *Modern",
"Estándar sin filtros avanzados *Modern"),
) // params callback function
);
add_settings_field(
'customPrimaryColor', // ID
'Custom Primary Color', // Title
array($this, 'input_callback'), // Callback
'alojapro-widget-settings', // Page
'setting_section_id', // Section
array(
"customPrimaryColor",
"color",
"",
'alojapro_settings',
"",
) // params callback function
);
add_settings_field(
'customSecondaryColor', // ID
'Custom Secondary Color', // Title
array($this, 'input_callback'), // Callback
'alojapro-widget-settings', // Page
'setting_section_id', // Section
array(
"customSecondaryColor",
"color",
"",
'alojapro_settings',
"",
) // params callback function
);
add_settings_field(
'customStyle', // ID
'Style', // Title
array($this, 'input_callback'), // Callback
'alojapro-widget-settings', // Page
'setting_section_id', // Section
array(
"customStyle",
"radio",
array("0", "1"),
'alojapro_settings',
array("Flat", "Rounded"),
) // params callback function
);
add_settings_field(
'customCss', // ID
'Custom CSS', // Title
array($this, 'input_callback'), // Callback
'alojapro-widget-settings', // Page
'setting_section_id', // Section
array(
"customCss",
"textarea",
"",
'alojapro_settings',
"",
) // params callback function
);
}
/**
* Widget Integration page callback
*/
public function create_integration_page()
{
// Set class property
$this->options = array_merge(get_option('alojapro_integration', array()));
?>
Integración del widget
options = array_merge(get_option('alojapro_comments', array()));
?>
Integración de los comentarios
$value) {
switch ($key) {
case 'platformId':
$new_input[$key] = absint($value);
break;
case 'widgetId':
$new_input[$key] = absint($value);
break;
case 'propertyId':
$new_input[$key] = absint($value);
break;
case 'scrollMobile':
$new_input[$key] = absint($value);
break;
case 'scrollDesktop':
$new_input[$key] = absint($value);
break;
case 'login':
$new_input[$key] = sanitize_email($value);
break;
case 'customCss':
$new_input[$key] = sanitize_textarea_field($value);
break;
default:
$new_input[$key] = sanitize_text_field($value);
break;
}
}
return $new_input;
}
/**
* Get the settings option array and print one of its values
* @param array $params
*/
public function input_callback(array $params)
{
list($id, $type, $default, $settingsGroup, $labels) = $params;
switch ($type) {
case 'textarea':
printf(
'',
isset($this->options[$id]) ? esc_attr($this->options[$id]) : $default
);
break;
case 'radio':
//print_r($id);
for ($i = 0; $i < count($default); $i++) {
if (!isset($default[$i]) || !isset($labels[$i])) {
// Si el valor en $default o $labels no está definido, saltamos esta iteración
continue;
}
if (is_numeric($default[$i])) {
if (isset($this->options[$id]) && $this->options[$id] == $default[$i] || (!isset($this->options[$id]) && $i == 0)) {
printf(
'',
$type, $settingsGroup, $id, $default[$i]
);
} else {
printf(
'',
$type, $settingsGroup, $id, $default[$i]
);
}
printf(
'
',
$settingsGroup, $id, $labels[$i]
);
} else {
$image = ($default[$i] == 'classic') ? 'form_classic.png' : 'form_modern.png';
if (isset($this->options[$id]) && $this->options[$id] == $default[$i] || (!isset($this->options[$id]) && $i == 0)) {
printf(
'
',
ALOJAPRO_PLUGIN_BASE_URL, $image, $type, $settingsGroup, $id, $default[$i]
);
} else {
printf(
'
',
ALOJAPRO_PLUGIN_BASE_URL, $image, $type, $settingsGroup, $id, $default[$i]
);
}
printf(
'
',
$settingsGroup, $id, $labels[$i]
);
}
}
break;
default:
printf(
'',
isset($this->options[$id]) ? esc_attr($this->options[$id]) : $default
);
break;
}
}
}