Forum Replies Created

Viewing 3 replies - 1 through 3 (of 3 total)
  • Thread Starter Paul M.

    (@paul-m-1)

    Thanks for the fast reply, Mykola.
    Actually I got some similar advice when I ran the issue through Perplexity (AI), which suggested a kind of ‘graceful fallback’ code and even trying to make the call through “getAdminNotifier” as well.
    Note that I haven’t fully tested this option yet (see below).

    My concern is that during a bulk import of WooCommerce products, maybe there is something triggering a warning, or some other kind of notification, that I might be missing (eg., a resource issue?) so certainly I want any errors or notifications to be captured. It seems the crash does not happen if the import batch is only small; it takes several hundred product lines in the import before it happens.
    The workaround I have tested so far (successfully), is to deactivate the T.P.T. plugin, run the bulk product import, then re-activate the plugin after that. It looks like this solution works: no fatal errors, and all imported products display their tiered pricing table successfully.

    Anyway, I look forward to installing the update release when you have it ready.

    Thanks again,
    Paul M.

    Perplexity AI Code for “Seen notifications”:

    			<tr>
    <td data-export-label="Tiered Pricing: Seen notifications">
    <?php esc_html_e( 'Seen notifications', 'tier-pricing-table' ); ?>:
    </td>

    <td>
    <?php
    /* $seenNotifications = $this->getContainer()->getNotificationManager()->getSeenNotifications();
    *
    * echo esc_html( implode( ', ', array_keys( $seenNotifications ) ) );
    */
    $seenNotifications = [];
    $container = $this->getContainer();
    $notificationManager = null;


    // 1. Try NotificationManager if the container exposes it.
    if ( method_exists( $container, 'getNotificationManager' ) ) {
    $notificationManager = $container->getNotificationManager();
    }

    // 2. If that didn't work, fall back to AdminNotifier if available.
    if ( ! $notificationManager && method_exists( $container, 'getAdminNotifier' ) ) {
    $notificationManager = $container->getAdminNotifier();
    }

    // 3. Only call getSeenNotifications() if the object actually has that method.
    if ( $notificationManager && method_exists( $notificationManager, 'getSeenNotifications' ) ) {
    $seenNotifications = $notificationManager->getSeenNotifications();
    }

    echo esc_html( implode( ', ', array_keys( (array) $seenNotifications ) ) );
    ?>
    </td>
    </tr>
    <tr>
    Thread Starter Paul M.

    (@paul-m-1)

    Oops – forgot to include the log entry.
    Here it is:

    2026-06-10T03:50:33+00:00Critical Uncaught Error: Call to undefined method TierPricingTable\Core\ServiceContainer::getNotificationManager() in /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/tier-pricing-table/src/Services/SystemStatusReportService.php:59 Additional context{ “error”: { “type”: 1, “file”: “/home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/tier-pricing-table/src/Services/SystemStatusReportService.php”, “line”: 59 }, “remote-logging”: true, “backtrace”: [ “”, “#0 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/class-wp-hook.php(341): TierPricingTable\Services\SystemStatusReportService->addReport()”, “#1 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()”, “#2 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/plugin.php(522): WP_Hook->do_action()”, “#3 /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/woocommerce/includes/admin/views/html-admin-page-status-report.php(1127): do_action()”, “#4 /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-status.php(41): include_once(‘/home/pauliscoo…’)”, “#5 /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/woocommerce/includes/admin/views/html-admin-page-status.php(43): WC_Admin_Status::status_report()”, “#6 /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-status.php(29): include_once(‘/home/pauliscoo…’)”, “#7 /home/pauliscool/dev.upbeatpromotions.com.au/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-menus.php(400): WC_Admin_Status::output()”, “#8 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/class-wp-hook.php(341): WC_Admin_Menus->status_page()”, “#9 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()”, “#10 /home/pauliscool/dev.upbeatpromotions.com.au/wp-includes/plugin.php(522): WP_Hook->do_action()”, “#11 /home/pauliscool/dev.upbeatpromotions.com.au/wp-admin/admin.php(264): do_action()”, “#12 {main}”, “thrown” ] }

    Version 10.8.1

    Thread Starter Paul M.

    (@paul-m-1)

    Thanks for the reply, Moses.
    The link and explanation you’ve provided appears to apply to the optional CSV Import Suite plugin.
    My issue is with the default, in-built CSV product import feature.
    There is no documentation I can find that indicates manual field mapping will only work with certain combinations of column heading names.

Viewing 3 replies - 1 through 3 (of 3 total)