Eliminar la palabra Author de la URL de WordPress

ForoFreelance Foros Programación & Tecnologías Eliminar la palabra Author de la URL de WordPress

Viendo 1 publicación (de un total de 1)
  • Autor
    Publicaciones
  • #12009

    Juan
    Participante
    @juan

    Record +79

    Te explico como eliminar la palabra Author de la URL de WordPress mediante un función para que los enlaces a los perfiles sean del tipo: http://www.miweb.com/juan/ o http://www.miweb.com/tu_nombre_de_usuario/

    La palabra “Author”se la puede remover del sistema de url de WordPress, sin embargo los desarrolladores no lo recomiendan porque en algún momento puede existir url duplicadas y se producirían errores como redireccionamientos automáticos,etc.

    ¿Cómo funciona?

    Ejemplo:

    Hemos creado un usuario para publicar los artículos patrocinados de la marca “Goge” por lo tanto la url sería: http://www.miweb.com/author/goge

    Si removemos el slug /author/ quedaría así :

    http://www.miweb.com/goge

    Atención! Pero, si creas por ejemplo una página o un post llamado goge entonces generarás dos url con la misma dirección:

    http://www.miweb.com/goge (Perfil de Autor)

    http://www.miweb.com/goge (Página o Post llamado Patrocinador)

    Por lo tanto es recomendable utilizar esta función con cuidado y sobre todo tomar las medidas necesarias para evitar url duplicadas que dañen el funcionamiento de wordpress.

    ¿Pasos para instalar el código?

    1.- Vamos a –> “Apariencia” –> “Editor”

    2.- Seleccionamos el archivo Functions.php

    3.- Al final del archivo Functions.php pegamos el siguiente código y damos click en “Actualizar Archivo”:

    /*Remove Author Slug From Author Url WordPress*/
    add_filter('author_rewrite_rules', 'no_author_base_rewrite_rules');
    function no_author_base_rewrite_rules($author_rewrite) {
    global $wpdb;
    $author_rewrite = array();
    $authors = $wpdb->get_results("SELECT user_nicename AS nicename from $wpdb->users");
    foreach($authors as $author) {
    $author_rewrite["({$author->nicename})/page/?([0-9]+)/?$"] = 'index.php?author_name=$matches[1]&paged=$matches[2]';
    $author_rewrite["({$author->nicename})/?$"] = 'index.php?author_name=$matches[1]';
    }
    return $author_rewrite;
    }
    
    // The Second Part //
    add_filter('author_link', 'no_author_base', 1000, 2);
    function no_author_base($link, $author_id) {
    $link_base = trailingslashit(get_option('home'));
    $link = preg_replace("|^{$link_base}author/|", '', $link);
    return $link_base . $link;
    }

    4.- Vamos a –> “Ajustes” –> “Enlaces Permanentes” y damos click en “Guardar Cambios”.

    5.- Abrimos un artículo (o escrbímos la url del autor) para verificar que el cambio se haya ejecutado.

    Si te gusto mi tutorial, espero leer tu comentario! :-V

    - Valoraciones -
    2 votos, promedio: 5,00 de 52 votos, promedio: 5,00 de 52 votos, promedio: 5,00 de 52 votos, promedio: 5,00 de 52 votos, promedio: 5,00 de 5
    2 Votos (5,00/5)
Viendo 1 publicación (de un total de 1)

Debes estar registrado para responder a este debate. Entrar & Registro