WordPress : Comment faire en sorte que les modèles de module de thème enfant remplacent le modèle de module principal
Pour une raison quelconque, mes modèles de thème enfant ne sont pas reconnus.
Je crois avoir suivi la bonne procédure (et vérifié la mise en cache, etc.)
/wp-content/themes/divi-child/includes/builder/module/Blog.php
devrait remplacer
/wp-content/themes/Divi/includes/builder/module/Blog.php
(même chemin et même fichier avec une légère mise à jour)
Le modèle de module de thème enfant n’est pas reconnu (les modifications apportées au modèle de thème enfant n’ont aucun effet)
J’ai testé l’édition du fichier principal et cela fonctionne immédiatement à chaque fois.
Tout conseil grandement apprécié.
Acclamations
ÉDITER
Le ci-dessous devrait fonctionner selon Divi, mais cela casse le site lorsque j’essaie.
Apparemment, il ne suffit pas de copier le module dans le thème enfant. Le fichier doit être dupliqué. Ensuite, copiez le fichier dans child-theme/custom-modules/Blog.php. Après avoir ajouté le code suivant au bas du fichier functions.php :
function divi_custom_blog_module() {
get_template_part( '/custom-modules/Blog' );
$myblog = new custom_ET_Builder_Module_Blog();
remove_shortcode( 'et_pb_blog' );
add_shortcode( 'et_pb_blog', array( $myblog, '_render' ) );
}
add_action( 'et_builder_ready', 'divi_custom_blog_module' );
Solution n°1 trouvée
J’ai déjà eu ce problème similaire à celui-ci. Je pense – peut-être que le modèle de blog est appelé par un autre fichier dans le dossier « thème père » quelque chose comme :
$url = dirname(__FILE__)."/includes/builder/module/Blog.php";
cela causera le problème. pour résoudre ce problème, il y a deux façons:
#1 : trouvez et éditez le fichier qui s’appelle le modèle de blog (déconseillé)
#2 : trouvez et copiez le fichier qui appelle le modèle de blog dans votre thème enfant (vous pouvez d’abord essayer avec index.php, content.php ou single.php) (recommandé)
Solution n°2 trouvée
Il y a quelques autres étapes https://intercom.help/elegantthemes/en/articles/4532734-moving-blog-module-in-child-theme
-
Créez un nouveau dossier dans le dossier du thème enfant, par exemple, inclut le dossier.
-
Copiez maintenant le fichier Divi/includes/builder/module/Blog.php du thème parent dans le dossier child-theme/includes/.
-
Ouvrez le fichier Blog.php de votre thème enfant et remplacez cette ligne (tout en haut) :
require_once 'helpers/Overlay.php';
class ET_Builder_Module_Blog extends ET_Builder_Module_Type_PostBased {
avec:
get_template_part( '/includes/builder/module/helpers/Overlay.php' );
class custom_ET_Builder_Module_Blog extends ET_Builder_Module_Type_PostBased {
Remplacez : $this->vb_support = ‘on’ ; avec $this->vb_support = ‘off’ ;
Supprimez cette ligne du bas : new ET_Builder_Module_Blog();
- Enfin, ajoutez le code suivant au fichier functions.php dans votre dossier de thème enfant :
/*================================================
#Load custom Blog Module
================================================*/
function divi_custom_blog_module() {
get_template_part( '/includes/Blog' );
$myblog = new custom_ET_Builder_Module_Blog();
remove_shortcode( 'et_pb_blog' );
add_shortcode( 'et_pb_blog', array( $myblog, '_render' ) );
}
add_action( 'et_builder_ready', 'divi_custom_blog_module' );
0 commentaire