Depending on how the page’s query and loop are constructed, when you access the post object from the sidebar or footer, you sometimes get the last post in the loop rather than the page itself.
You can ensure you’re getting the original (page) object by running wp_reset_query() from inside your widget (before you access the post object or run any functions that assume the current post as their target).
One caveat here: make sure there’s nothing after your widget that would be affected by this post reset.
Related Posts:
- Shortcode from a widget is wrapped in unwanted element
- How can I whitelist only specific shortcodes for processing in text widgets?
- When to use which plugin output method?
- Custom shortcode in widget forced to top of widget
- Shortcode in Text Widget not working
- Inserting shortcode [stream /] into a Text widget
- check for shortcode in post/pages AND widgets AND template files
- the_widget() and widget’s ID
- How the widget can be run by shortcode
- How do i display the built-in gallery inside a widget?
- Shortcode displays always first. Once again
- Create a widget to use shortcode?
- Check if the current shortcode is being used in a widget
- Display custom widget, added as a shortcode in the correct place
- Allow shortcode for custom widget
- Shortcode not working in widget
- How to add urls in html widget in a gravity form? [closed]
- call widget from within shortcode
- Transform php shortcode into a widget [duplicate]
- Can I use widgets & shortcode if I need to return an array?
- How do I get shortcode, widget and template tag CSS to load in the head only as required? [duplicate]
- Where to put my code: plugin or functions.php?
- Programmatically add widgets to sidebars
- WordPress 3.8 – Dashboard 1 Column Screen Options
- Executing Javascript When a Widget is Added in the Backend
- Loading scripts only if a particular shortcode or widget is present
- Limit number of Widgets in Sidebars
- How Can I Add the “Insert From URL” Tab to a Custom 3.5 Media Uploader?
- Give Editor Access To Sidebar
- How to load Widget javascript + css files only if used?
- Where is the content of widgets stored in mysql table
- Hide specific categories from category widget
- changing wp-admin/widgets.php
- Add class to before_widget from within a custom widget
- How can I use the built in WordPress “browse link” functionality?
- Is there any way to dynamically alter widget titles?
- Translate widget titles using qTranslate plugin
- Code for Recent Posts Widget
- Get number of widgets in sidebar
- Text Widget creates a
- Can a widget in the Customizer be “single-use” (i.e. disabled after 1 instance has been added)?
- check if registered sidebar is active & has widget content
- Encode text string being appended as query to URL [closed]
- How to edit widgets in WordPress
- dynamically add scripts to WP_Widget widget() method
- Extend WordPress 3.8 Site Activity Dashboard Widget to include more comments
- How to use is_active_widget?
- How to get URL param to shortcode?
- Get a list of all Widgets registered in WordPress admin widgets-area
- Modifying the default search widget
- Adding iframe Content to Sidebar Widget
- Enabling jquery when dragging available widget to sidebar area
- How Do I Add Custom CSS To Only Certain Widgets
- Get Widget Instance inside Widget
- Show post tags in a widget
- Author template, filter sidebar widgets by author?
- Prevent widgets removal
- Add the sidebar/widget editor to the post edit screen?
- WordPress 4.8: Using multiple WYSIWYG-Editors with media inside of Widgets how to?
- Does the number of widgets installed affect website performance?
- WP_Widget deprecated error in WordPress V4.3
- What is the quickest way to make a widget?
- How to display custom widget anywhere
- Show Woocommerce minicart widget in checkout page sidebar? And, how to make this update secure by overriding widget?
- Get page IDs based on which template they are using?
- Changes in widget customizer not triggering ‘save and publish’
- Add filter to blogroll widget
- Widget Options Not saving
- Indexes of widgets instances starts with ‘2’ in ‘wp_options’ table
- How to use wp_dequeue_style() for style enqueued in WP_Widget class
- Complex widget form UI – examples and best practices
- How do i manually place a widget code
- How to override the wordpress default widget markup
- Why is the $old_instance needed for the widget update function?
- Embed iframe or html page into dashboard widget
- Storing custom dashboard widget options in wordpress
- Get sidebar parameters (before_widget, before_title, etc.) from within a widget
- Prevent second widget activation
- How can I add links to widget titles?
- How to refresh Theme Customizer after change color inside wpColorPicker?
- How to add image uploader to a custom widget?
- PHP Coding Standards, Widgets and Sanitization
- Different widgets on different page templates?
- How to Remove All Widgets from Dashboard?
- Widgets not displaying in theme customizer
- $post>ID displays wrong post ID
- Register multiple sidebars
- Is there a way to add more tags to the tag cloud?
- Modify recent post sidebar to show post thumbs with out plugins
- Loop through widgets in sidebar
- How do I rebind event after widget save
- Programmatically edit the text of a widget
- How to add color picker to widgets?
- Where to find the source code of a widget?
- How to add author details in the post sidebar?
- How to delete cached transients from a widget instance properly?
- What is this instance variable doing in the Widgets class
- How to add a filter to all widget output
- Determining a Widget Instance and Sidebar Location?
- How to Validate Widget Input