Skip to content

Extension points in version 2.1.0, checked against the plugin source.

Hook When it fires Args
wbpwpforoi_peepso_wpforo_integration_loaded After the plugin’s features load on peepso_init (only when PeepSo and wpForo are both active). none
Filter Purpose Args
wpforo_show_tab_on_peepso_profile Show or hide one view on a member’s Forums tab. $enabled (bool), $key (activity, favored, subscriptions or profile), $views (view key => wpForo template)
wpforo_peepso_default_tab The view the tab opens on. Default: the first visible view. $default (view key), $views (visible view key => label)

View keys and their URL segments: activity = forums/activity (Posts), favored = forums/favorites, subscriptions = forums/subscriptions, profile = forums/profile.

Filter Purpose Args
peepsowpforo_activity_for_crosspost Runs only for topics created while a WordPress post is saved (the wpForo Cross Posting add-on). Return false to skip the stream post for the article. One article gets at most one stream post, whatever the number of boards. $allowed (default true), $topic (wpForo topic row)
alter_wpforo_enable_tpc_disable_activity Override the author’s choice for a new topic. The value means “disabled”: true = do not post. $disabled, $activity (PSWF_Activity), $topic
alter_wpforo_enable_reply_disable_activity Same, for a reply. $disabled, $activity (PSWF_Activity), $post, $topic
pswf_activity_message The stream post HTML before it is saved. The result is passed through wp_kses_post(). $html, $type (topic or reply), $item (topic or post row), $topic

Copy a file from the plugin’s templates/wpforo/ folder to yourtheme/peepso/wpforo/ and edit the copy.

Template What it renders
profile-forums.php Profile Forums tab: PeepSo profile header, view switcher, then wpForo’s section.
group-forum.php Group Forum tab: group header, the “cannot post” notice, then wpForo’s forum page.
group-settings.php The Group forum row in group Settings (Create forum / Open forum).

The member sections themselves are wpForo’s own templates (profile-activity.php, profile-favored.php, profile-subscriptions.php, profile-home.php) from your active wpForo theme.

Where Key Meaning
PeepSo config wpforo_tab_label, wpforo_enable_{view}, wpforo_label_{view} Profile tab and its views (activity, favored, subscriptions, profile).
PeepSo config wpforo_profile_link_setting_display, wpforo_peepso_avatars Member links and avatars.
PeepSo config wpforo_group_integration_display, wpforo_group_integration_label, wpforo_group_forum_category Group forums.
PeepSo config wpforo_topic_notification_setting_display, wpforo_reply_notification_setting_display Notifications.
PeepSo config wpforo_topic_activity_setting_display, wpforo_reply_activity_setting_display, wpforo_activity_member_default Stream posts.
Option save_wpforo_forum_data Per-forum stream switches, keyed b{boardid}_f{forumid}.
Group post meta pswf_forum The group’s forum, as {boardid}:{forumid}.
Activity post meta pswf_item The topic or reply a stream post came from, as {boardid}:t:{topicid} or {boardid}:p:{postid}.
User meta peepso_wpforo_share_topic_activity, peepso_wpforo_share_reply_activity Member’s share choice (1 = share). The 2.0 opt-out keys peepso_wpforo_enable_tpc_disable_activity and peepso_wpforo_enable_reply_disable_activity are still read when no new choice is saved.

Notification types: wpforo_sub_new_topic, wpforo_topic_new_post, wpforo_sub_topic_new_post. Module ID: PSWF_MODULE_ID (22601).

Uninstalling removes the settings, member choices, group links and pswf_item meta. Forums, topics, replies and stream posts are kept.

These no longer exist. Remove any code that uses them.

  • Filters: peepso_wpforo_integration_plugin_locale, peepso_wpforo_alter_profile_url, wbpwpforoi_get_wpforo_profile_menus, peepso_check_is_wpforo_page, filter_new_reply_activity, peepsowpforo_peepso_activity_content_before, peepso_wpforo_filter_wpforo_giphy, wpwfi_license_api_sslverify.
  • The global ?board-id= switch. Board choice now lives inside each Forums tab view as ?boardid=N.
  • Templates: forums.php, board-forum.php, profile-activity.php, profile-subscriptions.php and the copied wpforo/posts.php. Member links now use wpForo’s wpforo_member_profile_url filter.
  • The 2.0 classes, globals and constants (Peepso_Wpforo_Integration_*, EDD_WPWFI_*). Use PSWF_VERSION and PSWF_MODULE_ID.

Example: no stream posts for cross-posted articles

Section titled “Example: no stream posts for cross-posted articles”
add_filter( 'peepsowpforo_activity_for_crosspost', '__return_false' );

Example: open the Forums tab on Forum profile

Section titled “Example: open the Forums tab on Forum profile”
add_filter(
'wpforo_peepso_default_tab',
function ( $default, $views ) {
return isset( $views['profile'] ) ? 'profile' : $default;
},
10,
2
);