În fluxul editorial al unui blog sau al unei publicații online administrate în WordPress, colaborarea dintre autori, editori și corectori este esențială. De multe ori, este util să adaugi observații, instrucțiuni interne sau referințe bibliografice direct în corpul unui articol, fără ca aceste note să fie vizibile cititorilor obișnuiți.
Pentru a obține această funcționalitate fără a încărca site-ul cu pluginuri suplimentare, poți crea un shortcode personalizat în fișierul functions.php al temei copil (child theme) sau într-un modul specific.
Implementarea codului PHP
Adaugă următorul fragment de cod în fișierul functions.php:
function dexblog_sc_notita_privata( $atts, $content = null ) {
// Verifică dacă vizitatorul autentificat are dreptul de a publica articole
if ( current_user_can( 'publish_posts' ) ) {
return '<div class="notita-interna-redactie" style="background: #fff3cd; border-left: 4px solid #ffeeba; padding: 12px 16px; margin: 16px 0; color: #856404;"><strong>Notă redacție:</strong> ' . do_shortcode( $content ) . '</div>';
}
return '';
}
add_shortcode( 'note', 'dexblog_sc_notita_privata' );
Cum funcționează acest mecanism?
Funcția utilizează verificarea de permisiuni current_user_can('publish_posts') din nucleul WordPress:
- Dacă pagina este accesată de un utilizator autentificat cu rol de Autor, Editor sau Administrator, conținutul marcat între etichetele
[note]...[/note]va fi afișat într-o casetă distinctă de notificare internă. - Pentru vizitatorii neautentificați sau utilizatorii cu roluri fără permisiuni de publicare (de exemplu, abonați), funcția întoarce un șir gol (
''), iar mesajul rămâne complet invizibil.
Exemplu de utilizare în editor:
[note]Notă pentru corector: Te rog să verifici graficul din a doua secțiune înainte de lansarea pe rețelele sociale.[/note]
Această soluție oferă un mecanism simplu, sigur și elegant de comunicare internă între membrii echipei redacționale direct în paginile site-ului.