Informacje techniczne

Documentation E-Toolkit Omnibus

Instructions, technical specifications and change history — always in line with the current version of the product.

Current version v0.1.19

Technical compliance

WordPress

From version 6.4

Tested up to 7.1

WooCommerce

Minimum version not specified

PHP

From version 7.4

Knowledge base

Documentation

User Manual Set-up, operation and troubleshooting.

E-Toolkit Omnibus — User Guide

E-Toolkit Omnibus records WooCommerce product price history and displays a reference price during a reduction. It helps meet price-information requirements but does not replace a legal assessment of a specific campaign, market, or price presentation.

Getting started

  1. Open ET Omnibus in the WordPress dashboard.
  2. Complete the configuration assistant.
  3. Open Settings → Display, enable the module, and choose where the message appears.
  4. Under Settings → Automation, configure recurring history backfill and archiving.
  5. Save the settings.
  6. Open a simple product and a variation, then check their Price history tabs.
  7. Set a test sale price and check the message on the product page.

If the store already has products and sales, backfill history before the next campaign. The plugin cannot reconstruct unknown historical prices from the current price alone.

What is calculated

The plugin considers:

  • regular prices,
  • sale prices,
  • simple products and variations,
  • the standard 30-day period or the special period for a new or perishable product,
  • existing price-history entries.

A further reduction within the same campaign does not change its reference price. If the plugin does not know when the campaign started or lacks complete history for the current currency, language, and sales channel, it does not show a fallback price. The product receives the No reference status for administrator review.

Campaign check

The report compares the current sale with stored history and identifies products that need attention. It is a diagnostic tool: it reports missing references, incomplete history, and inconsistent data, but does not make a legal assessment of the campaign.

Dashboard

The dashboard shows module status, price history, settings, the campaign-check summary, and data required for archiving.

The setup assistant marks each step as ✓ Complete or To do. Omnibus runtime status is separate from setup progress. When automation is missing, the main message confirms that monitoring works but also warns that history is not yet backfilled on a schedule.

Settings

Settings are divided into:

  • Display — message locations, reference period, and module state,
  • Appearance — text, colors, and live preview,
  • Automation — archiving and recurring history backfill,
  • Integrations and API — API, hooks, and WP-CLI commands in a collapsible section.

The default message, widget, and badge use a neutral design: white or very light background, dark text, a subtle gray border, and a small radius. Custom colors take precedence. Restore default appearance resets presentation only, without changing module behavior.

Use {discount} in the badge template as the reduction percentage placeholder. The minimum real-reduction threshold controls badge visibility but does not change the campaign assessment.

There is no separate simple or advanced configuration mode. All features are available in one view, while technical details stay collapsed until needed.

The sticky save bar reports whether configuration is saved. Save all tabs together or discard changes and return to the last saved configuration.

Reading price history

  1. On Price history, find a product and optionally choose a variation.
  2. Select 30, 90, or 365 days beside the chart.
  3. Review the lowest and current prices and the history assessment.
  4. If the history needs attention, read the detected facts and follow the steps under Check.
  5. Expand technical details for rule and integration information.

Customer price is the price actually applied after considering regular and sale prices. One record is not enough to show a reliable trend; the chart becomes complete after further changes are recorded.

With one record, a compact notice replaces the chart. Stored price history includes the first snapshot and later changes, so it can correctly contain only one entry.

Tools

Use Tools to run operations manually. Configure their schedules separately under Settings → Automation.

  • Manual operations immediately backfill or archive history.
  • Campaign simulator compares a planned price with the lowest price in the reference period and shows the real reduction. Find a product by name, SKU, or ID.
  • Advanced tools contain integrations, source repair, and import.

Price-history records counts stored snapshots, not tracked products. After an operation, the dashboard shows processed, saved, skipped, and failed record counts. A partial result means part of the task completed but at least one write requires retry or review.

Advanced sections are collapsed by default. For source repair, first click Check sources. The plugin reports entries requiring correction before displaying the data-changing action.

Import is also staged: detect the source, preview new, duplicate, and skipped records, then run the import. The button remains disabled until the selected source is checked. Empty sources cannot be imported. Large imports run in resumable batches and skip existing records.

ET Lingua, currencies, and channels

  • With shared ET Lingua prices, product translations use one source history.
  • With language-specific prices, every language has separate history and references.
  • Every public currency requires its own snapshots; references are never converted from another currency.
  • Custom channels and pricing engines require the filters described in the developer guide.

Inactive integrations are described without expanded technical details. Diagnostic-data links appear only for detected active integrations.

Before a campaign

  • enable monitoring early enough to collect the required history period,
  • check a simple product and at least one variation,
  • check every public pricing context when using several currencies or languages,
  • after a store migration, verify record counts and products marked No reference,
  • use the campaign simulator before saving a sale price.

Deactivation and data

Deactivation stops automatic backfill and archiving but retains settings and price history. Uninstall does not remove this data automatically, preventing accidental loss of pricing records.

Troubleshooting

  • If history is not recorded, check settings and the WooCommerce integration.
  • If a reference is missing, check automation, the campaign start, and history in the current currency and language.
  • If the message is missing, check the product template.
  • If the module reports an issue, review recent price changes.
Developer documentation Functions, hooks, filters and integration tips.

E-Toolkit Omnibus — Developer Guide

The module records the price actually presented to the customer and freezes a campaign reference when a reduction begins. It does not recalculate the reference during subsequent stages of the same campaign. A custom pricing integration must provide the correct price and stable currency, language, and sales-channel context.

The public contract consists of price and campaign context filters, REST API, and two shortcodes: [et_omnibus_message] and [et_omnibus_widget]. Integrations must not depend on internal tables, options, classes, or files.

History and references are separated by product, variation, currency, language, and sales channel. A custom pricing integration must return stable values for this context. Missing current-context history never falls back to another currency, language, or the current price.

Safe extension rules

Use public filters to change price sources, currencies, channels, and campaign detection. Do not modify stored references directly; they are deliberately frozen when a campaign starts.

Hooks and filters

  • et_omnibus_current_currency — detects the current currency.
  • et_omnibus_price_source — price source used in calculations.
  • et_omnibus_snapshot_price — final customer price; arguments are converted price, raw price, kind (effective, regular, or sale), product, and context.
  • et_omnibus_sales_channel — stable identifier of an independent sales channel.
  • et_omnibus_is_price_reduction — whether a custom reduction applies.
  • et_omnibus_promotion_started_at — start time of a custom reduction.
  • et_omnibus_product_ids_on_sale — extends the list of products on sale.
  • et_omnibus_reference_readiness_stats — extends reference-readiness statistics.
  • et_omnibus_public_history_rate_limit — public history-read limit per minute.
  • et_omnibus_public_history_rate_limit_identity — stable client identifier for rate limiting. It defaults to REMOTE_ADDR; a trusted proxy or CDN integration may return a verified identifier. The value is sanitized, limited to 255 characters, and hashed before transient storage.
  • et_omnibus_migration_meta_max_bytes — maximum size of one imported meta value.

REST API and permissions

The dashboard uses one configuration mode. The legacy easy_mode setting is ignored and removed during the next save.

  • GET /omnibus/v1/price-history is public only for a published product and a correctly assigned, published variation. The public response excludes sources, hooks, and diagnostics and is rate-limited.
  • Dashboard, reports, product search, and tools require manage_woocommerce or manage_options.
  • GET /omnibus/v1/repair-sources only analyzes candidates; POST to the same route updates history sources.
  • GET /omnibus/v1/migration-preview analyzes up to 1,000 records from a detected source without storing snapshots. POST /omnibus/v1/migration-import performs the privileged import. Later batches use a primary-key cursor instead of increasingly expensive OFFSET when the source provides one.
  • Write operations require an active license and administrative permissions.

Integration examples

Custom currency

<?php
add_filter('et_omnibus_current_currency', function($currency) {
    return $currency !== '' ? $currency : get_woocommerce_currency();
});

Custom price source

<?php
add_filter('et_omnibus_price_source', function($source, $product) {
    unset($product);
    return 'manual';
}, 10, 2);

Important integration behavior

  • ET Lingua's shared strategy uses the source product's shared history; per_language maintains separate history for each language.
  • Translatable storefront messages are registered in ET Lingua's et-omnibus group.
  • Deactivation and uninstall do not delete price history.
  • Public history reads are rate-limited. A trusted proxy integration can provide a client identifier through et_omnibus_public_history_rate_limit_identity.