Afișare guest author cu nume particularizat și doar atunci când este cazul

Chiar dacă acesta este un blog personal, uneori veți vedea în el articole scrise de alți autori, cum este articolul despre GlassWire de exemplu. În astfel de cazuri, sub titlu, imediat după numele categoriei, veți vedea un tag cu numele autorului invitat precum și indicativul (guest author).

autor invitat

Respectivul tag este configurat pentru a-și face apariția în mod automat atunci când este cazul, adică atunci când autorul articolului este altul decât eu. Mai mult, chiar dacă în WordPress am creat doar un singur cont pentru toți autorii invitați care vor dori să scrie pe blog, numele afișat poate fi particularizat cu ajutorului unui câmp special.

Așadar, pentru fiecare autor invitat, deși articolul va fi publicat folosind contul WordPress „guest author”, voi alege câmpul special „guest-author” a cărui valoare va fi numele real al autorului.

camp special

Dacă dispuneți de un blog creat cu CMS-ul Wordpress și doriți să faceți la fel, vă pun la dispoziție liniile de cod care vă vor permite implementarea acestei caracteristici.

Important!

Nu puneți în aplicare indicațiile din acest articol dacă n-ați mai editat niciodată codul sursă al temei! De asemenea, e important ca înainte de a altera codul sursă a documentelor PHP să faceți un backup al acestora în starea originală!

Funcții

Fiecare temă WordPress are un document PHP care include toate funcțiile speciale ce-i modifică într-un fel sau altul comportamentul. Acesta se află în folderul temei cu numele „functions.php”.

Pentru a activa caracteristica de înlocuire a numelui utilizatorului WordPress cu cel real al autorului invitat, editați acest document și introduceți la sfârșitul său următoarele linii de cod.

add_filter( 'the_author', 'guest_author_name' );
add_filter( 'get_the_author_display_name', 'guest_author_name' );

function guest_author_name( $name ) {
global $post;

$author = get_post_meta( $post->ID, 'guest-author', true );

if ( $author )
$name = $author;

return $name;
}

Condiționarea afișării autorului

Pe un blog personal consider că e inutil să vă afișați numele sub titlul fiecărui articol, așadar, dacă doriți ca tag-ul autorul fie afișat doar dacă articolul a fost postat de un autor invitat, creați un utilizator nou al blogului, de preferință având rolul de editor, și dați-i orice nume doriți. Articolele scrise de autorii invitați le veți publica sub semnătura acestui utilizator. Pe lângă avantajul deja menționat, această modalitate de publicare a articolelor scrise de autori invitați vă mai oferă unul: simplificarea identificării rapide a tuturor articolelor scrise de alți autori.

Pentru a dezactiva afișarea permanentă a autorului, localizați în documentul PHP care determină modul în care este afișat fiecare articol pe blog, de obicei single.php, și înlocuiți funcția

<?php the_author(); ?>

cu

<?php if($post->post_author == '2'): ?>
<span class="post-author">Scris de <?php the_author() ?></span>
<?php endif; ?>

În codul de mai sus, 2 reprezintă ID-ul utilizatorului creat în acest scop. Dacă ID-ul este altul, înlocuiți cifra 2 cu ID-ul corect.

Dacă doriți, puteți proceda la fel pentru fiecare document PHP care afișează numele autorului.

Începând din acel moment, de fiecare dată când veți publica pe blog articolul scris de un autor invitat, definiți pentru respectivul articol utilizatorul creat special în acest scop, apoi alocații-i câmpul special guest-author (va trebui creat manual la prima utilizare).

inlocuirea autorului

În plus, dacă doriți să aduceți la cunoștința cititorilor dumneavoastră faptul că articolul este scris de un autor invitat, puteți adăuga înainte de </span>(guest author) de exemplu.

Un comentariu

  1. multumesc de sfaturi! deocamdata, doar eu scriu pe blog, sunt putini „devoratori” de hip hop si…dar poate candva voi ajunge si eu ca tine 😛

Faci un comentariu sau dai un răspuns?

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.