Appearance
Post Position Tracker
The Post Position Tracker function tracks the position of posts within Voxel feed loops. Use dynamic tags to display post numbering, rankings, or position-based styling in your listing cards.
Overview
When displaying posts in a feed, sometimes you need to know each post’s position in the results. This function tracks position across pagination, providing accurate 1-indexed positions that account for page offsets. Perfect for numbered lists, ranking displays, or position-based conditional styling.
Key Features
- Track post position in feeds
- Accurate across pagination
- 1-indexed positions (starts at 1, not 0)
- Works with Voxel search results
- Safe in Elementor preview mode
- Prevents stale data in live preview
- Dynamic tag support
Setup Instructions
Enable the Function
- This is always enabled as it is a dynamic tag.
@post(feed_position)Use Cases
Numbered Rankings
Display position numbers on listing cards for “Top 10” or ranking-style layouts.
Position-Based Styling
Apply different CSS classes based on position (e.g., highlight top 3 results).
Alternating Layouts
Use odd/even positions for alternating card designs or zebra striping.
First/Last Detection
Identify first or last items in a feed for special treatment.
Elementor Preview Safety
The tracker automatically detects Elementor preview/edit modes and returns null to prevent:
- Stale cached positions
- Incorrect numbering during template editing
- Confusion from AJAX live preview updates
Detected preview modes:
- elementor-preview parameter
- elementor_library parameter
- preview=true parameter
- Elementor AJAX actions
- Editor edit mode
- Preview mode
Troubleshooting
Position Returns Null
- Verify you’re inside a Voxel feed/search results loop
- Check that you’re not in Elementor preview mode
- Ensure the function is enabled
- Position is only available during active render cycle
Wrong Position Numbers
- Check pagination parameters (pg, limit) in URL
- Verify feed is rendering posts in expected order
- Check for out-of-sequence renders (returns null as safety)
Not Working in Custom Loops
- Function only works with Voxel search results
- Custom WP_Query loops are not supported
- Must use Voxel’s feed widget/shortcode
Requirements
- Voxel Theme (active)
- Voxel Toolkit plugin (enabled)
- Voxel search/feed widgets in use

