Wordpress n'est vraiment pas ma tasse de thé et surtout quand on rajoute des couches (plugins) dessus ...
Pour faire court, j'ai été sollicité par un pote qui a eu droit à cette erreur un peu bizarre: Template File: No Templates for condition > /themes/hello-elementor/index.php, il n'arrivait pas à éditer la page d'accueil avec Elementor:
Sa configuration Wordpress pour la page d'accueil était celle par défaut, à savoir la liste des derniers articles:
Okay, voyons voir ce que contient ce fichier index.php du theme Hello Elementor:
...
if ( is_singular() ) {
if ( ! $is_elementor_theme_exist || ! elementor_theme_do_location( 'single' ) ) {
get_template_part( 'template-parts/single' );
}
} elseif ( is_archive() || is_home() ) {
if ( ! $is_elementor_theme_exist || ! elementor_theme_do_location( 'archive' ) ) {
get_template_part( 'template-parts/archive' );
}
} elseif ( is_search() ) {
if ( ! $is_elementor_theme_exist || ! elementor_theme_do_location( 'archive' ) ) {
get_template_part( 'template-parts/search' );
}
} else {
if ( ! $is_elementor_theme_exist || ! elementor_theme_do_location( 'single' ) ) {
get_template_part( 'template-parts/404' );
}
}
...
Nous somme dans la condition ( ! $is_elementor_theme_exist || ! elementor_theme_do_location( 'archive' ) ), car quand mon vqar_dump de debug dans la page wp-content/themes/hello-elementor/template-parts/archive.php s'execute bien. cool.
C'est la deuxième partie de la condition (! elementor_theme_do_location( 'archive' )) qui est à true, le code de la méthode elementor_theme_do_location est le suivant :
//wp-content/plugins/elementor-pro/modules/theme-builder/api.php
...
function elementor_theme_do_location( $location ) {
/** @var Theme_Builder_Module $theme_builder_module */
$theme_builder_module = Theme_Builder_Module::instance();
return $theme_builder_module->get_locations_manager()->do_location( $location );
}
...
Cette méthode check si un modèle a été assigné à l'emplacement $location ('archive' dans notre cas), et effectivement, on allant dans Modèles > Constructeur de thème > Archive aucun modèle n'a été assigné à cet emplacement:
En choisissant un modèle et en ajoutant la condition suivante lors de la publication, tout est rentré dans l'ordre:
Enjoy !