'', ]; return $columns; } /** * Overrides the parent get_items to add a total line. * * @since 2.0.0 * * @param integer $per_page Items per page. This gets overridden as well. * @param integer $page_number The page number. * @param boolean $count Return as count or not. * @return array|int */ public function get_items($per_page = 5, $page_number = 1, $count = false) { $membership = wu_get_membership(wu_request('id')); $products = $membership->get_all_products(); if ($count) { return count($products); } return $products; } /** * Renders the inside column responsive. * * @since 2.0.0 * * @param object $item The item being rendered. * @return void */ public function column_responsive($item): void { $quantity = $item['quantity']; $membership_id = wu_request('id'); $item = $item['product']; if ( ! $item) { echo wu_responsive_table_row( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped [ 'url' => false, 'id' => 'not-found', 'title' => __('Product not found', 'wp-multisite-waas'), 'status' => '', 'image' => $this->column_featured_image_id(new \WP_Ultimo\Models\Product()), ], [ 'quantity' => [ 'icon' => 'dashicons-wu-package wu-align-middle wu-mr-1', 'label' => __('Quantity', 'wp-multisite-waas'), // translators: %d is a quantity number 'value' => sprintf(__('x%d', 'wp-multisite-waas'), $quantity), ], ] ); return; } $first_row = [ 'quantity' => [ 'icon' => 'dashicons-wu-package wu-align-middle wu-mr-1', 'label' => __('Quantity', 'wp-multisite-waas'), // translators: %d = quantity 'value' => sprintf(__('x%d', 'wp-multisite-waas'), $quantity), ], 'total' => [ 'icon' => 'dashicons-wu-shopping-bag1 wu-align-middle wu-mr-1', 'label' => __('Price description', 'wp-multisite-waas'), 'value' => $item->get_price_description(), ], ]; $second_row = [ 'slug' => [ 'icon' => 'dashicons-wu-bookmark1 wu-align-middle wu-mr-1', 'label' => __('Product Slug', 'wp-multisite-waas'), 'value' => $item->get_slug(), ], ]; if ($item->get_type() === 'plan') { $first_row['change'] = [ 'wrapper_classes' => 'wubox', 'icon' => 'dashicons-wu-edit1 wu-align-middle wu-mr-1', 'label' => '', 'value' => __('Upgrade or Downgrade', 'wp-multisite-waas'), 'url' => wu_get_form_url( 'change_membership_plan', [ 'id' => $membership_id, 'product_id' => $item->get_id(), ] ), ]; } else { $first_row['remove'] = [ 'wrapper_classes' => 'wu-text-red-500 wubox', 'icon' => 'dashicons-wu-trash-2 wu-align-middle wu-mr-1', 'label' => '', 'value' => __('Remove', 'wp-multisite-waas'), 'url' => wu_get_form_url( 'remove_membership_product', [ 'id' => $membership_id, 'product_id' => $item->get_id(), ] ), ]; } echo wu_responsive_table_row( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped [ 'id' => $item->get_id(), 'title' => $item->get_name(), 'url' => wu_network_admin_url( 'wp-ultimo-edit-product', [ 'id' => $item->get_id(), ] ), 'image' => $this->column_featured_image_id($item), 'status' => $this->column_type($item), ], $first_row, $second_row ); } }