Plugin Author
Minor
(@minor)
Hi @robertpheller,
SGR has own hooks (sgr_render_list and sgr_verify_list) now. You can use those hooks in your plugin.
Example:
function customSgrRenderList(array $list): array //Where reCAPTCHA is rendered
{
//unset($list[0]);
$list[] = 'register_form';
return $list;
}
add_action('sgr_render_list', 'customSgrRenderList');
function customSgrVerifyList(array $list): array //Where reCAPTCHA is verified
{
//unset($list[0]);
$list[] = 'lostpassword_post';
return $list;
}
add_action('sgr_verify_list', 'customSgrVerifyList');
It is not clear how to use this. Where does the string added to the $list[] variable come from? And what do I put in my form creation and processing code?
Plugin Author
Minor
(@minor)
I’m sorry, but I don’t know your custom code/plugin. It require some level of programming to work with hooks. You can study more about WordPress action hooks here: https://developer.wordpress.org/plugins/hooks/actions/.
I understand about the add_action() call, in that [my] customSgrRenderList() function will get called somewhere inside the SGR code when it does something like do_action(‘sgr_render_list’…). I just don’t know what the string I would be adding to the $list[] variable is. Is this a function name? an action name? a slug? something else? Please is there any *real* documentation anywhere?
I think I figured out how to do it, but it is not working — obviously I am doing something wrong, but I don’t know what. The plugin code is here:
http://files.deepsoft.com/Other/FMSchedule-2.5.7.zip
The code in question is in the function openmic_shortcode in the class FMSCHEDULE_Plugin in the main plugin file FMSchedule.php.
I am testing it with an “off-line” website (I have Apache2, php8.1, and MariaDB 10.1 installed on my Ubuntu 18.04 home computer), but that should not make any difference.
Plugin Author
Minor
(@minor)
String to the $list[] must be only name of another action hook. You can try to export/show array $list without any modification and you will see what is inside as default.
Unfortunatelly documentation doesn’t exists. I’m going to create documentation on webpage, but I haven’t enought time to do that yet (and it’s boring work :-)). I’m sorry.