Dynamics Sidebars Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
With DS, it’s possible to change the widgets that display in a sidebar (widgetized area) according to a context (for example, a specific page). Setting up a custom widget area to display across multiple conditions is as easy as a few clicks and code changes.
Usage
By default it will add ‘custom-sidebar’ support for the following post types:
- Post
- Page
IMPORTANT: Showing the sidebar
Note you can use this wherever you like to show you sidebar
<?php
dynamic_sidebar( get_the_sidebar() );
?>
Or
<?php
$sidebar = get_the_sidebar();
if ( is_active_sidebar( $sidebar ) ) {
dynamic_sidebar( $sidebar );
}
?>
Adding support for custom post type
In order to user this plugin features with your custom post type you must add a feature suppport to it.
Do it by doing this:
On you ‘functions.php’ file
<?php
add_action( 'after_setup_theme', 'theme_setup' );
function theme_setup()
{
add_post_type_support( 'post_type', 'custom-sidebar' );
// add another one here
}
?>
When you register your custom post type, on ‘register_post_type’ call.
Function Reference register_post_type for more information
<?php
$args = array( 'supports' => array( 'custom-sidebar' ) );
register_post_type( 'post_type', $args );
?>
Removing support for pages, posts and/or custom post types
To remove support from pages, posts and/or custom post type do like so:
On you ‘functions.php’ file add this
<?php
add_action( 'after_setup_theme', 'theme_setup' );
function theme_setup()
{
remove_post_type_support( 'post', 'custom-sidebar' ); // to remove from posts
remove_post_type_support( 'page', 'custom-sidebar' ); // to remove from pages
remove_post_type_support( 'custom post type', 'custom-sidebar' ); // to remove from ctp
}
?>
Changing sidebar args
On your ‘functions.php’ file just add the following code.
<?php
add_filter( 'ds_sidebar_args', 'my_sidebar_args', 1, 3 );
function my_sidebar_args( $defaults, $sidebar_name, $sidebar_id ) {
$args = array(
'description' => "$sidebar_name widget area",
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
);
return $args;
}
?>
Don’t forget to check the ‘Other Notes’ tab for a list of all function and hook you can use.