Tutorial Divi: Cómo cambiar de nombre los proyectos

El tema Divi incluye un tipo de contenido, o custom post type, denominado Proyecto, Project en inglés, muy útil, sobre todo si utilizas el módulo Portafolios, que es el que se alimenta de este tipo de contenido personalizado.

Hay otro módulo que también los usa, el Portafolios filtrable que, además, tiene un navegador por categorías propias muy interesante para muchos usos.

Ahora bien, tienen una pega, y es que no para todas las webs viene bien que se llame proyectos, pues vendría bien usarlo para otros tipos de contenido personalizados, o llamados de otro modo.

Por ejemplo, para películas, recetas, pisos y chalés, lo que se te ocurra o necesites.

Así que manos a la obra ¿no?

Cambiar solo el slug de los proyectos

Si esto es lo único que quieres, cambiar el slug de los proyectos, para que en vez de project sea otra cosa, añade este código al archivo functions.php de tu tema hijo:

/* Cambiar slug CPT divi */
function ft_divi_custom_post_name () {
return array(
'feeds' => true,
'slug' => 'cosa',
'with_front' => false,
);
}
add_filter( 'et_project_posttype_rewrite_args', 'ft_divi_custom_post_name' );

Por supuesto, cambia cosa al slug que le quieras poner a tus proyectos en vez de project, que es el slug por defecto de Divi.

Cambiar totalmente el tipo de contenido personalizado y sus taxonomías

Si lo que quieres es, por el contrario, crear completamente tu nuevo custom post type a partir del código ya incluido n Divi entonces el código será un poco más amplio, así:

/* Nuevo CPT, slug y taxonomías Divi */
function child_et_pb_register_posttypes() { $labels = array( 'add_new' => __( 'Añadir nueva', 'Divi' ),
        'add_new_item'       => __( 'Añadir nueva cosa', 'Divi' ),
        'all_items'          => __( 'Todas las cosas', 'Divi' ),
        'edit_item'          => __( 'Editar cosa', 'Divi' ),
        'menu_name'          => __( 'Cosas', 'Divi' ),
        'name'               => __( 'Cosas', 'Divi' ),
        'new_item'           => __( 'Nueva cosa', 'Divi' ),
        'not_found'          => __( 'No hay nada', 'Divi' ),
        'not_found_in_trash' => __( 'No hay nada en la papelera', 'Divi' ),
        'parent_item_colon'  => '',
        'search_items'       => __( 'Buscar cosas', 'Divi' ),
        'singular_name'      => __( 'Cosa', 'Divi' ),
        'view_item'          => __( 'Ver cosa', 'Divi' ),
    );
 
    $args = array(
        'can_export'         => true,
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'labels'             => $labels,
        'menu_icon'          => 'dashicons-images-alt',
        'menu_position'      => 5,
        'public'             => true,
        'publicly_queryable' => true,
        'query_var'          => true,
        'show_in_nav_menus'  => true,
        'show_ui'            => true,
        'rewrite'            => apply_filters( 'et_project_posttype_rewrite_args', array(
            'feeds'          => true,
            'slug'           => 'cosas',
            'with_front'     => false,
        )),
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'revisions', 'custom-fields' ),
    );
 
    register_post_type( 'project', apply_filters( 'et_project_posttype_args', $args ) );
 
    $labels = array(
        'name'              => _x( 'Categorías', 'Nombre de categoría de la cosa', 'Divi' ),
        'singular_name'     => _x( 'Categoría', 'Nombre en singular de la categoría de la cosa', 'Divi' ),
        'search_items'      => __( 'Buscar categorías', 'Divi' ),
        'all_items'         => __( 'Todas las categorías', 'Divi' ),
        'parent_item'       => __( 'Categoría superior', 'Divi' ),
        'parent_item_colon' => __( 'Categoría superior:', 'Divi' ),
        'edit_item'         => __( 'Editar categoría', 'Divi' ),
        'update_item'       => __( 'Actualizar categoría', 'Divi' ),
        'add_new_item'      => __( 'Añadir nueva categoría', 'Divi' ),
        'new_item_name'     => __( 'Nombre de la nueva categoría', 'Divi' ),
        'menu_name'         => __( 'Categorías', 'Divi' ),
    );
 
    register_taxonomy( 'project_category', array( 'project' ), array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
    ) );
 
    $labels = array(
        'name'              => _x( 'Etiquetas', 'Nombre de etiqueta de la cosa', 'Divi' ),
        'singular_name'     => _x( 'Etiqueta', 'Nombre en singular de la etiqueta de la cosa', 'Divi' ),
        'search_items'      => __( 'Buscar etiquetas', 'Divi' ),
        'all_items'         => __( 'Todas las etiquetas', 'Divi' ),
        'parent_item'       => __( 'Etiqueta superior', 'Divi' ),
        'parent_item_colon' => __( 'Etiqueta superior:', 'Divi' ),
        'edit_item'         => __( 'Editar etiqueta', 'Divi' ),
        'update_item'       => __( 'Actualizar etiqueta', 'Divi' ),
        'add_new_item'      => __( 'Añadir nueva etiqueta', 'Divi' ),
        'new_item_name'     => __( 'Nombre de la nueva etiqueta', 'Divi' ),
        'menu_name'         => __( 'Etiquetas', 'Divi' ),
    );
 
    register_taxonomy( 'project_tag', array( 'project' ), array(
        'hierarchical'      => false,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
    ) );
 
    $labels = array(
        'name'               => _x( 'Diseños', 'Nombre general del tipo de diseño', 'Divi' ),
        'singular_name'      => _x( 'Diseño', 'Nombre en singular del tipo de diseño', 'Divi' ),
        'add_new'            => _x( 'Añadir nuevo', 'Layout item', 'Divi' ),
        'add_new_item'       => __( 'Añadir nuevo diseño', 'Divi' ),
        'edit_item'          => __( 'Editar diseño', 'Divi' ),
        'new_item'           => __( 'Nuevo diseño', 'Divi' ),
        'all_items'          => __( 'Todos los diseños', 'Divi' ),
        'view_item'          => __( 'Ver diseño', 'Divi' ),
        'search_items'       => __( 'Buscar diseños', 'Divi' ),
        'not_found'          => __( 'No hay nada', 'Divi' ),
        'not_found_in_trash' => __( 'No hay nada en la papelera', 'Divi' ),
        'parent_item_colon'  => '',
    );
 
    $args = array(
        'labels'             => $labels,
        'public'             => false,
        'can_export'         => true,
        'query_var'          => false,
        'has_archive'        => false,
        'capability_type'    => 'post',
        'hierarchical'       => false,
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'revisions', 'custom-fields' ),
    );
 
    register_post_type( 'et_pb_layout', apply_filters( 'et_pb_layout_args', $args ) );
}
 
function remove_et_pb_actions() {
    remove_action( 'init', 'et_pb_register_posttypes', 15 );
}
 
add_action( 'init', 'remove_et_pb_actions');
add_action( 'init', 'child_et_pb_register_posttypes', 20 );

Importante: Por favor, no te olvides de cambiar el nombre del nuevo tipo de contenido, en el ejemplo cosa.

Acuérdate también de cambiar el icono al que prefieras, sustituyendo dashicons-images-alt por el que sea más de tu gusto.

Importante: Como antes, en el escritorio de tu WordPress ve a Ajustes > Enlaces permanentes y guarda cambios sin modificar ningún ajuste.

Al final lo que obtienes es algo así:

Y el slug también cambiará al que hayas elegido.


Seguro que usas este truco más de una vez, sacando por fin partido tanto al tipo de contenido personalizado project de Divi como a los módulos de Portafolios y Portafolios filtrable, ahora sí, adaptado a las necesidades de tus clientes o las tuyas.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

11 comentarios en “Tutorial Divi: Cómo cambiar de nombre los proyectos”

  1. ¡Genial post y muy útil!

    En mi caso sería perfecto poder cambiar la URL para que quede así: ejemplo.com/categoria_cosas/cosa ¿Es posible hacerlo?

    ¡Gracias!

  2. ¡Muy útil y sencillo!

    ¿Cómo podría hacer que en la URL, en lugar de /cosas/cosa apareciera /categoria_de_cosa/cosa?

    ¡Muchas gracias!

  3. Visual Comerce

    Buenos días Fernando y gracias por la aportación.

    Tengo un problema y no se si podrás ayudarme. Lo que yo pretendo es eliminar Project de la url y que muestre solo el título del proyecto. Siguiendo tus indicaciones incluyo en functions.php

    function ft_divi_custom_post_name () {
    return array(
    ‘feeds’ => true,
    ‘slug’ => ‘/’,
    ‘with_front’ => false,
    );
    }
    add_filter( ‘et_project_posttype_rewrite_args’, ‘ft_divi_custom_post_name’ );

    Después actualizo los Ajustes de los enlaces permanentes. Al recargar la página de proyectos la url que muestra ver en cada proyecto es correcta, pero al hacer clik para ir a ella devuelve un error 404. Es como si no asociase la url con el cpt.

    He vaciado la caché del navegador pero el problema persiste.

    ¿Te ha sucedido en alguna ocasión?, ¿alguna idea para solucionarlo?

    Muchas gracias por tu ayuda. Un saludo.

  4. Hola Fernando, muy buen tutorial pero tengo un problema y puede ser que yo lo adapté al theme Extra que tiene incorporado Divi Builder, se crean los CTP pero no se los ve en portada ni en páginas de archivos, ejemplo miweb.com/categoria lo que hice fue cambiar el texto de dominio «Divi» a «extra-child-theme»

    Cualquier ayuda se agradece mucho, saludos.

  5. Gracias por compartir conocimientos.

    Relacionado con el tema, ¿es posible crear un clon de CTP con otro nombre y categorías?
    Lo que pretendo es tener 2 CPT independientes, por ejemplo, ‘Residencias’ y ‘Trabajos’ para recoger diferentes productos de distinta naturaleza, con slug y categorías diferentes y que puedan ser gestionados desde el módulo ‘Portfolio’ en el constructor.

    Un saludo,

  6. Bruno Armenteros

    Hola,

    El codigo para crear completamente tu nuevo custom post type hace que no tengas acceso a la biblioteca divi usando un tema hijo, activando el tema padre de divi o eliminando dicho coidgo se puede acceder a la biblioteca. ¿Podrías echarle un ojo?
    Muchas gracias

    1. Hola Bruno, me pasa lo mismo, me salta el error:
      Lo siento, no tienes permisos para editar publicaciones en este tipo de contenido.

      He encontrado la forma para que no de el error, y es eliminar una parte (y después volver a guardar los «enlaces permanentes».
      Es justo la parte del Layouts,

      ‘$labels = array(
      ‘name’ => _x( ‘Layouts’, ‘Layout type general name’, ‘Divi’ ),
      ‘singular_name’ => _x( ‘Layout’, ‘Layout type singular name’, ‘Divi’ ),
      ‘add_new’ => _x( ‘Add New’, ‘Layout item’, ‘Divi’ ),
      ‘add_new_item’ => __( ‘Add New Layout’, ‘Divi’ ),
      ‘edit_item’ => __( ‘Edit Layout’, ‘Divi’ ),
      ‘new_item’ => __( ‘New Layout’, ‘Divi’ ),
      ‘all_items’ => __( ‘All Layouts’, ‘Divi’ ),
      ‘view_item’ => __( ‘View Layout’, ‘Divi’ ),
      ‘search_items’ => __( ‘Search Layouts’, ‘Divi’ ),
      ‘not_found’ => __( ‘Nothing found’, ‘Divi’ ),
      ‘not_found_in_trash’ => __( ‘Nothing found in Trash’, ‘Divi’ ),
      ‘parent_item_colon’ => »,
      );

      $args = array(
      ‘labels’ => $labels,
      ‘public’ => false,
      ‘can_export’ => true,
      ‘query_var’ => false,
      ‘has_archive’ => false,
      ‘capability_type’ => ‘post’,
      ‘hierarchical’ => false,
      ‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’, ‘excerpt’, ‘comments’, ‘revisions’, ‘custom-fields’ ),
      );

      register_post_type( ‘et_pb_layout’, apply_filters( ‘et_pb_layout_args’, $args ) );’

      Quedando el código así:
      https://www.kreatibu.com/blog/cambiar-el-nombre-de-los-proyectos-en-wordpress-divi/

  7. Antonio Roldan Ruiz

    Muchas gracias Fernando, muy úytil. Uns pregunta, si tenemnos un CPT hechgo a código o con ACT, cómo puedo mostrarlo en una parrilla como los elementos Blog o Portfolio que tiene Divi? Lo he intentado pero módulo con cargan los CPT, solo los post del Blog y Proyectos. He visto nevagando que hay un plugin por ahí (nada barato). Supongo que habrá otra manera. Me puedes Ayudar?? Gracias

  8. Enrique Martínez

    Hola Fernado he estado viendo tus videos en Youtube y he repasado todos tus post y me alegro de que por fin alguien explique las cosas para profanos como yo. Como cada vez queremos hacer mas cosas en nuestras webs a mi me ha surgido un problema con los Portafolios filtrables de DIVI y es que quiero añadir algo de CSS para añadir un botón a la imagen que me permita añadirle una URL que me lleve aun calendario de actividades categorizado para que el usuario no tenga que entrar el proyecto para buscar el botón del calendario sino que lo pueda hacer desde la propia imagen que nos aparece en le projecto. Crees que se puede hacer algo así. Te estaría muy agradecido, Un saludo

  9. Pierre García Barre

    Buen post, funciona, una consulta si alguien le ha pasado: en los portafolios filtrables las entradas aparecen ordenadas por fecha, ¿cómo se hace para ordenarlos alfabético por título? el módulo en la versión 4 no trae esa opción.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido