Je suis un peu perdu.
Disons que j'ai un footer-siderbar dynmique. Facile jusqu'ici.
<footer>
<?php get_sidebar("name") ?>
</footer>
Ça déplaît dans le pied de page.
Mais nous y sommes. Je veux CHAQUE widget à l'intérieur de ma grille:
<footer>
<div style="width: 100px:">
<div style="width: 25%">First widget here</div>
<div style="width: 25%">Second widget here<</div>
<div style="width: 25%">Third widget here<</div>
<div style="width: 25%">Fourth widget here<</div>
</div>
</footer>
Donc, get_sidebar n'est plus une option, car il affiche tous les widgets à la suite. Et je ne veux pas éditer les widgets lui-même.
Comment font-ils cela dans les thèmes?
Merci.
Vous pouvez utiliser la fonction 'the_widget' pour cela:
<?php the_widget($widget, $instance, $args); ?>
Plus d'informations peuvent être trouvées sur Wordpress Codex - The_Widget reference .
C’est également une bonne référence - Référence de fonction/barre latérale dynamique «WordPress Codex
Si vous utilisez la méthode sur cette page:
<ul id="sidebar">
<?php if ( !dynamic_sidebar() ) : ?>
<li>{static sidebar item 1}</li>
<li>{static sidebar item 2}</li>
<?php endif; ?>
</ul>
Vous pouvez ensuite utiliser le style CSS pour positionner les widgets de la barre latérale sur le pied de page.
Modifier pour inclure les éléments suivants ...
Thème Arras CSS:
#footer { margin: 20px auto 0; width: 980px; background: #ECEBE6; padding-bottom: 10px; border: 1px solid #CCC; }
#footer .widgetcontainer { padding: 5px 10px; min-width: 150px; }
.no-js #footer .widgetcontainer { height: 190px; }
#footer .widgettitle { background: none; border: none; font-size: 14px; color: #444; padding: 0 0 10px; letter-spacing: -1px; }
#footer .widgetcontent { font-size: 12px; background: none; padding: 0; border: none; }
#footer .footer-message { margin: 0; padding: 10px 15px 0; font-size: 11px; }
#footer .footer-message p { margin: 0 0 0.5em; }
#footer .footer-message .floatright { margin-left: 20px; }
#footer-sidebar { overflow: hidden; margin: 10px 10px 0; padding: 0 0 10px; border-bottom: 1px solid #CCC; }
#footer-sidebar .widgetcontainer { float: left; margin: 0; max-width: 250px; }
#footer-sidebar ul { list-style: none; margin: 0; padding: 0; }
#footer-sidebar li { margin: 0 0 3px; }
Code de pied de page:
<ul id="footer-sidebar" class="clearfix xoxo">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Footer') ) : ?>
<li></li>
<?php endif; ?>
</ul>
Dans le thème, il place ensuite les widgets sur la page.
S'il vous plaît vérifier mon nouveau plugin qui affiche un widget spécifique.
Visite: http://wordpress.org/extend/plugins/widget-instance/
Sinon, vous pouvez également utiliser:
<?php dynamic_sidebar( 'sidebar-1' ); ?>
Vous pouvez utiliser le plug-in des options de widget pour limiter ou contrôler la visibilité des widgets sur toutes les pages et tous les périphériques. disponible gratuitement sur le référentiel: https://wordpress.org/plugins/widget-options/ . Ou essayez d'utiliser widget_display_callback
https://developer.wordpress.org/reference/hooks/widget_display_callback/ . J'espère que ça aide.
function custom_display_callback( $instance, $widget, $args ){
if( is_page() ){
return false;
}
return $instance;
}
add_filter( 'widget_display_callback', 'custom_display_callback', 50, 3 );