Guest User

muquiranas.php

a guest
Apr 10th, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: Muquiranas Comment Counter
  4. Description: Marca comentários novos desde a última visita e mantém um contador de não lidos.
  5. Version: 1.0
  6. Author: Um leitor assiduo do Blog.
  7. */
  8.  
  9. // Evita acesso direto ao arquivo
  10. defined('ABSPATH') or die('No script kiddies please!');
  11.  
  12. // Adiciona o campo de data/hora na seção de comentários
  13. add_action('comment_form_before', 'muquiranas_add_last_visit_field');
  14. function muquiranas_add_last_visit_field() {
  15. ?>
  16. <div class="muquiranas-last-visit">
  17. <label for="last_visit">Última visita (formato: AAAA-MM-DD HH:MM):</label>
  18. <input type="text" id="last_visit" name="last_visit" placeholder="Ex.: 2025-04-10 14:30" />
  19. <button id="muquiranas-set-time">Definir</button>
  20. <p>Contador de comentários não lidos: <span id="muquiranas-unread-count">0</span></p>
  21. </div>
  22. <?php
  23. }
  24.  
  25. // Adiciona scripts e estilos
  26. add_action('wp_enqueue_scripts', 'muquiranas_enqueue_scripts');
  27. function muquiranas_enqueue_scripts() {
  28. wp_enqueue_style('muquiranas-style', plugin_dir_url(__FILE__) . 'muquiranas.css');
  29. wp_enqueue_script('muquiranas-script', plugin_dir_url(__FILE__) . 'muquiranas.js', array('jquery'), '1.0', true);
  30.  
  31. // Passa informações para o JavaScript
  32. wp_localize_script('muquiranas-script', 'muquiranasData', array(
  33. 'ajax_url' => admin_url('admin-ajax.php'),
  34. ));
  35. }
  36.  
  37. // Filtra a exibição dos comentários para marcar os não lidos
  38. add_filter('comment_class', 'muquiranas_add_unread_class', 10, 3);
  39. function muquiranas_add_unread_class($classes, $class, $comment_id) {
  40. // Este filtro será ajustado via JavaScript para evitar sobrecarga no servidor
  41. return $classes;
  42. }
  43.  
  44. // Estilo CSS (salvar como muquiranas.css no mesmo diretório do plugin)
  45. add_action('wp_head', 'muquiranas_inline_css');
  46. function muquiranas_inline_css() {
  47. ?>
  48. <style>
  49. .muquiranas-unread {
  50. background-color: #ffeb3b;
  51. }
  52. .muquiranas-last-visit {
  53. margin-bottom: 20px;
  54. }
  55. .muquiranas-last-visit input {
  56. padding: 5px;
  57. margin-right: 10px;
  58. }
  59. </style>
  60. <?php
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment