Thank you for reporting these issues with the Quick Event Manager plugin. I can help clarify both problems.
“Not attending” Option Not Displaying in Registration Overview
This is a logged issue in the current version of the plugin. The problem occurs because while the “not attending” option is being saved correctly when users check it, the admin registration overview table isn’t properly displaying this information. How to Fix It:
You can modify the qem_build_reg_input_esc function in the quick-event-register.php file. The function needs to handle the “notattend” checkbox differently from other fields. Here’s the technical fix:
- Locate the
qem_build_reg_input_esc function in your plugin files
- Modify it to add special handling for the “not attending” checkbox value
- Make sure it checks specifically for the “notattend” value in the registration data
function qem_build_reg_input_esc($attrs, $use, $item, $register, $selected, $i_array, $value, $qem_edit) {
$content_escaped = '';
if (qem_get_element($register, $use)) {
$content_escaped .= '<td class="' . esc_attr($item) . '">';
// Special handling for notattend checkbox
if ($item == 'yourattend' && isset($value['notattend']) && $value['notattend'] == 'checked') {
if (($qem_edit == 'selected' && qem_get_element($selected, $i_array)) || $qem_edit == 'all') {
$content_escaped .= '<input type="checkbox" ' .
checked('checked', qem_get_element($value, 'notattend'), false) .
' name="message[' . esc_attr(qem_get_element($value, 'orig_key')) .
'][notattend]" value="checked">';
} else {
$content_escaped .= '✓ ' . esc_html__('Not attending', 'quick-event-manager');
}
} else if ($item == 'yourattend') {
// Regular handling for yourattend when notattend is not checked
if (($qem_edit == 'selected' && qem_get_element($selected, $i_array)) || $qem_edit == 'all') {
$content_escaped .= '<input type="checkbox" name="message[' .
esc_attr(qem_get_element($value, 'orig_key')) .
'][notattend]" value="checked">';
} else {
// Empty or show "Attending" based on your preference
$content_escaped .= '';
}
} else {
// Regular handling for other fields
if (($qem_edit == 'selected' && qem_get_element($selected, $i_array)) || $qem_edit == 'all') {
$content_escaped .= '<input style="width:100%" ' . esc_attr($attrs) . ' value="' .
esc_attr(qem_get_element($value, $item)) . '" name="message[' .
esc_attr(qem_get_element($value, 'orig_key')) . '][' . esc_attr($item) . ']">';
} else {
$content_escaped .= qem_wp_kses_post(qem_get_element($value, $item));
}
}
$content_escaped .= '</td>';
}
return $content_escaped;
}
If you’re comfortable with basic PHP editing, this change should solve the issue by ensuring the “not attending” status appears clearly in your registration reports.
This code is untested and just a suggestion. Please only try on a test system.
Showing Participation Overview in User Accounts
Regarding displaying which events a user is attending in their account, this functionality is available through the [qemregistrations] shortcode. However, this is a Pro-only feature in Quick Event Manager.
The shortcode allows users to see which events they’ve registered for by entering their email address. As suggested in the documentation, you could:
- Create a page with this shortcode
- Use a membership or content restriction plugin to ensure only logged-in users can access it
- This gives your users a way to track their registrations
If you need this functionality but don’t have the Pro version, you might consider upgrading, or alternatively, you could explore developing a custom solution using the plugin’s database structure.
Would you like more detailed instructions for implementing either of these solutions?