¿Anular la URL predeterminada para las páginas de autor?

13

Por lo tanto, la URL predeterminada para mostrar una lista de publicaciones de un autor en particular se ve así:

http://domain.com/author/{username}

Me pregunto cómo cambiar el 'autor' en esa url a otra cosa.

Estoy trabajando en un sitio web para una escuela charter y les gustaría permitir que cada maestro tenga una lista de publicaciones por "aula". Entonces la URL deseada sería

http://domain.com/classroom/{username}

jessegavin
fuente

Respuestas:

15

Puede agregar esto en sus funciones y reescribirá la babosa del "autor" predeterminado al "aula",

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

espero que te ayude

Philip
fuente
1
flush_rules()es bastante costoso (en recursos), por lo que no lo llamaría en cada carga de página. Si solo hace esto para un sitio, puede omitirlo y simplemente visitar la página de enlaces permanentes , esto también eliminará las reglas.
Jan Fabry
Sí @ Jan Fabry, tienes razón, he editado la respuesta ahora. Escribí una mejor solución.
Philip
44
Para cualquiera que se pregunte si usar este fragmento o el complemento t31os mencionado: el complemento hace exactamente lo mismo, pero con una interfaz para cambiar la parte de la URL. Dado que probablemente no lo cambie todos los meses, este fragmento en su functions.phpes más que suficiente (y no se desactivará por accidente).
Jan Fabry
1

Utilizo el complemento "Editar autor Slug" para hacer lo mismo en mi http://www.techcartnow.com/author/kapil-khandelwal/ WordPress Blog. He modificado "autor slug" utilizando este complemento.

El complemento " Editar ficha de autor " le permite cambiar tanto la base del autor (la parte '/ author /' de las URL del autor) como la ficha del autor (por defecto es el nombre de usuario del autor).

Kapil Khandelwal
fuente
0

Puedes agregar esto en tu functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Madhavi Jha
fuente