Post Carousel Widget Ignores Custom Post Type Selection
-
Plugin: SiteOrigin Widgets Bundle
Version Where Bug Occurs: 1.73.x
Version Where It Works Correctly: 1.72.0
aPHP Version: 7.4+Description of the Bug:
After updating SiteOrigin Widgets Bundle to version 1.73.x, the Post Carousel widget completely ignores any custom post type selected in the widget settings and defaults to showing standard blog posts (post type: post) regardless of configuration.
The issue is visible in the rendered HTML output where the data-widget attribute is hardcoded as data-widget=”post” even when a custom post type is explicitly selected and saved in the widget settings. This causes the carousel to query and display default blog posts instead of the configured custom post type.
Steps to Reproduce:
- Create a custom post type using Custom Post Type UI (CPT UI) plugin — in my case post types named ‘samples’ and ‘answers’ with publicly_queryable, show_in_rest, and public all set to true
- Add a SiteOrigin Post Carousel widget to any page
- In widget settings, select your custom post type (e.g. ‘samples’) from the Post Type dropdown
- Optionally select a taxonomy and term to filter by
- Save the widget and view the page
- Carousel displays default blog posts instead of the selected custom post type
Expected Behaviour:
Carousel should display posts from the selected custom post type — in this case ‘samples’ or ‘answers’Actual Behaviour:
Carousel displays default blog posts regardless of post type selection. Inspecting the rendered HTML confirms the data-widget attribute outputs as data-widget=”post” hardcoded, instead of data-widget=”samples” or data-widget=”answers” as configured.Rendered HTML showing the problem:
data-widget=”post” data-fetching=”false” data-page=”1″This value should reflect the selected custom post type but remains as ‘post’ in all cases after the 1.73.x update.
Additional Observations:
- Rolling back to version 1.72.0 immediately resolves the issue — carousels correctly display custom post type content
- The widget settings ARE saving correctly — the post type selection is visible in the editor after saving
- The problem occurs at the rendering/output stage where the saved post type is not being passed to the data-widget HTML attribute
- The AJAX handler at admin-ajax.php uses the data-widget value to determine which post type to query — since it is hardcoded as ‘post’, all AJAX carousel queries return blog posts
- Custom post type archives work correctly — the issue is isolated to the Post Carousel widget output
- Taxonomy and term filters are also ignored as a result of this same issue
- The siteorigin_widgets_posts_args filter does not fire for custom post type carousels in 1.73.x suggesting the query building method was changed in this update
Environment:
- Custom post types registered via Custom Post Type UI (CPT UI) version 1.19.2
- Theme: Vega WP
- Both publicly_queryable and show_in_rest set to true on affected post types
- Issue occurs on both desktop and mobile
- Issue occurs across all pages where Post Carousel widget is used
Temporary Workaround:
Rolling back to SiteOrigin Widgets Bundle 1.72.0 resolves the issue completely. Auto-updates for this plugin have been disabled until a fix is released.Please let me know if you need any additional information, debug logs, or screenshots to investigate this further.
You must be logged in to reply to this topic.