web-dev-qa-db-fra.com

Impossible de comprendre pourquoi le contenu du widget disparaît de l'administrateur

chaque fois que je modifie des widgets dans admin, ceux-ci disparaissent - parfois uniquement d'administrateur, parfois de l'interface utilisateur et parfois des deux.

Je les récupère en ajoutant update_option( 'sidebars_widgets', $null ); au bas de functions.php - je les verrai alors dans admin comme "widgets inactifs". Ensuite, je les rajoute manuellement tous dans admin - c'est très frustrant!

J'utilise Canvas avec un thème enfant personnalisé. J'ai ajouté une nouvelle zone de widget en ajoutant

// Underhome widget area
if ( function_exists('register_sidebar') ){
  register_sidebar(array(
    'name' => 'Underhome widget',
    'id' => 'underhome_widget',
    'description' => "A widget area underneath the home page content",
    'before_widget' => '<div id="underhome">',
    'after_widget' => '<div class="fix"></div></div>',
    'before_title' => '<h3 class="title">',
    'after_title' => '</h3>',
  ));
}

à functions.php

Ensuite, j'ai créé un modèle de page et ajouté

<!-- dislay the underhome widget -->
<?php if ( dynamic_sidebar('underhome_widget') ) : endif; ?>

Je ne vois rien de mal à ça? c'est peut-être sans rapport?

Quoi qu'il en soit, je suis totalement coincé. Quelqu'un a-t-il des suggestions à part changer de carrière?

1
morktron

Ce n'est probablement pas ce que vous faites de mal, mais plutôt un plugin qui se comporte mal. Il y a beaucoup de codes laids qui font paniquer les zones de widgets du côté de l'administrateur.

Essayez de tuer tous vos plugins en premier, avez-vous toujours le problème? Sinon, rallumez-les quelques-unes à la fois jusqu'à ce que vous trouviez le coupable.

Si vous avez accès à votre journal PHP, effacez-le et actualisez la page. Tirez votre journal, débarrassez-vous de tous les avertissements PHP Strict Standards qui sont présents partout depuis la 3.6, et ce qui reste contient probablement votre erreur.

1
Imperative Ideas