', esc_attr(Plugin::PREFIX) . 'root'); $listTable->prepare_items(); printf( '

%s

', esc_html(SubpageMaster::PAGE_TITLE) ); printf( '%s', esc_url(SubpageCreate::url()), esc_html(__('Add new', 'admin-options-pages')) ); print('
'); print('
'); printf( '
', esc_attr($_GET['page']) ); $listTable->display(); print('
'); print('
'); print('
'); print('
'); print('

Admin Options Pages

'); print('
'); printf('
%s
', esc_html__('Creating options pages has never been easier.', 'admin-options-pages')); printf('

%s

', esc_html__('Documentation', 'admin-options-pages')); print('

'); print('adminoptionspages.com/docs'); print(''); print(''); print('

'); print('
'); $linkReview = 'https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Fplugin%2Fadmin-options-pages%2Freviews%2F'; $linkSite = 'https://wordpress.org/plugins/admin-options-pages/'; $heart = '' . esc_html__('love', 'admin-options-pages') . '' . ''; $star = ''; $stars = sprintf( '%2$s%3$s', esc_url($linkReview), esc_html__('five stars', 'admin-options-pages'), str_repeat($star, 5) ); $site = sprintf('AOP', esc_url($linkSite)); // The sentence is escaped; the icons and links are fixed markup with escaped values. /* translators: 1: an icon of a heart (with the screen reader text "love"), 2: a link with five stars, 3: a link to the plugin */ $sentence = esc_html__('If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.', 'admin-options-pages'); echo '

' . sprintf($sentence, $heart, $stars, $site) . '

'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped print('
'); print('
'); print('
'); print('
'); } }