Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Adding widgets with a shortcode anywhere in a page as per Digging Into WordPress
- function widget($atts) {
- global $wp_widget_factory;
- extract(shortcode_atts(array(
- 'widget_name' => FALSE,
- 'title' => __('Recent Posts'),
- 'number' => 10,
- ), $atts));
- $widget_name = wp_specialchars($widget_name);
- if (!is_a($wp_widget_factory->widgets[$widget_name], 'WP_Widget')):
- $wp_class = 'WP_Widget_'.ucwords(strtolower($class));
- if (!is_a($wp_widget_factory->widgets[$wp_class], 'WP_Widget')):
- return '<p>'.sprintf(__("%s: Widget class not found. Make sure this widget exists and the class name is correct"),'<strong>'.$class.'</strong>').'</p>';
- else:
- $class = $wp_class;
- endif;
- endif;
- if( $widget_name == 'WP_Widget_Recent_Posts' ) $instance = 'title='.$title.'&number='.$number;
- ob_start();
- the_widget($widget_name, $instance, array('widget_id'=>'arbitrary-instance-'.$id,
- 'before_widget' => '',
- 'after_widget' => '',
- 'before_title' => '',
- 'after_title' => ''
- ));
- $output = ob_get_contents();
- ob_end_clean();
- return $output;
- }
- add_shortcode('widget','widget');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement