Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Muquiranas Comment Counter
- Description: Marca comentários novos desde a última visita e mantém um contador de não lidos.
- Version: 1.0
- Author: Um leitor assiduo do Blog.
- */
- // Evita acesso direto ao arquivo
- defined('ABSPATH') or die('No script kiddies please!');
- // Adiciona o campo de data/hora na seção de comentários
- add_action('comment_form_before', 'muquiranas_add_last_visit_field');
- function muquiranas_add_last_visit_field() {
- ?>
- <div class="muquiranas-last-visit">
- <label for="last_visit">Última visita (formato: AAAA-MM-DD HH:MM):</label>
- <input type="text" id="last_visit" name="last_visit" placeholder="Ex.: 2025-04-10 14:30" />
- <button id="muquiranas-set-time">Definir</button>
- <p>Contador de comentários não lidos: <span id="muquiranas-unread-count">0</span></p>
- </div>
- <?php
- }
- // Adiciona scripts e estilos
- add_action('wp_enqueue_scripts', 'muquiranas_enqueue_scripts');
- function muquiranas_enqueue_scripts() {
- wp_enqueue_style('muquiranas-style', plugin_dir_url(__FILE__) . 'muquiranas.css');
- wp_enqueue_script('muquiranas-script', plugin_dir_url(__FILE__) . 'muquiranas.js', array('jquery'), '1.0', true);
- // Passa informações para o JavaScript
- wp_localize_script('muquiranas-script', 'muquiranasData', array(
- 'ajax_url' => admin_url('admin-ajax.php'),
- ));
- }
- // Filtra a exibição dos comentários para marcar os não lidos
- add_filter('comment_class', 'muquiranas_add_unread_class', 10, 3);
- function muquiranas_add_unread_class($classes, $class, $comment_id) {
- // Este filtro será ajustado via JavaScript para evitar sobrecarga no servidor
- return $classes;
- }
- // Estilo CSS (salvar como muquiranas.css no mesmo diretório do plugin)
- add_action('wp_head', 'muquiranas_inline_css');
- function muquiranas_inline_css() {
- ?>
- <style>
- .muquiranas-unread {
- background-color: #ffeb3b;
- }
- .muquiranas-last-visit {
- margin-bottom: 20px;
- }
- .muquiranas-last-visit input {
- padding: 5px;
- margin-right: 10px;
- }
- </style>
- <?php
- }
Advertisement
Add Comment
Please, Sign In to add comment