Advertisement
pixel-industry

Generating sidebars

Jul 24th, 2014
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.78 KB | None | 0 0
  1. if (!function_exists('pi_widgets_init')) {
  2.  
  3.     function pi_widgets_init() {
  4.  
  5.         register_sidebar(array(
  6.             'name' => __('Main Sidebar', 'pi_framework'),
  7.             'id' => 'sidebar-1',
  8.             'description' => __('Blog page widget area', 'pi_framework'),
  9.             'before_widget' => '<li id="%1$s" class="widget %2$s clearfix">',
  10.             'after_widget' => "</li>",
  11.             'before_title' => '<div class="title"><h6>',
  12.             'after_title' => '</h6></div>',
  13.         ));
  14.  
  15.         register_sidebar(array(
  16.             'name' => __('Footer Area One', 'pi_framework'),
  17.             'id' => 'sidebar-2',
  18.             'description' => __('An optional widget area for your site footer', 'pi_framework'),
  19.             'before_widget' => '<li id="%1$s" class="widget %2$s">',
  20.             'after_widget' => "</li>",
  21.             'before_title' => '<div class="title"><h6>',
  22.             'after_title' => '</h6></div>'
  23.         ));
  24.  
  25.         register_sidebar(array(
  26.             'name' => __('Footer Area Two', 'pi_framework'),
  27.             'id' => 'sidebar-3',
  28.             'description' => __('An optional widget area for your site footer', 'pi_framework'),
  29.             'before_widget' => '<li id="%1$s" class="widget %2$s">',
  30.             'after_widget' => "</li>",
  31.             'before_title' => '<div class="title"><h6>',
  32.             'after_title' => '</h6></div>'
  33.         ));
  34.  
  35.         register_sidebar(array(
  36.             'name' => __('Footer Area Three', 'pi_framework'),
  37.             'id' => 'sidebar-4',
  38.             'description' => __('An optional widget area for your site footer', 'pi_framework'),
  39.             'before_widget' => '<li id="%1$s" class="widget %2$s">',
  40.             'after_widget' => "</li>",
  41.             'before_title' => '<div class="title"><h6>',
  42.             'after_title' => '</h6></div>'
  43.         ));
  44.  
  45.         register_sidebar(array(
  46.             'name' => __('Footer Area Four', 'pi_framework'),
  47.             'id' => 'sidebar-5',
  48.             'description' => __('An optional widget area for your site footer', 'pi_framework'),
  49.             'before_widget' => '<li id="%1$s" class="widget %2$s">',
  50.             'after_widget' => "</li>",
  51.             'before_title' => '<div class="title"><h6>',
  52.             'after_title' => '</h6></div>'
  53.         ));
  54.  
  55.         $args = array(
  56.             'post_type' => 'page',
  57.             'posts_per_page' => -1,
  58.             'meta_query' => array(
  59.                 'relation' => 'OR',
  60.                 array(
  61.                     'key' => 'pg_sidebar',
  62.                     'value' => 'left',
  63.                     'compare' => '='
  64.                 ),
  65.                 array(
  66.                     'key' => 'pg_sidebar',
  67.                     'value' => 'right',
  68.                     'compare' => '='
  69.                 )
  70.         ));
  71.  
  72.         // create sidebar for pages with left or right sidebar
  73.         $page_with_sidebar = new WP_Query($args);
  74.         if ($page_with_sidebar->have_posts()) {
  75.             while ($page_with_sidebar->have_posts()) : $page_with_sidebar->the_post();
  76.                 $sidebar_title = get_the_title();
  77.                 $sidebar_id = "pixel-industry-sidebar-" . get_the_id();
  78.                 register_sidebar(array(
  79.                     'name' => $sidebar_title,
  80.                     'id' => $sidebar_id,
  81.                     'description' => __('An optional widget area for page ', 'pi_framework') . $sidebar_title,
  82.                     'before_widget' => '<li id="%1$s" class="widget %2$s clearfix">',
  83.                     'after_widget' => "</li>",
  84.                     'before_title' => '<div class="title"><h5>',
  85.                     'after_title' => '</h5></div>'
  86.                 ));
  87.             endwhile;
  88.         }
  89.  
  90.         wp_reset_query();
  91.     }
  92.  
  93. }
  94. add_action('widgets_init', 'pi_widgets_init');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement