base; } return false !== strpos( $base, $slug ); } /** * Print admin notice. * * @param array $args array of options. * @since 1.0.0 */ function blogsy_print_notice( array $args ): ?bool { $defaults = [ 'type' => 'success', 'message' => '', 'is_dismissible' => true, 'message_id' => '', 'expires' => 0, 'display_on' => [], 'action_link' => '', 'action_text' => '', 'dismiss_text' => esc_html__( 'Dismiss', 'blogsy' ), ]; $args = wp_parse_args( $args, $defaults ); if ( blogsy_is_notice_dismissed( $args['message_id'] ) ) { return false; } if ( ! empty( $args['display_on'] ) ) { $base = get_current_screen()->base; $display = false; foreach ( $args['display_on'] as $page ) { if ( false !== strpos( $base, (string) $page ) ) { $display = true; } } if ( ! $display ) { return false; } } $blogsy_is_dismissible = $args['is_dismissible'] ? ' is-dismissible' : ''; ?>

'; if ( '' !== $tooltip ) { $tooltip = '' . esc_html( $tooltip ) . ''; } if ( 'warning' === $icon ) { echo '' . $svg_icon . $tooltip . ''; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } elseif ( 'info' === $icon ) { echo '' . $svg_icon . $tooltip . ''; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Check if currently using block editor page. * * @since 1.0.0 * @return boolean */ function blogsy_is_block_editor(): bool { if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) { // The Gutenberg plugin is on. return true; } $current_screen = get_current_screen(); // Gutenberg page on 5+. return method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor(); } /** * Print help icon with a link to documentation. * * @param array $args Optional parameters. * @param bool $display Return or print the link. * @return string|null * @since 1.0.0 */ function blogsy_help_link( array $args = [], bool $display = true ): ?string { if ( ! apply_filters( 'blogsy_display_help_links', true ) ) { return null; } $defaults = [ 'link' => '', 'class' => [], ]; $args = wp_parse_args( $args, $defaults ); $args['class'] = (array) $args['class']; $args['class'][] = 'blogsy-help-link'; $class = trim( implode( ' ', $args['class'] ) ); $icon = ''; $output = sprintf( '%4$s%3$s', esc_url( $args['link'] ), esc_attr( $class ), esc_html__( 'How to use', 'blogsy' ), $icon ); if ( $display ) { echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } else { return $output; } return null; }