There are a few pitfalls, mainly with wpautop being applied after the shortcode filter, and multiple do_shortcode calls because of plugins that already added this filter to widget_text.
See the discussion in the following ticket: http://core.trac.wordpress.org/ticket/10457
Related Posts:
- Optimize shortcode callbacks
- Is There A Hook To Process The Content Of The Text Widget?
- Allowing for multiple template views on the Gallery Settings page when using the Visual Editor
- Customizer: widget-synced triggers twice
- Set widget icon in Customizer?
- Developing an IP lookup function using an API
- Objective Best Practices for Plugin Development? [closed]
- Where to put my code: plugin or functions.php?
- How do i best handle custom plugin page actions?
- How to create an API for my plugin?
- Is it ever okay to include inline CSS in plugins?
- Plugins in symlinked directories?
- In Which Contexts are Plugins Responsible for Data Validation/Sanitization?
- Plugin Form Submission Best Practice
- PHP error with shortcode handler from a class
- Best way to abort plugin in case of insufficient PHP version?
- Update widget form after drag-and-drop (WP save bug)
- Custom Widget function in Plugin not working?
- How can I configure Docker for developing and deploying a custom theme?
- What do you think about custom designed plugin/theme options UIs?
- No Error Log File, no debug info
- Adding Widget form fields dynamically
- Add self-closing shortcode button to TinyMCE in WP 4.6
- Where to put third party PHP library?
- Is the new WordPress 3.1 admin bar pluggable and how can I extend it?
- How to use PanelColorSettings in custom Gutenberg block?
- Getting a peer review for my new plugin?
- What is the correct way to build a widget using OOP
- Strategies to implement selective loading of plugins
- Checking if an attribute exists in a shortcode
- Widget development – Drop down options won’t save
- How to integrate a PHP webmail script into the backend of WordPress?
- Calling the widget id of a mult-instance widget from inside the widget?
- Using filters and actions for plugin API?
- How would I create a plugin for my shortcodes?
- How to prevent newline from appearing in shortcode?
- How to Change the Entire WordPress Admin panel Look and Feel?
- Shortcode adding p and br tags
- Are shortcodes case-sensitive?
- How to log plugin errors to plugin error_log file
- Enqueue script only when shortcode is used, with WP Plugin Boilerplate
- How to sync with plugins update after I have done manual optimizations?
- Which to use to execute code during the saving of a plugin settings page?
- Add content to widget title in admin area within the widget?
- Has anyone managed to integrate the wp_editor inside a widget?
- Using Primary Color in Plugin Block
- How to make WordPress use non-greedy shortcode parsing?
- Multiple Parameters for a Shortcode
- How do I make specific plugin functionality apply to different sites in a network?
- When is it appropriate to put functions on page template vs. functions.php?
- Shortcodes, output buffering, and WordPress functions
- Filter on the_content ignores shortcodes
- Custom theme sufficient or custom plugin neccessary for this feature set?
- Help adding image upload functionality to widget
- Using preg_replace to clean widget output HTML
- Edit the output of wp_widget_rss_output()
- When to check if a function exists
- Script to remove all inactive widgets?
- How to create custom home page via plugin?
- stray elements
- Pass javascript result to shortcode executer function
- Front-End Form Submission in Shortcode
- Adding callback function for wp_ajax_ has no effect
- Sessions not creating correctly in custom function
- How to get shortcode to work inside a foreach loop called within a shortcode?
- Possible to preset a widget’s contents via a plugin script?
- Get returned variable from a function to add_shortcode function
- Featured Image not showing in admin
- Multiple entries in get_option results? or why is _multiwidget set to 1?
- How to use wp_set_password in a plugin?
- How to add multiple copies of a widget from “available widgets”
- Install widget on plugin activation
- Sample — test — data for large WordPress install
- Using Ajax call in jQuery doesn’t work in widget
- Defer Code in Widgets – Page Speed
- WordPress select dropdown list in widget
- What is rich_editing?
- Why is my shortcode not working
- How Can I setup WP CLI on Windows development machine running AMPPS?
- WP_LOCALIZE_SCRIPT doesn’t work
- Created Widget Not Showing up on Admin Panel
- Using $wpdb object in a widget
- Error : “Updating failed: The response is not a valid JSON response” with custom shortcode
- On plugin deactivation hide its shortcode
- Nuance in adding CPT and TAX to a submenu
- Is there a need to do apply_filter(‘widget_title’, $instance[‘title’]) or any other ‘widget_xxx’ filters?
- Can I differentiate between “Delete Post Permanently” and “Empty Trash” and do something for each accordingly?
- Can’t get JS code to work with shortcode
- add_shortcode is not working [duplicate]
- Delete a specific item menu when I deactivate my plugin
- Dynamic content in a widget
- How to pass custom options from widget form to widget update callback?
- Broken markup when using the_excerpt() in a widget?
- How can I render shortcode so that its not cached by Caching plugins?
- Are we allowed to use the Allman (BSD) indent style when coding WordPress plugins and themes?
- Tips for targeting widget dragable for WP Pointer on widgets.php page
- How to create custom field in worpdress default widgets?
- Is it possible to delay execution of shortcode output callback?
- Processing shortcodes in groups (separated by line breaks)?
- PHP 7 – Class Method Compatibility Issue