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
- Plugin lifecycle
- Member CRUD hooks
- Group CRUD hooks
- View / Shortcode CRUD hooks
- Shortcode & rendering hooks
- Template system hooks
- Settings hooks
- Multilingual hooks
- Schema / SEO hooks
- Submission form hooks PRO
- Custom fields hooks PRO
- Import / Export hooks PRO
- AI generator hooks PRO
- WooCommerce hooks PRO
- Elementor hooks PRO
- License / Freemius hooks
- Theme override guide
- 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:
{child-theme}/plugixateam/{template}.php
{parent-theme}/plugixateam/{template}.php
{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.
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
- Copy
{plugin}/templates/grid.php to {your-theme}/plugixateam/grid.php.
- 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 |