Loops
Item hooks repeat during rendering, preview, and pagination; scope work to the intended loop.
Shared Hooks
| Hook | Kind and arguments |
|---|---|
breakdance_before_loop, breakdance_after_loop |
Actions: $loop, $actionData. |
breakdance_before_loop_item, breakdance_after_loop_item |
Actions: $object, $objectType, $actionData. |
breakdance_loop_classes |
Filter: class string, $actionData; return a string. |
breakdance_loop_item_classes |
Filter: class string, $object, $objectType, $actionData; return a string. |
$actionData['propertiesData'] contains loop properties. Item contexts can be posts, terms, or fields; check type:
add_filter('breakdance_loop_item_classes', function ($classes, $object, $objectType, $actionData) {
if ($objectType === 'post' && $object instanceof WP_Post
&& $object->post_type === 'event') {
$classes .= ' acme-event-item';
}
return $classes;
}, 10, 4);
Loop Builder Actions
Post Loop Builder emits breakdance_posts_loop_before_loop, breakdance_posts_loop_before_post, breakdance_posts_loop_after_post, breakdance_posts_loop_after_loop, and breakdance_posts_loop_after_pagination.
Term Loop Builder emits breakdance_terms_loop_before_loop, breakdance_terms_loop_before_term, breakdance_terms_loop_after_term, breakdance_terms_loop_after_loop, and breakdance_terms_loop_after_pagination.
Each receives $actionData and ignores returns; echo markup where needed. Item actions surround the wrapper. Empty branches may omit normal hooks, and other loop elements may not emit these hooks.
Posts List Actions
The Posts List element has its own hooks for inserting markup at specific points:
| Hook | Output position |
|---|---|
breakdance_posts_list_before_loop |
Before the list. |
breakdance_posts_list_before_post |
Before each post. |
breakdance_posts_list_after_image |
After the image. |
breakdance_posts_list_inside_wrap_start |
At the beginning of the content wrapper. |
breakdance_posts_list_after_title |
After the title. |
breakdance_posts_list_after_meta |
After metadata. |
breakdance_posts_list_after_tax |
After taxonomy output. |
breakdance_posts_list_after_content |
After content. |
breakdance_posts_list_inside_wrap_end |
At the end of the content wrapper. |
breakdance_posts_list_after_post |
After each post. |
breakdance_posts_list_after_loop |
After the list. |
breakdance_posts_list_after_pagination |
After pagination. |
add_action('breakdance_posts_list_after_title', function () {
echo '<p class="post-note">' . esc_html(get_the_date()) . '</p>';
});
These are the Posts List hooks documented on GitHub. They are separate from the Post Loop Builder hooks above.