Widget Area Below Single Posts
Registers an "After Post Content" widget area and displays it at the end of single posts, without editing theme files.
Opens WPIDE on
Code
add_action( 'widgets_init', function () {
register_sidebar( array(
'name' => 'After Post Content',
'id' => 'wpide-after-content',
'description' => 'Shown below the content of single posts.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
} );
add_filter( 'the_content', function ( $content ) {
static $running = false;
if ( $running || ! is_singular( 'post' ) || ! in_the_loop() || ! is_main_query() || ! is_active_sidebar( 'wpide-after-content' ) ) {
return $content;
}
$running = true;
ob_start();
dynamic_sidebar( 'wpide-after-content' );
$widgets = ob_get_clean();
$running = false;
return $content . '<div class="wpide-after-content-widgets">' . $widgets . '</div>';
}, 30 );
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.