Contents

Hooks Reference — Plugixa Team

Every action and filter hook exposed by Plugixa Team, grouped by area. Action hooks fire for side effects; filter hooks let you modify data.

Table of contents

  1. Plugin lifecycle
  2. Member CRUD hooks
  3. Group CRUD hooks
  4. View / Shortcode CRUD hooks
  5. Shortcode & rendering hooks
  6. Template system hooks
  7. Settings hooks
  8. Multilingual hooks
  9. Schema / SEO hooks
  10. Submission form hooks PRO
  11. Custom fields hooks PRO
  12. Import / Export hooks PRO
  13. AI generator hooks PRO
  14. WooCommerce hooks PRO
  15. Elementor hooks PRO
  16. License / Freemius hooks
  17. Theme override guide
  18. REST API reference

Plugin lifecycle

Hook Type Fires
pt_fs_pxf_loaded action After Freemius SDK initialization.
plugixa_team_loaded action After the main Plugin class is instantiated.
plugixa_team_init action After all plugin hooks are registered.
plugixa_team_activated action On plugin activation. Args: (string $version)
plugixa_team_deactivated action On plugin deactivation.
plugixa_team_uninstalled action On plugin delete (runs from uninstall.php).

Member CRUD hooks

Before / after create

do_action( 'plugixa_team_before_create_member', $data );
do_action( 'plugixa_team_after_create_member', $member_id, $data );

Before / after update

do_action( 'plugixa_team_before_update_member', $member_id, $data );
do_action( 'plugixa_team_after_update_member', $member_id, $data );

Before / after delete

do_action( 'plugixa_team_before_delete_member', $member_id );
do_action( 'plugixa_team_after_delete_member', $member_id );

Bulk operations

do_action( 'plugixa_team_before_bulk_action', $action, $member_ids );
do_action( 'plugixa_team_after_bulk_action', $action, $member_ids, $results );

Filters

Hook Description
plugixa_team_member_data Filter a member array before save.
plugixa_team_member_response Filter a member’s REST response body.
plugixa_team_members_query_args Filter the WP_Query-like args used for member listings.
plugixa_team_members_where Append to the WHERE clause of the members list query.

Group CRUD hooks

do_action( 'plugixa_team_before_create_group', $data );
do_action( 'plugixa_team_after_create_group', $group_id, $data );
do_action( 'plugixa_team_before_update_group', $group_id, $data );
do_action( 'plugixa_team_after_update_group', $group_id, $data );
do_action( 'plugixa_team_before_delete_group', $group_id );
do_action( 'plugixa_team_after_delete_group', $group_id );

Filters

Hook Description
plugixa_team_group_data Filter a group array before save.
plugixa_team_group_response Filter a group’s REST response body (includes member_count).

View / Shortcode CRUD hooks

Views and saved shortcodes fire matching before_/after_ hooks:

do_action( 'plugixa_team_before_create_view', $data );
do_action( 'plugixa_team_after_create_view', $view_id, $data );
do_action( 'plugixa_team_before_update_view', $view_id, $data );
do_action( 'plugixa_team_after_update_view', $view_id, $data );
do_action( 'plugixa_team_before_delete_view', $view_id );
do_action( 'plugixa_team_after_delete_view', $view_id );

do_action( 'plugixa_team_before_create_shortcode', $data );
do_action( 'plugixa_team_after_create_shortcode', $shortcode_id, $data );
// …same before/after/update/delete pattern…

Shortcode & rendering hooks

Rendering filters

Hook Description
plugixa_team_shortcode_atts Filter merged shortcode attributes.
plugixa_team_render_output Filter the final rendered HTML for [plugixa_team].
plugixa_team_card_classes Filter the CSS classes on each member card.
plugixa_team_layout_template Override which template file handles a given layout.
plugixa_team_css_vars Filter the --pxt-* variable map applied to the shortcode root.
plugixa_team_member_vars Filter template variables passed to member cards.

Render actions

do_action( 'plugixa_team_before_render', $atts, $view );
do_action( 'plugixa_team_after_render', $atts, $view, $html );

Example — add a wrapper div

add_filter( 'plugixa_team_render_output', function ( $html, $atts ) {
    return '<div class="custom-wrapper">' . $html . '</div>';
}, 10, 2 );

Template system hooks

Override templates from a theme

The plugin looks up templates in this order:

  1. {child-theme}/plugixateam/{template}.php
  2. {parent-theme}/plugixateam/{template}.php
  3. {plugin}/templates/{template}.php

Templates you can override: grid.php, list.php, masonry.php, table.php, inline.php, carousel.php, filter.php, accordion.php, org-chart.php, submission-form.php, partials/custom-fields.php.

Template path filter

add_filter( 'plugixa_team_template_path', function ( $path, $template ) {
    // Customize the path lookup for a specific template.
    return $path;
}, 10, 2 );

Template before/after actions

Each template fires matching actions:

do_action( 'plugixa_team_before_template_grid', $members, $view );
do_action( 'plugixa_team_after_template_grid', $members, $view );

Replace grid with the template name.


Settings hooks

do_action( 'plugixa_team_before_save_settings', $settings );
do_action( 'plugixa_team_after_save_settings', $settings );

Filters

Hook Description
plugixa_team_default_settings Filter the default settings array used on fresh installs.
plugixa_team_settings Filter the settings array returned by the REST endpoint.
plugixa_team_settings_schema Filter the REST schema for the settings endpoint.

Multilingual hooks

Hook Type Description
plugixa_team_multilingual_active filter Boolean gate — return false to disable multilingual even when Polylang is active.
plugixa_team_translatable_fields filter Filter the translatable field list per entity. Args: (array $fields, string $entity).
plugixa_team_shared_fields filter Filter the shared field list per entity.
plugixa_team_current_language filter Override the detected current language.
plugixa_team_fallback_language filter Override the fallback language (default = site default).
plugixa_team_before_translate action Before creating/updating a translation.
plugixa_team_after_translate action After creating/updating a translation.

Example — make a normally-shared field translatable

add_filter( 'plugixa_team_translatable_fields', function ( $fields, $entity ) {
    if ( 'members' === $entity ) {
        $fields[] = 'department';
    }
    return $fields;
}, 10, 2 );

Schema / SEO hooks

Hook Type Description
plugixa_team_render_schema filter Master gate for JSON-LD output. Return false to suppress.
plugixa_team_person_schema filter Filter each Person entity before output. Args: (array $person, object $member).
plugixa_team_organization_schema filter Filter the Organization wrapper.
plugixa_team_itemlist_schema filter Filter the ItemList schema.
plugixa_team_schema_type filter Override the Organization @type.

The integration with Yoast / RankMath uses the same plugixa_team_render_schema filter to suppress plugin-side output and inject into their graphs instead. See Integrations: SEO Plugins.


Submission form hooks PRO

Actions

do_action( 'plugixa_team_before_submission', $data, $request );
do_action( 'plugixa_team_after_submission', $member_id, $data );
do_action( 'plugixa_team_submission_rejected', $reason, $data, $request );

Filters

Hook Description
plugixa_team_submission_data Sanitized submission data before insert.
plugixa_team_submission_required_fields Required field list at validation time.
plugixa_team_submission_rate_limit [ 'limit' => int, 'window' => int ] — max submissions per IP.
plugixa_team_submission_email_subject Notification email subject.
plugixa_team_submission_email_body Notification email body.
plugixa_team_submission_notify_recipient Notification email recipient.
plugixa_team_recaptcha_threshold Override reCAPTCHA score threshold at request time.
plugixa_team_submission_response Filter the REST response body after a submission.

Custom fields hooks PRO

do_action( 'plugixa_team_before_create_custom_field', $data );
do_action( 'plugixa_team_after_create_custom_field', $field_id, $data );
do_action( 'plugixa_team_before_delete_custom_field', $field_id ); // fires before meta cascade-delete
do_action( 'plugixa_team_after_delete_custom_field', $field_id );

do_action( 'plugixa_team_before_update_member_meta', $member_id, $meta_key, $value );
do_action( 'plugixa_team_after_update_member_meta', $member_id, $meta_key, $value );

Filters

Hook Description
plugixa_team_custom_field_visible Per-field visibility on the frontend. Args: (bool $visible, object $field, object $member).
plugixa_team_custom_field_value Filter a field value at render time (e.g., format a date).
plugixa_team_custom_field_types Add your own field type. Args: (array $types).

Example — add a custom field type

add_filter( 'plugixa_team_custom_field_types', function ( $types ) {
    $types[] = [
        'key'   => 'rating',
        'label' => __( 'Star rating', 'my-textdomain' ),
    ];
    return $types;
} );

Import / Export hooks PRO

Export

Hook Type Description
plugixa_team_export_columns filter CSV column list.
plugixa_team_export_row filter Per-member row before writing to CSV/JSON.
plugixa_team_export_filename filter Output filename.
plugixa_team_pdf_html filter HTML passed to mPDF for PDF export.
plugixa_team_pdf_options filter mPDF constructor options.

Import

Hook Type Description
plugixa_team_import_mapping filter Suggested column mapping after file validation.
plugixa_team_import_row filter Per-row data before insert/update.
plugixa_team_import_max_size filter Max upload size in bytes.
plugixa_team_import_photo filter Hook in here to sideload remote photo URLs.
plugixa_team_import_duplicate_strategy filter Override skip/update/create logic per row.
plugixa_team_after_import action After batch import. Args: (array $results, array $options).

AI generator hooks PRO

Hook Type Description
plugixa_team_before_ai_generate action Before a generation request. Args: (string $source, string $provider, array $params).
plugixa_team_after_ai_generate action After a successful generation. Args: (array $members, string $source, string $provider).
plugixa_team_ai_generated_member filter Modify a single generated item.
plugixa_team_ai_generated_members filter Modify the whole batch.
plugixa_team_ai_provider_config filter Override provider settings at runtime (e.g., per-source temperature).
plugixa_team_ai_prompt filter Filter the prompt sent to the provider.
plugixa_team_ai_import_status filter Override source / status of AI-imported members.

WooCommerce hooks PRO

Hook Type Description
plugixa_team_product_tab_title filter Override tab title per product / category.
plugixa_team_product_tab_priority filter Override tab priority.
plugixa_team_product_tab_content filter Filter rendered tab HTML.
plugixa_team_product_shortcode_id filter Override which shortcode to render for a product (e.g., fall back to a global default).

Elementor hooks PRO

Hook Type Description
plugixa_team_elementor_widget_controls filter Add / modify widget controls.
plugixa_team_elementor_widget_atts filter Map widget settings to shortcode attributes.
plugixa_team_elementor_render filter Filter the final widget render output.

License / Freemius hooks

Freemius exposes its own hooks via the pt_fs_pxf() instance. The plugin also provides:

Hook Type Description
plugixa_team_is_pro filter Override the Pro gate (use with caution — bypasses licensing).
plugixa_team_feature_enabled filter Per-feature gate. Args: (bool $enabled, string $feature_key).
plugixa_team_show_pro_upsells filter Suppress “Upgrade” teasers in free installs.

Example — hide Pro upsells for a client’s site

add_filter( 'plugixa_team_show_pro_upsells', '__return_false' );

Theme override guide

Override a template

  1. Copy {plugin}/templates/grid.php to {your-theme}/plugixateam/grid.php.
  2. Modify freely — the plugin prefers theme templates when present.

Add custom CSS to scoped root

All CSS variables are scoped to .pxt-custom-team-root. To customize per-theme:

.pxt-custom-team-root {
    --pxt-name-font-size: 20px;
    --pxt-card-bg: #fafafa;
}

For per-instance customization with a unique class, filter plugixa_team_card_classes and target that class.

Suppress plugin assets

add_action( 'wp_enqueue_scripts', function () {
    wp_dequeue_style( 'plugixa-team-frontend' );
    wp_dequeue_script( 'plugixa-team' );
}, 100 );

Then roll your own styles / scripts. The plugin’s markup uses stable .pxt-custom-* classes you can target.


REST API reference

Namespace: plugixateam/v1

Public (no auth)

Method Endpoint Description
GET /frontend/members Public published members list.
GET /frontend/members/page Paginated HTML page (AJAX).
GET /frontend/custom-fields Public custom field definitions where show_in_frontend=1.
POST /frontend/submit Submit member via form (rate-limited). PRO

Members (edit_posts)

Method Endpoint
GET /members
POST /members
GET /members/{id}
PUT /members/{id}
DELETE /members/{id}
PATCH /members/{id}/status
POST /members/reorder
DELETE /members/bulk
POST /members/bulk-action
GET /members/authors

Groups (edit_posts)

Method Endpoint
GET /groups
POST /groups
GET /groups/{id}
PUT /groups/{id}
DELETE /groups/{id}
POST /groups/reorder

Views (edit_posts)

Method Endpoint
GET /views
POST /views
GET /views/{id}
PUT /views/{id}
DELETE /views/{id}
DELETE /views/bulk
POST /views/{id}/duplicate
POST /views/{id}/set-default
GET /views/default-config

Shortcodes (edit_posts)

Method Endpoint
GET /shortcodes
POST /shortcodes
GET /shortcodes/{id}
PUT /shortcodes/{id}
DELETE /shortcodes/{id}
DELETE /shortcodes/bulk
POST /shortcodes/{id}/duplicate

Custom fields (manage_options) PRO

Method Endpoint
GET /custom-fields
POST /custom-fields
GET /custom-fields/{id}
PUT /custom-fields/{id}
DELETE /custom-fields/{id}
POST /custom-fields/reorder

AI generator (manage_options) PRO

Method Endpoint
POST /ai-generator/generate/topic
POST /ai-generator/generate/url
POST /ai-generator/generate/file
POST /ai-generator/generate/groups
POST /ai-generator/import
POST /ai-generator/test-connection
POST /ai-generator/load-models
GET /ai-generator/models

Import / Export (edit_posts) PRO

Method Endpoint
GET /import-export/export/csv
GET /import-export/export/json
GET /import-export/export/pdf
POST /import-export/import/validate
POST /import-export/import/execute

WooCommerce (edit_posts, requires WC) PRO

Method Endpoint
GET /woocommerce/products
GET /woocommerce/categories

Multilingual (edit_posts, requires Polylang)

Method Endpoint
GET /multilingual/languages
GET /multilingual/status
GET /multilingual/{entity}/{id}/translations
POST /multilingual/{entity}/{id}/translations
PUT /multilingual/{entity}/link-translations
DELETE /multilingual/{entity}/{id}/translations/{lang}
GET /multilingual/{entity}/{id}/translation-group
POST /multilingual/{entity}/batch-translations

Settings (manage_options)

Method Endpoint
GET /settings
POST /settings
GET /settings/dashboard
POST /settings/demo-data PRO
DELETE /settings/demo-data PRO

Quick Links