17/07/2024
Decodificação de Conteúdo no Widget de Código do Elementor (Code Highlight)
// Função para decodificar caracteres especiais no conteúdo
function wp24h_decode_html_entities($content) {
return htmlspecialchars_decode($content, ENT_QUOTES);
}
// Filtro para decodificar o conteúdo do widget de destaque de código do Elementor
function m3_elementor_render_decoded_code($widget_content, $widget) {
if ($widget->get_name() === 'code-highlight') {
$widget_content = m3_decode_html_entities($widget_content);
}
return $widget_content;
}
add_filter('elementor/widget/render_content', 'wp24h_elementor_render_decoded_code', 10, 2);
Instruções de Uso com Explicação do Código
1. Crie a Função de Decodificação
Esta função irá decodificar caracteres HTML especiais:
htmlspecialchars_decode: Função do PHP que decodifica uma string convertendo entidades HTML especiais de volta para os respectivos caracteres.
2. Aplique o Filtro no Elementor
Este filtro modifica o conteúdo do widget de destaque de código do Elementor antes que ele seja renderizado:
add_filter: Função do WordPress usada para adicionar uma função à lista de funções que um filtro específico executará.elementor/widget/render_content: Nome do filtro do Elementor que é acionado para renderizar o conteúdo de um widget.$widget_content: Parâmetro que contém o conteúdo do widget.$widget: Parâmetro que contém a instância do widget atual.$widget->get_name(): Método que retorna o nome do widget.wp24h_decode_html_entities: Função personalizada que decodifica os caracteres especiais no conteúdo do widget.
Como Usar
- Adicione o Código ao seu Plugin ou Tema: Coloque o código acima no arquivo principal do seu plugin ou no arquivo
functions.phpdo seu tema. - Configuração do Elementor: Certifique-se de que o widget de destaque de código do Elementor está sendo usado para exibir o conteúdo que contém caracteres especiais.
- Verificação: Após adicionar o código, verifique no front-end se os caracteres especiais estão sendo exibidos corretamente e não mais codificados.