Así es como puede hacer la primera parte del trabajo: deshacerse de la babosa CPT en el enlace de la publicación (por ejemplo, tipo de publicación de noticias).
function df_custom_post_type_link( $post_link, $id = 0 ) {
$post = get_post($id);
if ( is_wp_error($post) || 'news' != $post->post_type || empty($post->post_name) )
return $post_link;
return home_url(user_trailingslashit( "$post->post_name" ));
}
add_filter( 'post_type_link', 'df_custom_post_type_link' , 10, 2 );
Ahora deben ir las reglas de reescritura para 'noticias', porque obtendrá un error 404.
Agregue la regla de reescritura como esta:
function df_custom_rewrite_rule() {
add_rewrite_rule('(.*?)$', 'index.php?news=$matches[1]', 'top');
}
add_action('init', 'df_custom_rewrite_rule');
Luego tendremos que vaciar las reglas de reescritura, así que vaya a Configuración - Permalinks y guarde los cambios.