Divi est un constructeur de thème (theme builder en anglais) proposé par Elegant Themes. Il peut s’avérer utile puisqu’il propose des fonctionnalités de mise en page en drag’n drop qui facilite la mise en place d’un design tendance.
Si vous souhaitez en savoir plus, rendez-vous sur le site de Elegant Themes ou lisez l’article de Maxime sur wp-spread.com qui présente la dernière monture (version 2.5) du thème.
Pour ma part je n’ai pas l’habitude d’utiliser des thèmes préconçu, je travail systématiquement sur de la création de thème unique. Mais dans le cadre d’un projet, je dois me pencher dessus et vérifier notamment son utilisation dans un périmètre technique assez complet avec l’utilisation de Advanced Custom Fields Pro, des customs post type, Yoast, Polylang, Gravity Forms, …
Je commence à déblayer le terrain et vous trouverez ci-dessous des bouts de code utile à placer dans votre fichier functions.php
de votre thème enfant pour bien commencer un projet avec Divi.
add_action( 'wp_enqueue_scripts', 'divichild_enqueue_assets' );
function divichild_enqueue_assets() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
add_action('init','divichild_unregister_divi_post_type',11);
function divichild_unregister_divi_post_type(){
$cpts = array('project');
global $wp_post_types;
foreach ($cpts as $cpt){
if (isset($wp_post_types[$cpt])){
unset($wp_post_types[$cpt]);
}
}
}
add_action('init', 'divichild_unregister_divi_taxonomy',11);
function divichild_unregister_divi_taxonomy(){
$taxs = array('project_tag','project_category');
global $wp_taxonomies;
foreach ($taxs as $tax){
if (taxonomy_exists($tax)){
unset($wp_taxonomies[$tax]);
}
}
}
add_filter('et_builder_post_types', 'divichild_add_post_types');
function divichild_add_post_types($post_types) {
foreach(get_post_types() as $pt) {
if (!in_array($pt, $post_types) and post_type_supports($pt, 'editor')) {
$post_types[] = $pt;
}
}
return $post_types;
}
add_action('add_meta_boxes', 'divichild_add_meta_boxes');
function divichild_add_meta_boxes() {
foreach(get_post_types() as $pt) {
if (post_type_supports($pt, 'editor')) {
add_meta_box('et_settings_meta_box', __('Divi Custom Post Settings', 'Divi'), 'et_single_settings_meta_box', $pt, 'side', 'high');
}
}
}
Note : certains liens ce cet article sont affilés.
PS : Si vous voulez savoir comment choisir entre wordpress.com et wordpress.org, vous pouvez vous rendre ici.