J'aimerais avoir un plugin pour une gestion flexible des barres latérales/widgets. En fait, je veux donner à un utilisateur la possibilité de choisir quelle barre latérale devrait être affichée par page/post.
Je sais qu'il existe de nombreux plugins latéraux. Malheureusement, je n’en ai trouvé aucun qui réponde à tous mes souhaits. Je voudrais donc coder cela moi-même. Laquelle des possibilités suivantes trouvez-vous la meilleure et la plus flexible? Ou avez-vous d'autres approches?
Codez en dur les appels de register_sidebar dans un fichier plugin/functions.php et ajoutez une metabox pour les écrans post_edit.php
, post_new.php
.
Identique à N ° 1, mais utilisez un modèle de barre latérale générique avec des balises conditionnelles pour afficher les widgets. Nous pourrions également utiliser le plugin Widget Logic pour un filtrage plus granulaire dans le backend.
is_page(id)
pourrait créer des problèmes sur les sites multilingues, où les publications d’une autre langue sont stockées avec un autre identifiant.A barres latérales flexibles Type de publication personnalisé. Chaque publication de ce CPT est utilisée dans un modèle générique de barre latérale pour afficher le contenu donné. La barre latérale est également sélectionnée dans une métabox personnalisée. L'utilisateur peut ajouter du contenu à la barre latérale avec l'éditeur WYSIWYG par défaut, ce qui est un avantage considérable.
Modifiez la sous-page de widgets dans le panneau d’administration pour créer/enregistrer vos propres barres latérales dans WordPress. Créez également un widget générique avec un éditeur WYSIWYG par défaut. Le contenu avec des pièces jointes pourrait facilement être ajouté au widget et transféré dans la nouvelle barre latérale créée. L'utilisateur peut ensuite choisir cette barre latérale avec un champ déroulant dans une métabox personnalisée dans les écrans d'administration de page/page. Pour afficher la barre latérale, nous avons également besoin d'un gabarit générique.
De mon point de vue, le n ° 4 devrait faire l'affaire. Y a-t-il d'autres possibilités? Ou cela existe-t-il déjà dans un plugin?
Merci pour votre réponse
Il y a une extension appelée "Widget Logic". Il ajoute un champ à chaque widget de la barre latérale de la section admin où vous pouvez ajouter un morceau de code php que vous pouvez utiliser pour archiver ce dont vous avez le plus besoin.
C'est un peu lourd mais ça marche. Par exemple, vous mentionnez que pour un site multilingue, vous pouvez toujours utiliser "is_page" puisque vous pouvez également passer un tableau pour la fonction, comme ceci: is_page (tableau (94,71,3)) .. Avec des opérateurs logiques (et/ou/pas/xor) combiné avec vous pouvez archiver n'importe quelle combinaison.