register_widget() doesn’t make any changes to the database. All it does is make a particular widget available to be used. It shouldn’t be used on the dynamic_sidebar hook. It’s supposed to be used on the widgets_init hook.
If you want the contents of a widget to change depending on the current page, then that logic needs to be in the widget itself, in the widget() method:
class My_Widget extends WP_Widget {
public function __construct() {}
public function widget( $args, $instance ) {
if ( is_page() ) {
$page_id = get_queried_object_id();
echo get_the_title( $page_id );
}
}
public function form( $instance ) {}
public function update( $new_instance, $old_instance ) {}
}
That example will output the current page title, if you’re viewing a page.
Related Posts:
- Custom Widget function in Plugin not working?
- Adding Widget form fields dynamically
- What is the correct way to build a widget using OOP
- Widget development – Drop down options won’t save
- Calling the widget id of a mult-instance widget from inside the widget?
- Is There A Hook To Process The Content Of The Text Widget?
- Add content to widget title in admin area within the widget?
- Has anyone managed to integrate the wp_editor inside a widget?
- Help adding image upload functionality to widget
- Using preg_replace to clean widget output HTML
- Edit the output of wp_widget_rss_output()
- Script to remove all inactive widgets?
- Possible to preset a widget’s contents via a plugin script?
- Multiple entries in get_option results? or why is _multiwidget set to 1?
- How to add multiple copies of a widget from “available widgets”
- Install widget on plugin activation
- Using Ajax call in jQuery doesn’t work in widget
- WordPress select dropdown list in widget
- Using $wpdb object in a widget
- Is there a need to do apply_filter(‘widget_title’, $instance[‘title’]) or any other ‘widget_xxx’ filters?
- 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?
- Tips for targeting widget dragable for WP Pointer on widgets.php page
- How to create custom field in worpdress default widgets?
- PHP 7 – Class Method Compatibility Issue
- Widget Admin – Form Submit Event?
- How to save WP widget instances and options
- Can I individually style items in the backend widget list?
- Sidebar widget to show popular post not working?
- Widget update function not saving values
- Add custom element ID depending where the widget place is, sidebar or footer
- Customizer: widget-synced triggers twice
- Add a class to a dynamic sidebar’s wrapper
- Widget is to be compatible with all themes
- Widget Dropdown doesn’t working
- How do I get the sub categories of the parent when in a sub category?
- How to limit number of number of categories displayed by categories widget
- Input in plugin widget does not allow spaces
- Get draggable widgets on Edit Post page
- Dynamically creating classes for Widget API
- Widget options are not updated
- Why does my widget break other widgets?
- CSS not affecting widget output
- Using a multiple element in widget form
- Problem with saving checkbox values with WordPress Widget API
- Are there any official or unofficial guidelines for the styling of a widget?
- Create Widget or Enable Shortcodes in Sidebar
- Minimum Widget Width for Plugin Development
- WordPress dynamic widget by location?
- Can / should a widget plugin define its own Widget Area?
- How to exclude categories from get_categories() select list inside a widget admin panel
- Widget internal hooks and functions
- My plugin creates custom widgets, How can I programatically add them to existing sidebar widget areas?
- How to show multiple instances of the WP125 Widget?
- Console errors in 6.0-RC1 Widget screen
- Error code when migrate
- How does update method in Widget class saves $instance array from Select tag?
- Quick Draft widget (dashboard.php) using custom post_type
- Uncaught Error: Call to undefined function wp_get_current_user() in
- Load script on frontend from widget plugin
- Can’t get wpColorPicker to work in a widget
- If user is logged-in display/hide widgets ( siteorigine) [closed]
- Set widget icon in Customizer?
- How to embed or integrated a custom WordPress Widget into the theme?
- Widget won’t be activated
- Dynamic sidebar areas not working on the Theme Customizer
- Downloading Generated XML File
- Detect each active instance of a widget
- wp_register_sidebar_widget in loop within a plugin?
- grouping my widgets wordpress
- Get fields of a widget
- How do I create Widget within plugin that uses its own class?
- Best practice to include custom user styles in widgets
- How to specify widget order or css name via script?
- Is it possible to add Custom Dashboard Widgets to Custom Admin Menu Page?
- What is the advantage of using wp_mail?
- Plugin directory “Last Updated” not changed after initial commit?
- Fatal error: Call to undefined function wp_mail()
- Does WordPress have an Browser Agent?
- How Do I Load My Action Earlier Enough?
- I can’t find where a hook is being defined in a plugin – Easy Digital Downloads
- Filter on the_content ignores shortcodes
- Custom theme sufficient or custom plugin neccessary for this feature set?
- Replacing WordPress menu functionality with a plugin
- Database for development
- How do I register a stylesheet inside a WordPress widget?
- PHP library that can merge stylesheet with inline style [closed]
- How to disable reCaptcha v3 except on Contact Form 7 pages?
- How to get color name in PanelColorSettings in custom Gutenberg block?
- Fetching the value of forms in WordPress AJAX
- Cannot redeclare function error on the same line
- Get Current Menu Location inside Nav_Walker
- Append country to ‘pretty’ url but serve same page
- Insert terms for custom taxonomy on plugin activation, or each page load (init hook)
- Adding a brand column to WooCommerce Products
- Custom GET Parameters In Plugin’s Admin Page
- Adding option to Gallery shortcode
- WordPress Search filter to remove possible script injections
- Open Graph Object Debugger & url parameters – Page Not Found result