Modificare slug “project” in Divi Theme

Modificare slug “project” in Divi Theme

divi-logo

Utilizzate anche voi il tema DIVI per i vostri progetti e vi farebbe comodo modificare lo slug che compare nell’url dei progetti per utilizzare il custom post type per altri utilizzi? E magari perchè no modificare il permalink
per aggiungere, come per gli articoli per esempio, la categoria principale a cui appartiene il progetto?

Anch’io avevo bisogno di farlo e finalmente ho trovato la soluzione. I due, anche all’apparenza hanno soluzioni separate ma funzionano benissimo insieme.

OBIETTIVO

La mia necessità era quella di trasformare lo slug da progetti a prodotti e aggiungere nel permalink la categoria e il suffisso .html ovvero:

Da cosi: www.dominio.it/project/nome-prodotto

a così: www.dominio.it/prodotti/categoria-prodotto/nome-prodotto.html

SOLUZIONE

1) SLUG da project a prodotti

Ho trovato una soluzione molto completa che permette, oltre a cambiare lo slug di project anche di personalizzare tutto quello che è associato al custom type (menu laterale, etichette, etc). Basta inserire (e personalizzare a piacere) il seguente codice nel file functions.php del vostro tema:

function child_et_pb_register_posttypes() { $labels = array( 'add_new' => __( 'Aggiungi Nuovo', 'Divi' ),
'add_new_item' => __( 'Aggiunti nuovo prodotto', 'Divi' ),
'all_items' => __( 'Tutti i prodotti', 'Divi' ),
'edit_item' => __( 'Modifica prodotti', 'Divi' ),
'menu_name' => __( 'Prodotti', 'Divi' ),
'name' => __( 'Prodotti', 'Divi' ),
'new_item' => __( 'Nuovo prodotto', 'Divi' ),
'not_found' => __( 'Nothing found', 'Divi' ),
'not_found_in_trash' => __( 'Nothing found in Trash', 'Divi' ),
'parent_item_colon' => '',
'search_items' => __( 'Cerca prodotti', 'Divi' ),
'singular_name' => __( 'Prodotto', 'Divi' ),
'view_item' => __( 'Visualizza prodotto', 'Divi' ),
);


$args = array(
'can_export' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'labels' => $labels,
'menu_icon' => 'dashicons-image-filter',
'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' => 'prodotti',
'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( 'Categorie', 'Products category name', 'Divi' ),
'singular_name' => _x( 'Categoria', 'Products category singular name', 'Divi' ),
'search_items' => __( 'Search Categories', 'Divi' ),
'all_items' => __( 'Tutte le categorie', 'Divi' ),
'parent_item' => __( 'Categoria Padre', 'Divi' ),
'parent_item_colon' => __( 'Categoria Padre:', 'Divi' ),
'edit_item' => __( 'Modifica Categoria', 'Divi' ),
'update_item' => __( 'Aggiorna Categoria', 'Divi' ),
'add_new_item' => __( 'Aggiungi Nuova Categoria', 'Divi' ),
'new_item_name' => __( 'Nuova categoria', 'Divi' ),
'menu_name' => __( 'Categorie', '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( 'Tags', 'Products Tag name', 'Divi' ),
'singular_name' => _x( 'Tag', 'Product tag singular name', 'Divi' ),
'search_items' => __( 'Search Tags', 'Divi' ),
'all_items' => __( 'All Tags', 'Divi' ),
'parent_item' => __( 'Parent Tag', 'Divi' ),
'parent_item_colon' => __( 'Parent Tag:', 'Divi' ),
'edit_item' => __( 'Edit Tag', 'Divi' ),
'update_item' => __( 'Update Tag', 'Divi' ),
'add_new_item' => __( 'Aggiungi Nuovo Tag', 'Divi' ),
'new_item_name' => __( 'New Tag Name', 'Divi' ),
'menu_name' => __( 'Tags', '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( 'Layouts', 'Layout type general name', 'Divi' ),
'singular_name' => _x( 'Layout', 'Layout type singular name', 'Divi' ),
'add_new' => _x( 'Aggiungi Nuovo', 'Layout item', 'Divi' ),
'add_new_item' => __( 'Aggiungi Nuovo 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 ) );
}

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 );

2) PERMALINK

Per personalizzare il permalink da /prodotti/nome-prodotto a /prodotti/categoria-prodotto/nome-prodotto.html ho innanzitutto installato il seguente plugin:

http://blog.garethjmsaunders.co.uk/2015/03/07/changing-the-divi-projects-custom-post-type-to-anything-you-want/

E poi nella pagina dove si personalizzano i permalink ho impostato il permalink per il mio custom post type come desideravo:

Schermata 2016-06-20 alle 15.13.46

Mi pare doveroso ringraziare l’autore di questo articolo:

http://blog.garethjmsaunders.co.uk/2015/03/07/changing-the-divi-projects-custom-post-type-to-anything-you-want/

che mi ha permesso di trovare la soluzione al cambio di slug che da tempo cercavo e al supporto tecnico di elegant themes che mi ha suggerito il plugin per il rewrite del permalink.

 

Francesca

6 commenti

Edoardo Scritto il13:49 - 11 Marzo 2018

Ciao,
io ho un problema simile al tuo.

vorrei fare una cosa di questo tipo:
da projects/nome_progetto/
a categoria_progetto/nome_progetto/

eliminando quindi la categoria base “projects”,

hai qualche suggerimento in merito,
grazie mille

Edoardo

Andrea Scritto il10:20 - 30 Luglio 2016

Ciao Francesca,

Ho una domanda non inerente all argomento del post ma non trovo una soluzione.

Come faccio a cambiare il look delle categorie in Divi visto che di default me lo da sempre con la barra laterale?

Cordiali saluti

    Francesca Scritto il07:33 - 1 Agosto 2016

    Ti riferisci alle categorie degli articoli? Non ricordo se c’è l’opzione nella configurazione dei modelli Divi, in alternativa devi lavorare sul codice
    ti consiglio però di lavorare con il child theme.

    ciao

      Andrea Scritto il15:24 - 7 Agosto 2016

      Si alle categorie degli articoli, è proprio quella sezione che non riesco a modificare.

domenico Scritto il17:31 - 27 Luglio 2016

Ciao. Grazie dell’aiuto. Solo che ho si è verificato un problema. Inserendo il codice in function.php l’url cambia da /project a /prodotti, però poi se utilizzo l’elemento di divi “portafoglio a larghezza piena” (ex fullwidth portfolio) cliccando su un prodotto non reindirizza verso il prodotto, ma verso la pagina 404 di divi. Devo modificare anche l’elemento? Se si come? Grazie dell’aiuto

    Francesca Scritto il17:33 - 27 Luglio 2016

    Sei andato nei permalink e fare “salva” per fare un refresh dei permalink?

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

©2021 AGANIS WEB SOFTWARE di Francesca Roccabruna P.IVA TRENTO 02183500228 - N.REA 205930 La Web Agency per la realizzazione del tuo sito web
Privacy Policy