WordPress – display specific widget

I’m lost a bit.

Let’s say I have a dynmic footer-siderbar. Easy so far.

Read More
<footer>
    <?php get_sidebar("name") ?>  
</footer>

Displys it in the footer.

But here we are. I want EACH widget inside of my grid:

      <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>

So get_sidebar isn’t an option now, since it displays all widgets in a row. And I don’t want to edit widgets itself.

How they do that in themes?

Thanks.

Related posts

Leave a Reply

5 comments

  1. This is a good reference as well – Function Reference/dynamic sidebar « WordPress Codex

    If you use the method on that page:

    <ul id="sidebar">
     <?php if ( !dynamic_sidebar() ) : ?>
        <li>{static sidebar item 1}</li>
        <li>{static sidebar item 2}</li>
     <?php endif; ?>
     </ul>
    

    You could then use CSS styling to position the sidebar widgets across the footer.

    Edit to include the following…

    Arras theme 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; }
    

    Footer coding:

    <ul id="footer-sidebar" class="clearfix xoxo">
            <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Footer') ) : ?>
            <li></li>
        <?php endif; ?>
    </ul>
    

    In the theme it then places the widgets across the page.

  2. You can use Widget Options Plugin to restrict or control the widgets visibility on any pages and devices; available for free on the repository : https://wordpress.org/plugins/widget-options/. Or try using widget_display_callback https://developer.wordpress.org/reference/hooks/widget_display_callback/ . I hope this helps.

    function custom_display_callback( $instance, $widget, $args ){
        if( is_page() ){
            return false;
        }
        return $instance;
    }
    add_filter( 'widget_display_callback', 'custom_display_callback', 50, 3 );
    

    enter image description here