X

Cum să schimbi slug-ul URL-ului autorului

Fragmente de IsItWP

Căutați o modalitate de a schimba slug-ul URL-ului autorului? Acest fragment de cod va schimba slug-ul implicit, mysite.com/author/name, în mysite.com/profile/name. Cu toate acestea, îl puteți schimba în orice doriți.

Instrucțiuni:

  1. Adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului.
  2. Schimbați profile în linia 4 cu orice nume doriți.
add_action('init', 'cng_author_base');
function cng_author_base() {
    global $wp_rewrite;
    $author_slug = 'profile'; // change slug name
    $wp_rewrite->author_base = $author_slug;
}

Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă v-a plăcut acest fragment de cod, vă rugăm să luați în considerare să consultați celelalte articole ale noastre de pe site, cum ar fi: Cele mai bune 9 instrumente SEO pentru a crește traficul site-ului dvs., RAPID!

Comentarii   Lasă un răspuns

  1. Nici codul meu, nici al tău nu va funcționa! ! ! ! Este enervant!……

    // Schimbă baza autorului pentru URL-ul autorului.
    function custom_author_base() {
    global $wp_rewrite;
    $author_slug = ‘@’; // Setează slug-ul bazei autorului la ‘@username’
    $wp_rewrite->author_base = $author_slug;
    }
    add_action( ‘init’, ‘custom_author_base’ );

    // Rescrie URL-ul autorului la noua structură URL.
    function custom_author_rewrite_rules( $author_rewrite ) {
    $author_new_rules = array(
    ‘@([^/]+)/?$’ => ‘index.php?author_name=$matches[1]’
    );
    $author_rewrite = array_merge( $author_new_rules, $author_rewrite );
    return $author_rewrite;
    }
    add_filter( ‘author_rewrite_rules’, ‘custom_author_rewrite_rules’ );

    // Redirecționează URL-ul vechi al autorului către noua structură URL.
    function custom_author_redirect() {
    if ( is_author() && strpos( $_SERVER[‘REQUEST_URI’], ‘/author/’ ) !== false ) {
    wp_redirect( home_url( str_replace( ‘/author/’, ‘/’, $_SERVER[‘REQUEST_URI’] ) ), 301 );
    exit();
    }
    }
    add_action( ‘template_redirect’, ‘custom_author_redirect’ );

  2. Bună, este posibil să schimbați slug-ul autorului doar pentru tipurile de postări personalizate folosind o condiție if?
    Mulțumesc

  3. Aceste coduri sunt pentru a schimba baza autorului, nu slug-ul autorului.

    1. Acest lucru nu este pentru numele individuale ale autorilor, ci mai degrabă pentru a schimba slug-ul /author/ cu altceva, cum ar fi /profile/. Rezultatul final ar fi /profile/numeautor

  4. Mulțumesc!!

  5. Mulțumesc mult!!

  6. mulțumesc

  7. mulțumesc

  8. Îți amintești întrebarea lui Mike Kennedy?
    Cum poți avea doar site.com/nume-autor/ ?

    Dacă setezi author_slug = ” ;

    acest lucru va funcționa pentru paginile autorilor, dar în cazul meu acum primesc erori 404 not found pentru paginile normale. Se pare că un slug de autor gol întrerupe rescrierea pentru paginile normale.
    Are cineva o soluție?

    1. Ceea ce ai putea încerca este să mergi la „permaliene” în setări și apoi să dai clic pe „salvare modificări” pentru a goli regulile de rescriere.

  9. How to change author url base on your WordPress site October 2, 2013 at 10:30 am

    […] lui Kevin Chard pentru grozavul […]

  10. Am reușit să schimb structura permaliene a author_base cu un cod similar celui de mai sus, dar am creat un rol personalizat și mă întreb dacă aș putea avea 2 author_base-uri diferite în funcție de rolul utilizatorului. Structura implicită pentru administratori, autori etc. (/author/numeautor) și alta pentru noul rol de utilizator (/gift-registry/numeautor).

    Ryan

  11. Mulțumesc!

  12. @wpsnipp:disqus este posibil să creați slug-uri personalizate pentru autori pe baza rolurilor utilizatorilor?

  13. adăugați $wp_rewrite->flush_rules()
    la sfârșitul funcției va funcționa fără 404 :)

    1. mulțumesc frate

  14. Am plasat acest cod în functions.php și a schimbat slug-ul, însă primesc o eroare 404 când accesez noul slug. Aveți sugestii? Mulțumesc

    1. Salut Zach, dacă vei continua să ai probleme, ai putea încerca acest plugin, deoarece nu ar trebui să ai probleme.

      http://wordpress.org/extend/plugins/author-slug/

      1. Salut Kevin,

        Mulțumesc pentru sugestie. Totuși, am văzut acel plugin și aș dori să aflu cum să îl folosesc fără un plugin — construiesc un site foarte mare și încerc să reduc numărul de plugin-uri.

        Mulțumesc,
        Zach

        1.  Salut Zach, ai putea pur și simplu să scoți codul din plugin și să îl plasezi în fișierul functions.php și va funcționa corect.

        2. Pentru oricine altcineva care are aceeași problemă… doar resetează permalink-urile (accesând Setări->Permalink-uri le resetezi)

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!