Shortcode

Registra o shortcode que deve ser adicionado na página em que o plugin deve aparecer.

O shortcode a ser adicionado é [claroluz].

Ele também aceita o parâmetro show para definir se deve ser carregado em todas as resoluções, apenas no mobile ou apenas no desktop. Por padrão o valor é all.

Exemplo:

[claroluz show="mobile"]

O shortcode aceita mais um parâmetro, layout, ele foi pensado para que o mesmo plugin possa ter variações e através deste parâmetro é possível escolher qual layout deve ser carregado. Atualmente ele só possui o layout default e este é o padrão.

Exemplo:

[claroluz layout="layout-2"]

É possível combinar ambos os parâmetros, para por exemplo, carregar um eventual layout layout-2 apenas no mobile.

Exemplo:

[claroluz show="mobile" layout="layout-2"]

Informações sobre o código

Como mencionado acima, o parâmetro show recebe all por padrão e layout recebe default por padrão, da seguinte forma:

$showOn = $atts['show'] ?? 'all';
$layout = $atts['layout'] ?? 'default';

showOn

O valor de $showOn define em qual resolução o shortcode deve ser carregado, ele recebe o valor de show, conforme explicado anteriormente.

Ele é utilizado em uma condicional e se a condição for verdadeira, o o HTML do plugin é renderizado, caso contrário, nada é renderizado.

if ($showOn === 'all' || ($showOn === 'mobile' && $isMobile) || ($showOn === 'desktop' && !$isMobile)) {
    // The content
}

layout

O valor de $layout define qual layout deve ser carregado, ele recebe o valor de layout, conforme explicado anteriormente.

O valor da variável sobrescreve a string {{layoutVersion}} no HTML do plugin.

$this->content = str_replace('{{layoutVersion}}', "claroluz-layout-{$layout}", $this->content);

isMobile

Uma outra variável importante no setup do layout é a variável $isMobile, ela é responsável por verificar se o dispositivo é um mobile ou não. Ela é definida da seguinte forma:

$isMobile = wp_is_mobile();

Com esta informação, o algorimo altera a string {{type}} para o tipo de uploader que deve iniciar por padrão. Se for mobile o valor é type-qr e se for desktop o valor é type-pdf.

$this->content = str_replace('{{type}}', $isMobile ? 'type-qr' : 'type-pdf', $this->content);

privacyUrl

O plugin não tem conhecimento da URL da página de privacidade do site, este dado é obtido via função do WordPress e sobrescrito na string {{privacyUrl}}.

$this->content = str_replace('{{privacyUrl}}', !empty($privacyUrl) ? $privacyUrl : '#', $this->content);
Last Updated:
Contributors: Weverton J. da Silva