Skip to content

Advanced List: Moderation Actions

Three action types are added to Voxel's Advanced List widget for the moderator side it never covered: Approve, Decline and Verify. They work like every other Advanced List action, and they need no setup.

Overview

Voxel's Advanced List already ships actions for trash, unpublish, publish and edit. What was missing was the moderation pair — approving or declining a pending submission — and the verified badge.

With those added, a post feed of pending submissions plus an Advanced List becomes a complete frontend moderation queue. You can approve listings from your phone instead of going to wp-admin.

Key Features

  • Approve — publishes a pending post and fires Voxel's own "post approved" notification to the author
  • Decline — declines a pending post and fires Voxel's "post declined" notification
  • Verify — toggles the verified badge on a post
  • Native Advanced List actions, styled and configured like the built-in ones
  • Always on — nothing to enable
  • Renders for nobody without moderation capability

Setup Instructions

There is no function to enable. The actions appear in the Advanced List widget's action list.

  1. Edit a template in Elementor and add or select an Advanced List (VX) widget
  2. Add an action and choose Approve, Decline or Verify
  3. Style it like any other Advanced List action

Building a Moderation Queue

The pattern these were built for:

  1. Create a page restricted to your moderators
  2. Add a Post Feed (VX) widget filtered to pending posts
  3. Inside the feed's card template, add an Advanced List (VX) with Approve and Decline actions

Moderators now work the queue from any device. Combined with the existing trash, unpublish, publish and edit actions, the full toolbox is available from the front end.

Permissions

The actions render only for users with moderation capability. A visitor without it sees nothing at all — not a disabled button, not an error.

To refine who counts, use the voxel_toolkit/post_actions/allowed filter.

php
add_filter( 'voxel_toolkit/post_actions/allowed', function ( $allowed, $post_id, $user_id ) {
    // Return true or false to override who may act on this post.
    return $allowed;
}, 10, 3 );

Notifications

Approve and Decline fire Voxel's own post approved and post declined notifications, so authors are told the same way they would be if you had moderated from wp-admin. There is no separate template to configure — these are Voxel's existing app events.

Troubleshooting

The Actions Don't Appear in Elementor

They are added to the Advanced List widget's action types. Confirm you are editing an Advanced List (VX) widget, and that the Toolkit is active.

The Button Renders for Nobody

That is the capability check doing its job. Test as a user who can moderate, or adjust the voxel_toolkit/post_actions/allowed filter.

Approving Sends No Notification

The notification is Voxel's own. Check it is enabled under Voxel → App Events.

Requirements

  • Voxel theme with the Advanced List widget
  • Elementor
  • Users with moderation capability

Built by Code Wattz.