Shortcode
Registra el shortcode que debe agregarse en la página donde debe aparecer el plugin.
El shortcode que se añadirá es [claroluz].
También acepta el parámetro 'show' para definir si debe cargarse en todas las resoluciones, solo 'móvil' o solo 'escritorio'. Por defecto el valor es todos.
Ejemplo:
[claroluz show="mobile"]
El shortcode acepta un parámetro más, layout, fue pensado para que un mismo plugin pueda tener variaciones y a través de este parámetro es posible elegir qué diseño se debe cargar. Actualmente solo tiene el diseño "predeterminado" y este es el predeterminado.
Ejemplo:
[claroluz layout="layout-2"]
Es posible combinar ambos parámetros, por ejemplo, para cargar un posible diseño layout-2 solo en móvil. Exemplo:
[claroluz show="mobile" layout="layout-2"]
Información sobre el código
Como se mencionó anteriormente, el parámetro show toma all por defecto y layout toma default por defecto, de la siguiente manera:
$showOn = $atts['show'] ?? 'all';
$layout = $atts['layout'] ?? 'default';
showOn
El valor de $showOn define en qué resolución se debe cargar el shortcode, recibe el valor de show, como se explicó anteriormente.
Se usa en un condicional y si la condición es verdadera, se representa el HTML del complemento, de lo contrario, no se representa nada.
if ($showOn === 'all' || ($showOn === 'mobile' && $isMobile) || ($showOn === 'desktop' && !$isMobile)) {
// The content
}
layout
El valor de $layout define qué diseño debe cargarse, recibe el valor de layout, como se explicó anteriormente.
El valor de la variable anula la string {{layoutVersion}} en el HTML del plugin.
$this->content = str_replace('{{layoutVersion}}', "claroluz-layout-{$layout}", $this->content);
isMobile
Otra variable importante en la configuración del diseño es la variable $isMobile, es responsable de verificar si el dispositivo es un móvil o no. Se define de la siguiente manera:
$isMobile = wp_is_mobile();
Con esta información, el algoritmo cambia la cadena {{type}} al tipo de cargador que debe iniciar de forma predeterminada. Si es móvil el valor es type-qr y si es desktop el valor es type-pdf.
$this->content = str_replace('{{type}}', $isMobile ? 'type-qr' : 'type-pdf', $this->content);
privacyUrl
El plugin no conoce la URL de la página de privacidad del sitio, estos datos se obtienen a través de una función de WordPress y se sobrescriben en la string {{privacyUrl}}.
$this->content = str_replace('{{privacyUrl}}', !empty($privacyUrl) ? $privacyUrl : '#', $this->content);