[ 'label' => Arr::get($args, 'title'), 'css_class' => 'fct-menu-item-' . $slug, 'link' => \FluentCart\App\Services\URL::getCustomerDashboardUrl($slug), 'icon_svg' => Arr::get($args, 'icon_svg'), 'icon_url' => Arr::get($args, 'icon_url'), ]] + array_slice($items, $profileKey, null, true); } else { // If 'profile' is not found, just append it at the end if (!isset($items[$slug])) { $items[$slug] = [ 'label' => Arr::get($args, 'title'), 'css_class' => 'fct-menu-item-' . $slug, 'link' => \FluentCart\App\Services\URL::getCustomerDashboardUrl($slug), 'icon_svg' => Arr::get($args, 'icon_svg'), 'icon_url' => Arr::get($args, 'icon_url'), ]; } } return $items; }); add_filter('fluent_cart/customer_portal/custom_endpoints', function ($endPoints) use ($slug, $args) { if (isset($args['render_callback'])) { $endPoints[$slug] = [ 'render_callback' => $args['render_callback'], ]; } else if (isset($args['page_id'])) { $endPoints[$slug] = [ 'page_id' => $args['page_id'], ]; } return $endPoints; }); } public function registerCustomPaymentMethod($name, $paymentGatewayInstance) { if(! $paymentGatewayInstance instanceof AbstractPaymentGateway) { throw new \Exception( sprintf( /* translators: %s: The name of the invalid payment gateway class. */ esc_html__( 'The payment gateway class "%s" is not valid. It must extend AbstractPaymentGateway.', 'fluent-cart' ), esc_html($paymentGatewayClass) ) ); } (GatewayManager::getInstance())->register($name, $paymentGatewayInstance); } }