Skip to content

This page lists the extension points PeepSo EDD provides, the templates you can override, and the hooks it uses from PeepSo and Easy Digital Downloads. Everything below is traced from the plugin source for version 1.6.0.

Filter Purpose Arguments
wbpeddi_make_edd_purchase_activity_message Change the text of a purchase post before it is saved. The returned HTML is passed through wp_kses_post(). $message (string, HTML with placeholders already replaced), $order_id (int, EDD 3 order ID)

In 1.x the second argument was the EDD payment ID and there was a third argument with the raw setting text. In 1.6.0 the second argument is the EDD 3 order ID and there is no third argument. Use edd_get_order( $order_id ) to read the order.

The plugin provides no actions and registers no shortcodes.

Example: add the store name to the post text

Section titled “Example: add the store name to the post text”
add_filter( 'wbpeddi_make_edd_purchase_activity_message', function ( $message, $order_id ) {
return str_replace( '{store_name}', esc_html( get_bloginfo( 'name' ) ), $message );
}, 10, 2 );

With this snippet, put {store_name} in the Post text setting.

add_filter( 'wbpeddi_make_edd_purchase_activity_message', function ( $message, $order_id ) {
$order = edd_get_order( $order_id );
return $order ? $message . ' (#' . esc_html( $order->get_number() ) . ')' : $message;
}, 10, 2 );

These 1.x hooks no longer exist. Code that uses them does nothing in 1.6.0 and can be removed.

Removed hook Type What to do instead
wbpeddi_show_tab_on_peepso_profile filter The EDD Checkout tab is gone and My Downloads is always limited to the member’s own profile. Use the Show My Downloads tab setting to turn it off.
wbpeddi_edd_menu_setting_for_peepso_profile filter There is one tab with fixed settings. No replacement.
wbpeddi_filter_purchase_activity_content_parameters filter Replace your own placeholders in wbpeddi_make_edd_purchase_activity_message, as in the example above.
wbpeddi_peepso_edd_integration_plugin_locale filter Use WordPress’s core plugin_locale filter with the text domain peepso-edd.
wbpeddi_peepso_edd_integration_loaded action Use PeepSo’s peepso_init action. The plugin boots its features there.

Both front-end templates are loaded through PeepSo’s template system and can be overridden from your theme. Copy the file from the plugin into your theme and edit the copy:

Plugin file Theme override Used for
templates/edd/my-downloads.php yourtheme/peepso/edd/my-downloads.php The My Downloads tab: the view switcher around the current view’s EDD block.
templates/edd/activity-products.php yourtheme/peepso/edd/activity-products.php The product card(s) under a purchase post.

The variables each template receives are listed in the docblock at the top of the file. Check your copy against the plugin’s file after updates.

my-downloads.php receives:

Variable Type Holds
$views array The views available to this member, slug => label. A view is included only when the plugin that owns its block is active (and, for licenses and subscriptions, its setting is on).
$view string The current view slug: library, orders, licenses or subscriptions.
$content string The current view’s rendered EDD block HTML, escaped by EDD. When the block renders nothing (Library for a member with no purchases), or for Subscriptions when the member has no EDD customer record, it is the plugin’s own <p class="wbpeddi-empty"> message with a link to the shop.
$base_url string The current URL without view, for building switcher links.

Each view renders one EDD block: library is edd/user-downloads, orders is edd/order-history, licenses is edd/licenses (EDD Software Licensing) and subscriptions is edd/subscriptions (EDD Recurring Payments). Paging inside a view is handled by the block itself.

After updating, compare your override with the plugin file and copy it again if the variables differ.

Hook Type Used for
peepso_init action Boots all features once PeepSo is loaded.
peepso_navigation_profile filter Adds the My Downloads tab to the member’s own profile.
peepso_profile_segment_edd-downloads action Renders the My Downloads tab.
peepso_profile_preferences filter Adds the “Share my purchases in the activity stream” switch.
peepso_activity_post_attachment action Renders the product card under purchase posts.
peepso_admin_config_tabs filter Registers the EDD tab under PeepSo > Configuration.
peepso_filter_get_option_{key} filter Shows each setting’s default when the stored value is empty.
Hook Type Used for
edd_complete_purchase action Creates the purchase post when an order is completed (priority 20). Renewal orders are skipped: EDD Recurring Payments renewals (child orders) and orders flagged _edd_sl_is_renewal by EDD Software Licensing.
edd_sl_sdk_registry action Registers the plugin with the bundled EDD Software Licensing SDK for automatic updates.
template_redirect action Redirects 1.x profile URLs and other members’ My Downloads URLs.
in_admin_header action Removes other plugins’ admin_notices / all_admin_notices / user_admin_notices / network_admin_notices callbacks on the WB Plugins page and the PeepSo EDD page only (priority 1). They still show on every other screen.

When edd_complete_purchase fires with no logged-in user (a payment gateway notification, a scheduled task), the plugin sets the buyer as the current user for the one PeepSoActivity::add_post() call and restores the previous user straight after, because PeepSo only lets the current user post as themself.

The My Downloads tab does not query orders, licenses or subscriptions itself. It renders EDD’s own blocks with render_block(), and a view is offered only when its block is registered. The only lookup it makes is edd_count_customers() for the viewing member, to show the plugin’s own empty state instead of EDD Recurring’s “You must be logged in” message for a member with no customer record. The stylesheet sets EDD’s --edd-blocks-light-grey variable to a tint of the theme’s text colour so the blocks follow light and dark mode. The plugin does not filter any EDD URL or checkout behaviour.

Settings, stored in PeepSo’s configuration (keys kept from 1.x):

Key Setting
wbpeddi_enable_edd-purchase-history Show My Downloads tab
wbpeddi_label_edd-purchase-history Tab label
wbpeddi_items_per_page Items per page
wbpeddi_show_licenses Show license keys
wbpeddi_show_subscriptions Show subscriptions
wbpeddi_purchase_activity_setting_display Post purchases to the activity stream
wbpeddi_activity_member_default Members share purchases by default
wbpeddi_activity_privacy Post visibility
wbpeddi_activity_show_product Show a product card under the post
wbpeddi_purchase_activity_content Post text

Other data:

Where Key Holds
User meta peepso_wbpeddi_enable_edd_order_activity The member’s “Share my purchases” choice. Absent until the member chooses.
Post meta on the activity post peepso_edd_activity_info The order ID and the buyer’s user ID, used to build the product card.
EDD order meta wbpeddi_activity_id The purchase post created for the order, so an order never posts twice.
Option edd_wbcom_WBPEDDI_license_key The license key (same option as 1.x).

Deleting the plugin from the Plugins screen removes:

  • Every wbpeddi_* setting from PeepSo’s configuration.
  • The license key and license status options, and the 1.x wbpeddi_default_values_set option.
  • Every member’s “Share my purchases” choice.

Purchase posts are the members’ own content and are kept, along with their post meta and the order meta.