¿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}

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


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


0

Puedes agregar esto en tu functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.