J'ai des problèmes avec les modèles dans Wordpress (multisite). J'ai créé un fichier à la racine de mon dossier enfant-theme (template-test.php)
<?php
/**
* Template Name: Test template
*
*/
?>
<?php get_header(); ?>
<?php get_footer(); ?>
Ce modèle n'apparaît pas dans la liste déroulante des modèles lors de la création d'une nouvelle page ou de la modification d'une page existante. La seule chose dans la liste déroulante est le "modèle par défaut".
Ce que j'ai essayé jusqu'à présent: - Désactiver et activer mon thème - Débloquer les permaliens - Vérifier les autorisations de mes fichiers - Vérifier si style.css se trouve à la racine du dossier du modèle (c'est le cas)
J'ai essayé le même fichier sur une autre installation de Wordpress, et cela fonctionne bien.
Juste dans Wordpress 4.9, il y a ce bogue: https://core.trac.wordpress.org/ticket/42573 provoquant une nouvelle analyse des fichiers de modèle une fois par heure.
Pour résoudre ce problème (jusqu'à ce qu'ils publient une nouvelle version WP avec cette version modifiée), téléchargez le correctif sur ce ticket de bogue et apportez les modifications du correctif à wp-includes/class-wp-theme.php
.
J'espère que cela économisera les 2 heures que j'ai perdues à ce sujet ..
Il y a un bug dans Wordpress 4.9.
J'ai trouvé ce plugin temporaire super simple. Je prévois de le désinstaller une fois le bogue corrigé, mais cela fonctionne très bien en attendant!
Plugin: https://github.com/connorlacombe/WP-Clear-File-Cache
Assurez-vous que vous avez index.php dans votre thème principal. Le thème principal doit avoir index.php. J'ai le même problème, et c'était le cas. Vérifié par:
function testate(){
global $wp_themes;
$tema = wp_get_theme();
echo '<pre>';
print_r($tema);
die;
}
add_action('init', 'testate' );
J'ai également eu ce problème avec un site sur WordPress Multisite et j'ai pu le résoudre en procédant comme suit:
Si cela ne vous convient pas, je vous conseillerais de vérifier http://vanseodesign.com/wordpress/wp-page-templates-dropdown/ . Il y a d'autres solutions possibles ici.
Bonne chance.
Les modèles peuvent être désactivés en les désélectionnant de la variable globale wp_themes
avant le chargement de la liste déroulante des modèles.
Exécutez ce code sur la page pour voir quels modèles apparaissent:
global $wp_themes;
$tema = wp_get_themes();
print_r($tema["child-theme folder name"]["Template Files"]);
Si votre modèle n'apparaît pas, le thème parent peut l'avoir supprimé du tableau.
Il pourrait apparaître, si vous exécutez ce code en frontal, car le thème parent pourrait ne le désélectionner que pendant le chargement de la page de l'éditeur d'administrateur.
Téléchargez le thème parent et recherchez $wp_themes
et wp_get_themes();
dans les fichiers pour trouver l'emplacement de ce code.
J'espère qu'ils vous ont donné le moyen d'éviter l'utilisation d'un filtre, sinon vous devrez peut-être rajouter les fichiers dans le thème de l'enfant. Cela pourrait être utile: http://www.wpexplorer.com/wordpress-page-templates-plugin/
Correction du modèle de page ne figurant pas dans le menu déroulant, veuillez activer le plugin ci-dessous pour le réparer (au lieu de changer les fichiers core de Wordpress)
Le lien ci-dessous vous permet de télécharger https://drive.google.com/file/d/1ycHQGdc_vQtvtfBaznJp1KRsEbcoRwxB/view?usp=sharing
Avez-vous accidentellement déplacé ou supprimé le fichier style.css de la racine du thème?
Si tel est le cas, il pourrait s'agir de ceci: recréez le fichier themes style.css pour réactiver le modèle de liste déroulante.