Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function pietergoosen_widgets_init() {
- $dynamic_widget_areas = array (
- 'sidebar-21' => __( 'Page Specific Sidebar 1', 'pietergoosen' ),
- 'sidebar-22' => __( 'Page Specific Sidebar 2', 'pietergoosen' ),
- 'sidebar-23' => __( 'Page Specific Sidebar 3', 'pietergoosen' ),
- 'sidebar-24' => __( 'Page Specific Sidebar 4', 'pietergoosen' ),
- 'sidebar-25' => __( 'Page Specific Sidebar 5', 'pietergoosen' ),
- 'sidebar-26' => __( 'Page Specific Sidebar 6', 'pietergoosen' ),
- 'sidebar-27' => __( 'Page Specific Sidebar 7', 'pietergoosen' ),
- 'sidebar-28' => __( 'Page Specific Sidebar 8', 'pietergoosen' ),
- 'sidebar-29' => __( 'Page Specific Sidebar 9', 'pietergoosen' ),
- 'sidebar-30' => __( 'Page Specific Sidebar 10', 'pietergoosen' ),
- );
- foreach ( $dynamic_widget_areas as $id => $dynamic_widget_area ) {
- register_sidebar(
- array (
- 'name' => __( $dynamic_widget_area, 'pietergoosen' ),
- 'id' => $id,
- 'description' => __( 'Page specific sidebars above the content sidebar', 'pietergoosen' ),
- 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
- 'after_widget' => '</aside>',
- 'before_title' => '<h1 class="widget-title">',
- 'after_title' => '</h1>',
- ));
- }
- }
- add_action( 'widgets_init', 'pietergoosen_widgets_init' );
- // Add dynamic sidebars that can be chosen per page
- add_action('add_meta_boxes', 'pietergoosen_voeg_cspp_metabox_by');
- add_action('save_post', 'pietergoosen_gradeer_post_meta_op');
- function pietergoosen_voeg_cspp_metabox_by() {
- add_meta_box( 'custom_sidebar_per_page', __( 'Sidebar options', 'pietergoosen' ), 'pietergoosen_cspp_skakel', 'page', 'side', 'default');
- }
- function pietergoosen_cspp_skakel( $post )
- {
- global $wp_registered_sidebars;
- $custom = get_post_custom($post->ID);
- if(isset($custom['custom_sidebar_per_page']))
- $val = $custom['custom_sidebar_per_page'][0];
- else
- $val = "default";
- // The actual fields for data entry
- $output = '<p><label for="pietergoosen_new_field">'.__("Choose a sidebar to display", 'pietergoosen' ).'</label></p>';
- $output .= "<select name='custom_sidebar_per_page'>";
- // Add a default option
- $output .= "<option";
- if($val == "default")
- $output .= " selected='selected'";
- $output .= " value='default'>".__('Default', 'pietergoosen')."</option>";
- // Fill the select element with all registered sidebars
- foreach($wp_registered_sidebars as $sidebar_id => $sidebar)
- {
- $output .= "<option";
- if($sidebar_id == $val)
- $output .= " selected='selected'";
- $output .= " value='".$sidebar_id."'>".$sidebar['name']."</option>";
- }
- $output .= "</select>";
- echo $output;
- }
- function pietergoosen_gradeer_post_meta_op($post_id){
- if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
- return;
- if (!current_user_can( 'edit_page', $post_id ))
- return;
- $data = $POST['link'];
- update_post_meta( $post->ID, "custom_sidebar_per_page", $data );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement