Stoormz'log
Template File: No Templates for condition > /themes/hello-elementor/index.php

Template File: No Templates for condition > /themes/hello-elementor/index.php


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:

Template File: No Templates for condition > /themes/hello-elementor/index.php

Sa configuration Wordpress pour la page d'accueil était celle par défaut, à savoir la liste des derniers articles:

Configuration page d'accueil Wordpress

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:
Aucun modèle assigné à l'emplacement - Elementor

En choisissant un modèle et en ajoutant la condition suivante lors de la publication, tout est rentré dans l'ordre:
Elementor condition archive

Enjoy !

0 commentaire(s)