Não existe um plug-in WordPress único ou funcionalidade interna para ocultar diretamente o conteúdo até que um usuário comenta. Você precisará de uma solução personalizada envolvendo uma combinação de PHP e potencialmente JavaScript. A melhor abordagem depende de quão sofisticado você deseja que a funcionalidade seja.
Aqui estão alguns métodos, variando de mais simples a mais complexo:
Método 1:Abordagem simples (usando php e um cookie) Este é o mais fácil, mas menos preciso. Ele esconde o conteúdo até que * qualquer comentário seja enviado, não necessariamente um comentário do usuário específico que visualiza a página.
1.
Código PHP (no arquivo `Functions.php` do seu tema ou um plugin personalizado): `` `php
php
add_action ('init', 'set_comment_cookie');
função set_comment_cookie () {
if (isset ($ _post ['comentário'])) {// verifique se um comentário é enviado
setCookie ('comentado', 'true', time () + 31536000, '/'); // Defina um biscoito com duração de um ano
}
}
função show_content_after_comment () {
if (isset ($ _cookie ['comentado']) &&$ _cookie ['comentado'] =='true') {
eco '
Este conteúdo é visível após o envio de um comentário.
';
} outro {
eco '
Deixe um comentário para ver este conteúdo.
';
}
}
add_shortcode ('hidden_content', 'show_content_after_comment');
?>
`` `
2.
Uso: Na sua página Conteúdo, use o código de atalho:`[hidden_content]`
Método 2:Abordagem mais avançada (usando PHP, JavaScript e Ajax) Este método requer mais codificação, mas oferece uma melhor experiência do usuário, pois não requer uma página recarregada.
1.
`` `php
php
add_action ('wp_ajax_nopriv_check_comment', 'check_comment_ajax'); // para usuários não viados
add_action ('wp_ajax_check_comment', 'check_comment_ajax'); // para usuários de login
função check_comment_ajax () {
// Verifique se o usuário comentou (requer uma consulta de banco de dados ou um método mais sofisticado para rastrear os comentários do usuário. Veja abaixo).
$ user_id =get_current_user_id (); // Obtenha ID de usuário atual
$ has_commented =check_if_user_commented ($ user_id); // Funciona para verificar se o usuário comentou (explicado abaixo).
if ($ has_commented) {
wp_send_json_success (Array ('show' => true));
} outro {
wp_send_json_success (Array ('show' => false));
}
wp_die ();
}
// Funciona para verificar se um usuário comentou (substitua pela sua lógica real).
função check_if_user_commented ($ user_id) {
Global $ WPDB;
$ count =$ wpdb-> get_var ($ wpdb-> preparar ("selecione contagem (*) de $ wpdb-> comentários onde user_id =%d", $ user_id));
retornar $ contagem> 0;
}
?>
`` `
2.
código JavaScript (no seu tema `header.php` ou um arquivo` .js` separado no seu tema): `` `JavaScript
jQuery (documento) .ready (função ($) {
var hiddencOntent =$ ('#Hidden-Content'); // Substitua #Hidden-Content pelo ID do seu conteúdo oculto div
$ .ajax ({
URL:Ajaxurl,
Tipo:'post',
dados:{
ação:'check_comment',
},
Sucesso:função (resposta) {
if (Response.show) {
hiddencOntent.show ();
}
}
});
});
`` `
3.
código html (no conteúdo da sua página): `` `html
Este conteúdo é visível após o envio de um comentário.
`` `
Considerações importantes para o método 2: *
Consulta de banco de dados: A função `check_if_user_commented` usa uma consulta simples de banco de dados para verificar se o usuário tem algum comentário. Você provavelmente precisará refinar isso para explicar as aprovações de comentários e outros fatores.
*
AJAX URL: Verifique se `Ajaxurl` está corretamente definido em seu tema (geralmente tratado automaticamente pelo WordPress).
*
Segurança: Sempre higienize e valide a entrada do usuário para evitar vulnerabilidades de segurança.
*
Experiência do usuário: Considere fornecer feedback claro ao usuário enquanto aguarda a conclusão da solicitação do AJAX.
Método 3:Desenvolvimento de plug -in Para uma solução robusta e sustentável, considere criar um plug -in WordPress personalizado. Isso permitiria recursos mais avançados, melhor organização de código e atualizações mais fáceis.
Lembre -se de substituir os IDs de espaço reservado e ajustar o código para corresponder ao seu tema e necessidades específicos. O segundo método fornece uma experiência do usuário muito mais suave, mas requer uma experiência de codificação significativamente mais. Escolha o método que melhor se adapte às suas habilidades e requisitos. Se você não estiver confortável com PHP e JavaScript, considere contratar um desenvolvedor.