fication wpforms-menu-notification-counter">' . $count . ''; } $wp_admin_bar->add_menu( [ 'id' => 'wpforms-menu', 'title' => 'WPForms' . $indicator, 'href' => admin_url( 'admin.php?page=wpforms-overview' ), ] ); } /** * Render Notifications admin bar menu item. * * @since 1.6.0 * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function notification_menu( WP_Admin_Bar $wp_admin_bar ) { if ( ! $this->has_notifications() ) { return; } $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-notifications', 'title' => esc_html__( 'Notifications', 'wpforms-lite' ) . '
', 'href' => admin_url( 'admin.php?page=wpforms-overview' ), ] ); } /** * Render All Forms admin bar menu item. * * @since 1.6.0 * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function all_forms_menu( WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-forms', 'title' => esc_html__( 'All Forms', 'wpforms-lite' ), 'href' => admin_url( 'admin.php?page=wpforms-overview' ), ] ); } /** * Render All Payments admin bar menu item. * * @since 1.8.4 * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function all_payments_menu( WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-payments', 'title' => esc_html__( 'Payments', 'wpforms-lite' ), 'href' => add_query_arg( [ 'page' => 'wpforms-payments', ], admin_url( 'admin.php' ) ), ] ); } /** * Render Add New admin bar menu item. * * @since 1.6.0 * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function add_new_menu( WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-add-new', 'title' => esc_html__( 'Add New', 'wpforms-lite' ), 'href' => admin_url( 'admin.php?page=wpforms-builder' ), ] ); } /** * Render Community admin bar menu item. * * @since 1.6.0 * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function community_menu( WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-community', 'title' => esc_html__( 'Community', 'wpforms-lite' ), 'href' => 'https://www.facebook.com/groups/wpformsvip/', 'meta' => [ 'target' => '_blank', 'rel' => 'noopener noreferrer', ], ] ); } /** * Render Support admin bar menu item. * * @since 1.6.0 * @since 1.7.4 Update the `Support` item title to `Help Docs`. * * @param WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object. */ public function support_menu( WP_Admin_Bar $wp_admin_bar ) { $href = add_query_arg( [ 'utm_campaign' => wpforms()->is_pro() ? 'plugin' : 'liteplugin', 'utm_medium' => 'admin-bar', 'utm_source' => 'WordPress', 'utm_content' => 'Documentation', ], 'https://wpforms.com/docs/' ); $wp_admin_bar->add_menu( [ 'parent' => 'wpforms-menu', 'id' => 'wpforms-help-docs', 'title' => esc_html__( 'Help Docs', 'wpforms-lite' ), 'href' => $href, 'meta' => [ 'target' => '_blank', 'rel' => 'noopener noreferrer', ], ] ); } /** * Get form data for JS to modify the admin bar menu. * * @since 1.6.5 * @since 1.8.4 Added the View Payments link. * * @param array $forms Forms array. * * @return array */ protected function get_forms_data( $forms ) { $data = [ 'has_notifications' => $this->has_notifications(), 'edit_text' => esc_html__( 'Edit Form', 'wpforms-lite' ), 'entry_text' => esc_html__( 'View Entries', 'wpforms-lite' ), 'payment_text' => esc_html__( 'View Payments', 'wpforms-lite' ), 'survey_text' => esc_html__( 'Survey Results', 'wpforms-lite' ), 'forms' => [], ]; $admin_url = admin_url( 'admin.php' ); foreach ( $forms as $form ) { $form_id = absint( $form['id'] ); if ( empty( $form_id ) ) { continue; } /* translators: %d - form ID. */ $form_title = sprintf( esc_html__( 'Form ID: %d', 'wpforms-lite' ), $form_id ); if ( ! empty( $form['settings']['form_title'] ) ) { $form_title = wp_html_excerpt( sanitize_text_field( $form['settings']['form_title'] ), 99, '…' ); } $has_payments = wpforms()->get( 'payment' )->get_by( 'form_id', $form_id ); $data['forms'][] = apply_filters( 'wpforms_admin_adminbarmenu_get_form_data', [ 'form_id' => $form_id, 'title' => $form_title, 'edit_url' => add_query_arg( [ 'page' => 'wpforms-builder', 'view' => 'fields', 'form_id' => $form_id, ], $admin_url ), 'payments_url' => $has_payments ? add_query_arg( [ 'page' => 'wpforms-payments', 'form_id' => $form_id, ], $admin_url ) : '', ] ); } return $data; } /** * Add form(s) data to the page. * * @since 1.6.5 * * @param array $forms Forms array. */ public function menu_forms_data_html( $forms ) { if ( empty( $forms ) ) { return; } // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo wpforms_render( 'admin-bar-menu', [ 'forms_data' => $this->get_forms_data( $forms ), ], true ); } }