Unlock the Full Potential of WPForo: Maximize Results with the ‘do_action’ Hook
Recently I am trying to customize a forum using WpForo plugin. However, I face problems customizing them. Although the plugin itself is great, they lack the documentation for developers.
As I was searching for answers, I came across one of their support response:
They clearly does not have a documentation. It’s been 3 years since the post. Hence, I have no much options but to go through their plugin codes to look for clue. Below is what I have found. I just thought I will share them here. I have not used them yet but in the near future when I need to I will refer to it. Meanwhile, I hope this can be useful to other developers.
do_action(‘wpforo_after_ban_user’, $userid);
do_action(‘wpforo_after_unban_user’, $userid);
do_action( ‘wpforo_before_change_board’, $args );
do_action( ‘wpforo_after_change_board’, $args );
do_action( ‘wpforo_before_init_base_classes’ );
do_action( ‘wpforo_after_init_base_classes’ );
do_action( ‘wpforo_before_init_classes’ );
do_action( ‘wpforo_after_init_classes’ );
do_action( ‘wpforo_after_set_locale’, $locale );
do_action( ‘wpforo_after_init_folders’, $this->folders );
do_action( ‘wpforo_before_init’ );
do_action( ‘wpforo_core_inited’ );
do_action( ‘wpforo_after_init’ );
do_action( ‘wpforo_after_init_current_url’, $atts );
do_action(‘wpforo_wiget_profile_content_before’, $member);
do_action(‘wpforo_wiget_profile_content_after’, $member);
do_action(‘wpforo_wiget_profile_footer_before’, $member);
do_action(‘wpforo_wiget_profile_footer_after’, $member);
do_action(‘wpforo_wrap_class’);
do_action(‘wpforo_top_hook’);
do_action(‘wpforo_menu_bar_start’);
do_action(‘wpforo_after_menu_items’);
do_action(‘wpforo_menu_bar_end’);
do_action(‘wpforo_header_hook’);
do_action(‘wpforo_footer_hook’);
do_action(‘wpforo_stat_bar_start’, WPF());
do_action(‘wpforo_stat_bar_end’);
do_action(‘wpforo_profile_data_item’, WPF()->current_object);
do_action(‘wpforo_after_member_badge’, $user);
do_action(‘wpforo_topic_info_end’, $topic);
do_action(‘wpforo_tpl_post_loop_after_content’, $comment, $comment_member);
do_action(‘wpforo_topic_info_end’, $topic);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_topic_head_left’, $forum, $topic);
do_action(‘wpforo_topic_head_right’, $forum, $topic);
do_action(‘wpforo_tpl_post_loop_after_content’, $post, $member);
do_action(‘wpforo_post_footer_start’, $post, $topic, $forum, 4);
do_action(‘wpforo_post_footer_bottom_start’, $post, $topic, $forum, 4);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_top_hook’);
do_action(‘wpforo_menu_bar_start’);
do_action(‘wpforo_after_menu_items’);
do_action(‘wpforo_before_search_toggle’);
do_action(‘wpforo_menu_bar_end’);
do_action(‘wpforo_header_hook’);
do_action(‘wpforo_footer_hook’);
do_action(‘wpforo_stat_bar_start’, WPF());
do_action(‘wpforo_stat_bar_end’);
do_action(‘wpforo_profile_head_right’, $user);
do_action(‘wpforo_after_member_badge_right’, $user);
do_action(‘wpforo_template_topic_head_bar_action_links’, $forum);
do_action(‘wpforo_topic_list_footer’);
do_action(‘wpforo_profile_after_statbox’, WPF()->current_object[‘user’]);
do_action(‘wpforo_template_profile_subscriptions_head_bar’, $subscribes);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_forum_loop_no_forums’, $cat);
do_action(‘wpforo_tpl_post_loop_after_content’, $post, $member);
do_action(‘wpforo_post_content_end’, $post, $topic, $forum, 2);
do_action(‘wpforo_post_bottom_end’, $post, $topic, $forum, 2);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_topic_info_end’, $topic);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_forum_loop_no_forums’, $cat);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_post_left_end’, $post, $topic, $forum, 1);
do_action(‘wpforo_tpl_post_loop_after_content’, $post, $member);
do_action(‘wpforo_post_bottom_start’, $post, $topic, $forum, 1);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_topic_info_end’, $topic);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_loop_hook’, $key);
do_action(‘wpforo_loop_hook’, $key);
do_action( ‘wpforo_bp_format_buddypress_notifications’, $action, $item_id, $secondary_item_id, $total_items );
do_action( ‘wpforo_bp_notifications_handler’, $success, $user_id, $reply_id, $action );
do_action( ‘wpforo_admin_menu’, $parent_slug, $board );
do_action( ‘wpforo_admin_base_menu’, $parent_slug );
do_action( ‘wpforo_dashboard_forum_form_side’, $data );
do_action( ‘wpforo_dashboard_forum_form_main’, $data );
do_action( ‘wpforo_dashboard_widgets_col2’, WPF() );
do_action( ‘wpforo_dashboard_widgets_col3’, WPF() );
do_action( ‘wpforo_settings_page_top’ );
do_action( “wpforo_settings_after”, $tab, $setting );
do_action( “wpforo_settings_after_form”, $tab, $setting );
do_action( ‘wpforo_dashboard_widget_server’ );
do_action( ‘wpforo_dashboard_widgets_col1’ );
do_action( ‘wpforo_dashboard_widgets_col3’, WPF() );
do_action( ‘wpforo_tools_page_top’ );
do_action( ‘wpforo_dashboard_widget_server’ );
do_action( ‘wpforo_verify_option_end’ );
do_action( ‘wpforo_verify_nonce_end’ );
do_action( ‘wpforo_update_option’, $option, $value, $autoload );
do_action( ‘wpforo_delete_option’, $option );
do_action( ‘wpforo_clean_cache_start’, $id, $template );
do_action( ‘wpforo_clean_cache’, $id, $template );
do_action( ‘wpforo_clean_cache_end’, $id, $template );
do_action( ‘wpforo_answer’, intval( $_POST[‘answerstatus’] ), $post );
do_action( ‘wpforo_frontend_register_scripts’ );
do_action( ‘wpforo_frontend_enqueue_scripts’ );
do_action( ‘wpforo_after_member_badge’, $member );
do_action( ‘lostpassword_form’ );
do_action( ‘wpforo_lostpass_form_end’ );
do_action( ‘wpforo_resetpass_form_end’ );
do_action( ‘wpforo_register_page_start’, $fields );
do_action( ‘wpforo_account_page_start’, $args );
do_action( ‘wpforo_notices’ );
do_action( ‘wpforo_template_loaded’, $this->template );
do_action( ‘wpforo_post_content_after’, $post );
do_action( ‘wpforo_profile_login_tab’, $user );
do_action( ‘wpforo_profile_register_tab’, $user );
do_action( ‘wpforo_widgets_init’ );
do_action( ‘wpforo_after_copy_forum’, $forum, $forumid );
do_action( ‘wpforo_after_add_forum’, $args, $checkperm );
do_action( ‘wpforo_after_edit_forum’, $args, $forum, $checkperm );
do_action( ‘wpforo_after_delete_forum’, $forumid );
do_action( ‘wpforo_after_merge_forum’, $forumid, $mergeid );
do_action( ‘wpforo_after_add_usergroup’, $group );
do_action( ‘wpforo_after_edit_usergroup’, $group );
do_action( ‘wpforo_set_users_groupid’, $groupid_userids, $status );
do_action( ‘wpforo_after_init_base_templates’, $this->base_templates );
do_action( ‘wpforo_after_init_member_templates’, $this->member_templates );
do_action( ‘wpforo_after_init_templates’, $this->templates );
do_action( ‘wpforo_member_info_buttons’, $member );
do_action( ‘wpforo_topic_form_extra_before’, $forumid, $values );
do_action( ‘wpforo_topic_buttons_hook’, $forumid, $values );
do_action( ‘wpforo_topic_form_extra_after’, $forumid, $values );
do_action( ‘wpforo_editor_topic_submit_before’, $forum, $values );
do_action( ‘wpforo_editor_topic_submit_after’, $forumid, $values );
do_action( ‘wpforo_editor_post_submit_before’, $topic, $values, $forum );
do_action( ‘wpforo_editor_post_submit_after’, $topic, $values, $forum );
do_action( ‘wpforo_portable_form_extra_fields_before’ );
do_action( ‘wpforo_portable_form_buttons_hook’ );
do_action( ‘wpforo_portable_form_extra_fields_after’ );
do_action( ‘wpforo_portable_editor_post_submit_before’, $topic, [], $forum );
do_action( ‘wpforo_portable_editor_post_submit_after’ );
do_action( ‘wpforo_start_add_post’, $args );
do_action( ‘wpforo_before_add_post’, $post );
do_action( ‘wpforo_after_add_post’, $post, $topic, $forum );
do_action( ‘wpforo_start_edit_post’, $args );
do_action( ‘wpforo_before_edit_post’, $post );
do_action( ‘wpforo_after_edit_post’, $post, $topic, $forum, $args );
do_action( ‘wpforo_before_delete_post’, $post );
do_action( ‘wpforo_after_delete_post’, $post );
do_action( ‘wpforo_search_result_after’, $args, $items_count, $posts, $sql );
do_action( ‘wpforo_post_unapprove’, $post );
do_action( ‘wpforo_post_approve’, $post );
do_action( ‘wpforo_post_status_update’, $post, $status );
do_action( ‘wpforo_vote’, $reaction, $post, $userid );