Cuando desarrollamos un theme en wordpress a veces nos conviene crear un custom post type para distinguir el contenido de las entradas y ampliar la información a través del número de campos. Otras veces, simplemente, compramos un theme en wordpress que viene con un custom post predeterminado, el clásico portfolio, pero el uso que le queremos dar será distinto del viene predeterminado.
Uno de los pequeños inconvenientes es el nombre por defecto que introduce dentro de la URL cada custom post y que, normalmente, es lo que más nos molesta por temas de SEO o lógica en la estructura de los enlaces, para eso, desde functions.php
existe la variable ‘rewrite’.
Simplemente hay que localizar dónde se registra el custom post y añadirle al final
'rewrite' => array('slug' => 'profesor'),
donde el slug es el término que identificará a la categoría del custom post o sustituirá a portfolio, según el caso.
Os dejo un ejemplo completo
add_action( 'init', 'create_post_type_profesores' ); function create_post_type_profesores() { register_post_type( 'profesores', array( 'labels' => array( 'name' => __( 'Profesorado' ), 'singular_name' => __( 'Profesor' ), 'singular_label' => __( 'profesor' ), 'all_items' => __('Profesorado'), 'add_new_item' => __('Añadir un profe nuevo'), 'add_new' => __('Nuevo profe'), 'edit_item' => __('Editar profesor') ), 'public' => true, 'has_archive' => true, 'capability_type' => 'post', 'hierarchical' => true, 'query_var' => true, 'menu_position' => 5, 'menu_icon' => get_stylesheet_directory_uri() . '/images/profesor_icon.png', 'rewrite' => array('slug' => 'profesor'), 'supports' => array('title','editor','thumbnail') ) ); }