@shawnhoffman All you have done is perfect. You could also do as follows as another way. Just add your new sidebar only in the functions.php file without removing the parent sidebars, widgets and again adding them. Try this out as well and see if this works.
Q1) If you do like this then you don’t have to remove the action and again add it. Adding the code below will just append your new sidebar.
Q2) Adding _child is just a way to use a different function name, if you use the same function name attitude_widgets_init in the child theme then their will be same function definition in two places one in parent theme and one in child theme. This function is not pluggable function so adding this in child theme will not overwrite the parent function. So, using same name in this case will cause problem.
Q3) Require once code will be unnecessary after you do as you done now.
<?php;
function attitude_child_widgets_init() {
// Registering Business2 Page template sidebar
register_sidebar( array(
'name' => __( 'Business2 Page Sidebar', 'attitude' ),
'id' => 'attitude_business2_page_sidebar',
'description' => __( 'Shows widgets on Business2 Page Template. Sutiable widget: Theme Horse: Featured widget, Theme Horse: Testimonial, Theme Horse: Services', 'attitude' ),
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>'
) );
}
add_action( 'widgets_init', 'attitude_child_widgets_init' );
add_action( 'attitude_business2_template_content', 'attitude_business2_template_widgetized_content', 10 );
/**
* Displays the widget as contents
*/
function attitude_business2_template_widgetized_content() { ?>
<div id="content">
<?php if( is_active_sidebar( 'attitude_business2_page_sidebar' ) ) {
// Calling the footer sidebar if it exists.
if ( !function_exists( 'dynamic_sidebar' ) || !dynamic_sidebar( 'attitude_business2_page_sidebar' ) ):
endif;
}
?>
</div><!-- #content -->
<?php
}
?>