‰PNG IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ±üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0AºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT ‰PNG IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ±üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0AºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT domain, $current_site->domain ) || 0 !== strcasecmp( $current_blog->path, $current_site->path ) ); /** * Filters whether to redirect the request to the User Admin in Multisite. * * @since 3.2.0 * * @param bool $redirect_user_admin_request Whether the request should be redirected. */ $redirect_user_admin_request = apply_filters( 'redirect_user_admin_request', $redirect_user_admin_request ); if ( $redirect_user_admin_request ) { wp_redirect( user_admin_url() ); exit; } unset( $redirect_user_admin_request ); $taxnow ), $sendback ); } if ( 'post' !== get_current_screen()->post_type ) { $sendback = add_query_arg( 'post_type', get_current_screen()->post_type, $sendback ); } wp_redirect( sanitize_url( $sendback ) ); exit; } $tag_ID = absint( $_REQUEST['tag_ID'] ); $tag = get_term( $tag_ID, $taxnow, OBJECT, 'edit' ); if ( ! $tag instanceof WP_Term ) { wp_die( __( 'You attempted to edit an item that does not exist. Perhaps it was deleted?' ) ); } $tax = get_taxonomy( $tag->taxonomy ); $taxonomy = $tax->name; $title = $tax->labels->edit_item; if ( ! in_array( $taxonomy, get_taxonomies( array( 'show_ui' => true ) ), true ) || ! current_user_can( 'edit_term', $tag->term_id ) ) { wp_die( '
' . __( 'Sorry, you are not allowed to edit this item.' ) . '
', 403 ); } $post_type = get_current_screen()->post_type; // Default to the first object_type associated with the taxonomy if no post type was passed. if ( empty( $post_type ) ) { $post_type = reset( $tax->object_type ); } if ( 'post' !== $post_type ) { $parent_file = ( 'attachment' === $post_type ) ? 'upload.php' : "edit.php?post_type=$post_type"; $submenu_file = "edit-tags.php?taxonomy=$taxonomy&post_type=$post_type"; } elseif ( 'link_category' === $taxonomy ) { $parent_file = 'link-manager.php'; $submenu_file = 'edit-tags.php?taxonomy=link_category'; } else { $parent_file = 'edit.php'; $submenu_file = "edit-tags.php?taxonomy=$taxonomy"; } get_current_screen()->set_screen_reader_content( array( 'heading_pagination' => $tax->labels->items_list_navigation, 'heading_list' => $tax->labels->items_list, ) ); wp_enqueue_script( 'admin-tags' ); require_once ABSPATH . 'wp-admin/admin-header.php'; require ABSPATH . 'wp-admin/edit-tag-form.php'; require_once ABSPATH . 'wp-admin/admin-footer.php';' . __( 'You need a higher level of permission.' ) . '' . '' . __( 'Sorry, you are not allowed to edit theme options on this site.' ) . '
', 403 ); } if ( current_user_can( 'switch_themes' ) && isset( $_GET['action'] ) ) { if ( 'activate' === $_GET['action'] ) { check_admin_referer( 'switch-theme_' . $_GET['stylesheet'] ); $theme = wp_get_theme( $_GET['stylesheet'] ); if ( ! $theme->exists() || ! $theme->is_allowed() ) { wp_die( '' . __( 'The requested theme does not exist.' ) . '
', 403 ); } switch_theme( $theme->get_stylesheet() ); wp_redirect( admin_url( 'themes.php?activated=true' ) ); exit; } elseif ( 'resume' === $_GET['action'] ) { check_admin_referer( 'resume-theme_' . $_GET['stylesheet'] ); $theme = wp_get_theme( $_GET['stylesheet'] ); if ( ! current_user_can( 'resume_theme', $_GET['stylesheet'] ) ) { wp_die( '' . __( 'Sorry, you are not allowed to resume this theme.' ) . '
', 403 ); } $result = resume_theme( $theme->get_stylesheet(), self_admin_url( 'themes.php?error=resuming' ) ); if ( is_wp_error( $result ) ) { wp_die( $result ); } wp_redirect( admin_url( 'themes.php?resumed=true' ) ); exit; } elseif ( 'delete' === $_GET['action'] ) { check_admin_referer( 'delete-theme_' . $_GET['stylesheet'] ); $theme = wp_get_theme( $_GET['stylesheet'] ); if ( ! current_user_can( 'delete_themes' ) ) { wp_die( '' . __( 'Sorry, you are not allowed to delete this item.' ) . '
', 403 ); } if ( ! $theme->exists() ) { wp_die( '' . __( 'The requested theme does not exist.' ) . '
', 403 ); } $active = wp_get_theme(); if ( $active->get( 'Template' ) === $_GET['stylesheet'] ) { wp_redirect( admin_url( 'themes.php?delete-active-child=true' ) ); } else { delete_theme( $_GET['stylesheet'] ); wp_redirect( admin_url( 'themes.php?deleted=true' ) ); } exit; } elseif ( 'enable-auto-update' === $_GET['action'] ) { if ( ! ( current_user_can( 'update_themes' ) && wp_is_auto_update_enabled_for_type( 'theme' ) ) ) { wp_die( __( 'Sorry, you are not allowed to enable themes automatic updates.' ) ); } check_admin_referer( 'updates' ); $all_items = wp_get_themes(); $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); $auto_updates[] = $_GET['stylesheet']; $auto_updates = array_unique( $auto_updates ); // Remove themes that have been deleted since the site option was last updated. $auto_updates = array_intersect( $auto_updates, array_keys( $all_items ) ); update_site_option( 'auto_update_themes', $auto_updates ); wp_redirect( admin_url( 'themes.php?enabled-auto-update=true' ) ); exit; } elseif ( 'disable-auto-update' === $_GET['action'] ) { if ( ! ( current_user_can( 'update_themes' ) && wp_is_auto_update_enabled_for_type( 'theme' ) ) ) { wp_die( __( 'Sorry, you are not allowed to disable themes automatic updates.' ) ); } check_admin_referer( 'updates' ); $all_items = wp_get_themes(); $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); $auto_updates = array_diff( $auto_updates, array( $_GET['stylesheet'] ) ); // Remove themes that have been deleted since the site option was last updated. $auto_updates = array_intersect( $auto_updates, array_keys( $all_items ) ); update_site_option( 'auto_update_themes', $auto_updates ); wp_redirect( admin_url( 'themes.php?disabled-auto-update=true' ) ); exit; } } // Used in the HTML title tag. $title = __( 'Themes' ); $parent_file = 'themes.php'; // Help tab: Overview. if ( current_user_can( 'switch_themes' ) ) { $help_overview = '' . __( 'This screen is used for managing your installed themes. Aside from the default theme(s) included with your WordPress installation, themes are designed and developed by third parties.' ) . '
' . '' . __( 'From this screen you can:' ) . '
' . '' . __( 'The active theme is displayed highlighted as the first theme.' ) . '
' . '' . __( 'The search for installed themes will search for terms in their name, description, author, or tag.' ) . ' ' . __( 'The search results will be updated as you type.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => $help_overview, ) ); } // End if 'switch_themes'. // Help tab: Adding Themes. if ( current_user_can( 'install_themes' ) ) { if ( is_multisite() ) { $help_install = '' . __( 'Installing themes on Multisite can only be done from the Network Admin section.' ) . '
'; } else { $help_install = '' . sprintf( /* translators: %s: https://wordpress.org/themes/ */ __( 'If you would like to see more themes to choose from, click on the “Add Theme” button and you will be able to browse or search for additional themes from the WordPress Theme Directory. Themes in the WordPress Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they are free!' ), __( 'https://wordpress.org/themes/' ) ) . '
'; } get_current_screen()->add_help_tab( array( 'id' => 'adding-themes', 'title' => __( 'Adding Themes' ), 'content' => $help_install, ) ); } // End if 'install_themes'. // Help tab: Previewing and Customizing. if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $help_customize = '' . __( 'Tap or hover on any theme then click the Live Preview button to see a live preview of that theme and change theme options in a separate, full-screen view. You can also find a Live Preview button at the bottom of the theme details screen. Any installed theme can be previewed and customized in this way.' ) . '
' . '' . __( 'The theme being previewed is fully interactive — navigate to different pages to see how the theme handles posts, archives, and other page templates. The settings may differ depending on what theme features the theme being previewed supports. To accept the new settings and activate the theme all in one step, click the Activate & Publish button above the menu.' ) . '
' . '' . __( 'When previewing on smaller monitors, you can use the collapse icon at the bottom of the left-hand pane. This will hide the pane, giving you more room to preview your site in the new theme. To bring the pane back, click on the collapse icon again.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'customize-preview-themes', 'title' => __( 'Previewing and Customizing' ), 'content' => $help_customize, ) ); } // End if 'edit_theme_options' && 'customize'. $help_sidebar_autoupdates = ''; // Help tab: Auto-updates. if ( current_user_can( 'update_themes' ) && wp_is_auto_update_enabled_for_type( 'theme' ) ) { $help_tab_autoupdates = '' . __( 'Auto-updates can be enabled or disabled for each individual theme. Themes with auto-updates enabled will display the estimated date of the next auto-update. Auto-updates depends on the WP-Cron task scheduling system.' ) . '
' . '' . __( 'Please note: Third-party themes and plugins, or custom code, may override WordPress scheduling.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'plugins-themes-auto-updates', 'title' => __( 'Auto-updates' ), 'content' => $help_tab_autoupdates, ) ); $help_sidebar_autoupdates = '' . __( 'Documentation on Auto-updates' ) . '
'; } // End if 'update_themes' && 'wp_is_auto_update_enabled_for_type'. get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on Using Themes' ) . '
' . '' . __( 'Documentation on Managing Themes' ) . '
' . $help_sidebar_autoupdates . '' . __( 'Support forums' ) . '
' ); if ( current_user_can( 'switch_themes' ) ) { $themes = wp_prepare_themes_for_js(); } else { $themes = wp_prepare_themes_for_js( array( wp_get_theme() ) ); } $theme = ! empty( $_REQUEST['theme'] ) ? sanitize_text_field( $_REQUEST['theme'] ) : ''; $search = ! empty( $_REQUEST['search'] ) ? sanitize_text_field( $_REQUEST['search'] ) : ''; wp_localize_script( 'theme', '_wpThemeSettings', array( 'themes' => $themes, 'settings' => array( 'canInstall' => ( ! is_multisite() && current_user_can( 'install_themes' ) ), 'installURI' => ( ! is_multisite() && current_user_can( 'install_themes' ) ) ? admin_url( 'theme-install.php' ) : null, 'confirmDelete' => __( "Are you sure you want to delete this theme?\n\nClick 'Cancel' to go back, 'OK' to confirm the delete." ), 'adminUrl' => parse_url( admin_url(), PHP_URL_PATH ), ), 'l10n' => array( 'addNew' => __( 'Add Theme' ), 'search' => __( 'Search installed themes' ), /* translators: %d: Number of themes. */ 'themesFound' => __( 'Number of Themes found: %d' ), 'noThemesFound' => __( 'No themes found. Try a different search.' ), ), ) ); add_thickbox(); wp_enqueue_script( 'theme' ); wp_enqueue_script( 'updates' ); require_once ABSPATH . 'wp-admin/admin-header.php'; ?>', '', false ); } elseif ( current_user_can( 'update_core' ) ) { $theme_update_error .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { $theme_update_error .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '
', '', false ); } } elseif ( ! $theme['updateResponse']['compatibleWP'] ) { $theme_update_error .= sprintf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of WordPress.' ), $theme['name'] ); if ( current_user_can( 'update_core' ) ) { $theme_update_error .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $theme['updateResponse']['compatiblePHP'] ) { $theme_update_error .= sprintf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of PHP.' ), $theme['name'] ); if ( current_user_can( 'update_php' ) ) { $theme_update_error .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '
', '', false ); } } wp_admin_notice( $theme_update_error, array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'update-message' ), ) ); endif; endif; if ( ! $theme['compatibleWP'] || ! $theme['compatiblePHP'] ) { $message = ''; if ( ! $theme['compatibleWP'] && ! $theme['compatiblePHP'] ) { $message = __( 'This theme does not work with your versions of WordPress and PHP.' ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { $message .= sprintf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( 'Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); $message .= wp_update_php_annotation( '
', '', false ); } elseif ( current_user_can( 'update_core' ) ) { $message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { $message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); $message .= wp_update_php_annotation( '
', '', false ); } } elseif ( ! $theme['compatibleWP'] ) { $message .= __( 'This theme does not work with your version of WordPress.' ); if ( current_user_can( 'update_core' ) ) { $message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $theme['compatiblePHP'] ) { $message .= __( 'This theme does not work with your version of PHP.' ); if ( current_user_can( 'update_php' ) ) { $message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); $message .= wp_update_php_annotation( '
', '', false ); } } wp_admin_notice( $message, array( 'type' => 'error', 'additional_classes' => array( 'inline', 'notice-alt' ), ) ); } /* translators: %s: Theme name. */ $details_aria_label = sprintf( _x( 'View Theme Details for %s', 'theme' ), $theme['name'] ); ?>
' . __( 'The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop. You can also minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'customize-display', 'title' => __( 'Customizing This Display' ), 'content' => $customize_display, ) ); $title_and_editor = '' . __( 'Title — Enter a title for your post. After you enter a title, you’ll see the permalink below, which you can edit.' ) . '
'; $title_and_editor .= '' . __( 'Post editor — Enter the text for your post. There are two modes of editing: Visual and Code. Choose the mode by clicking on the appropriate tab.' ) . '
'; $title_and_editor .= '' . __( 'Visual mode gives you an editor that is similar to a word processor. Click the Toolbar Toggle button to get a second row of controls.' ) . '
'; $title_and_editor .= '' . __( 'The Code mode allows you to enter HTML along with your post text. Note that <p> and <br> tags are converted to line breaks when switching to the Code editor to make it less cluttered. When you type, a single line break can be used instead of typing <br>, and two line breaks instead of paragraph tags. The line breaks are converted back to tags automatically.' ) . '
'; $title_and_editor .= '' . __( 'You can insert media files by clicking the button above the post editor and following the directions. You can align or edit images using the inline formatting toolbar available in Visual mode.' ) . '
'; $title_and_editor .= '' . __( 'You can enable distraction-free writing mode using the icon to the right. This feature is not available for old browsers or devices with small screens, and requires that the full-height editor be enabled in Screen Options.' ) . '
'; $title_and_editor .= '' . sprintf( /* translators: %s: Alt + F10 */ __( 'Keyboard users: When you are working in the visual editor, you can use %s to access the toolbar.' ), 'Alt + F10' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'title-post-editor', 'title' => __( 'Title and Post Editor' ), 'content' => $title_and_editor, ) ); get_current_screen()->set_help_sidebar( '' . sprintf( /* translators: %s: URL to Press This bookmarklet. */ __( 'You can also create posts with the Press This bookmarklet.' ), 'tools.php' ) . '
' . '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on Writing and Editing Posts' ) . '
' . '' . __( 'Support forums' ) . '
' ); } elseif ( 'page' === $post_type ) { $about_pages = '' . __( 'Pages are similar to posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest pages under other pages by making one the “Parent” of the other, creating a group of pages.' ) . '
' . '' . __( 'Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. This screen also has the distraction-free writing space, available in both the Visual and Code modes via the Fullscreen buttons. The Page editor mostly works the same as the Post editor, but there are some Page-specific features in the Page Attributes box.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'about-pages', 'title' => __( 'About Pages' ), 'content' => $about_pages, ) ); get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on Adding New Pages' ) . '
' . '' . __( 'Documentation on Editing Pages' ) . '
' . '' . __( 'Support forums' ) . '
' ); } elseif ( 'attachment' === $post_type ) { get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '' . __( 'This screen allows you to edit fields for metadata in a file within the media library.' ) . '
' . '' . __( 'For images only, you can click on Edit Image under the thumbnail to expand out an inline image editor with icons for cropping, rotating, or flipping the image as well as for undoing and redoing. The boxes on the right give you more options for scaling the image, for cropping it, and for cropping the thumbnail in a different way than you crop the original image. You can click on Help in those boxes to get more information.' ) . '
' . '' . __( 'Note that you crop the image by clicking on it (the Crop icon is already selected) and dragging the cropping frame to select the desired part. Then click Save to retain the cropping.' ) . '
' . '' . __( 'Remember to click Update to save metadata entered or changed.' ) . '
', ) ); get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on Edit Media' ) . '
' . '' . __( 'Support forums' ) . '
' ); } if ( 'post' === $post_type || 'page' === $post_type ) { $inserting_media = '' . __( 'You can upload and insert media (images, audio, documents, etc.) by clicking the Add Media button. You can select from the images and files already uploaded to the Media Library, or upload new media to add to your page or post. To create an image gallery, select the images to add and click the “Create a new gallery” button.' ) . '
'; $inserting_media .= '' . __( 'You can also embed media from many popular websites including Twitter, YouTube, Flickr and others by pasting the media URL on its own line into the content of your post/page. Learn more about embeds.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'inserting-media', 'title' => __( 'Inserting Media' ), 'content' => $inserting_media, ) ); } if ( 'post' === $post_type ) { $publish_box = '' . __( 'Several boxes on this screen contain settings for how your content will be published, including:' ) . '
'; $publish_box .= '' . __( 'Send Trackbacks — Trackbacks are a way to notify legacy blog systems that you’ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they’ll be notified automatically using pingbacks, and this field is unnecessary.' ) . '
'; $discussion_settings .= '' . __( 'Discussion — You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'discussion-settings', 'title' => __( 'Discussion Settings' ), 'content' => $discussion_settings, ) ); } elseif ( 'page' === $post_type ) { $page_attributes = '' . __( 'Parent — You can arrange your pages in hierarchies. For example, you could have an “About” page that has “Life Story” and “My Dog” pages under it. There are no limits to how many levels you can nest pages.' ) . '
' . '' . __( 'Template — Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you’ll see them in this dropdown menu.' ) . '
' . '' . __( 'Order — Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'page-attributes', 'title' => __( 'Page Attributes' ), 'content' => $page_attributes, ) ); } require_once ABSPATH . 'wp-admin/admin-header.php'; ?>' . __( 'Sorry, you are not allowed to edit theme options on this site.' ) . '
', 403 ); } if ( ! current_theme_supports( 'widgets' ) ) { wp_die( __( 'The theme you are currently using is not widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please follow these instructions.' ) ); } // Used in the HTML title tag. $title = __( 'Widgets' ); $parent_file = 'themes.php'; if ( wp_use_widgets_block_editor() ) { require ABSPATH . 'wp-admin/widgets-form-blocks.php'; } else { require ABSPATH . 'wp-admin/widgets-form.php'; }current_action(); if ( $doaction && isset( $_REQUEST['linkcheck'] ) ) { check_admin_referer( 'bulk-bookmarks' ); $redirect_to = admin_url( 'link-manager.php' ); $bulklinks = (array) $_REQUEST['linkcheck']; if ( 'delete' === $doaction ) { foreach ( $bulklinks as $link_id ) { $link_id = (int) $link_id; wp_delete_link( $link_id ); } $redirect_to = add_query_arg( 'deleted', count( $bulklinks ), $redirect_to ); } else { $screen = get_current_screen()->id; /** This action is documented in wp-admin/edit.php */ $redirect_to = apply_filters( "handle_bulk_actions-{$screen}", $redirect_to, $doaction, $bulklinks ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores } wp_redirect( $redirect_to ); exit; } elseif ( ! empty( $_GET['_wp_http_referer'] ) ) { wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); exit; } $wp_list_table->prepare_items(); // Used in the HTML title tag. $title = __( 'Links' ); $this_file = 'link-manager.php'; $parent_file = $this_file; get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '' . sprintf( /* translators: %s: URL to Widgets screen. */ __( 'You can add links here to be displayed on your site, usually using Widgets. By default, links to several sites in the WordPress community are included as examples.' ), 'widgets.php' ) . '
' . '' . __( 'Links may be separated into Link Categories; these are different than the categories used on your posts.' ) . '
' . '' . __( 'You can customize the display of this screen using the Screen Options tab and/or the dropdown filters above the links table.' ) . '
', ) ); get_current_screen()->add_help_tab( array( 'id' => 'deleting-links', 'title' => __( 'Deleting Links' ), 'content' => '' . __( 'If you delete a link, it will be removed permanently, as Links do not have a Trash function yet.' ) . '
', ) ); get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on Managing Links' ) . '
' . '' . __( 'Support forums' ) . '
' ); get_current_screen()->set_screen_reader_content( array( 'heading_list' => __( 'Links list' ), ) ); require_once ABSPATH . 'wp-admin/admin-header.php'; if ( ! current_user_can( 'manage_links' ) ) { wp_die( __( 'Sorry, you are not allowed to edit the links for this site.' ) ); } ?>' . __( 'Sorry, you are not allowed to manage options for this site.' ) . '
', 403 ); } // Handle admin email change requests. if ( ! empty( $_GET['adminhash'] ) ) { $new_admin_details = get_option( 'adminhash' ); $redirect = 'options-general.php?updated=false'; if ( is_array( $new_admin_details ) && hash_equals( $new_admin_details['hash'], $_GET['adminhash'] ) && ! empty( $new_admin_details['newemail'] ) ) { update_option( 'admin_email', $new_admin_details['newemail'] ); delete_option( 'adminhash' ); delete_option( 'new_admin_email' ); $redirect = 'options-general.php?updated=true'; } wp_redirect( admin_url( $redirect ) ); exit; } elseif ( ! empty( $_GET['dismiss'] ) && 'new_admin_email' === $_GET['dismiss'] ) { check_admin_referer( 'dismiss-' . get_current_blog_id() . '-new_admin_email' ); delete_option( 'adminhash' ); delete_option( 'new_admin_email' ); wp_redirect( admin_url( 'options-general.php?updated=true' ) ); exit; } if ( is_multisite() && ! current_user_can( 'manage_network_options' ) && 'update' !== $action ) { wp_die( '' . __( 'Sorry, you are not allowed to delete these items.' ) . '
', 403 ); } $allowed_options = array( 'general' => array( 'blogname', 'blogdescription', 'site_icon', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG', 'new_admin_email', ), 'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_previously_approved', 'comment_max_links', 'moderation_keys', 'disallowed_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration', 'show_comments_cookies_opt_in', ), 'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type', ), 'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public', ), 'writing' => array( 'default_category', 'default_email_category', 'default_link_category', 'default_post_format', ), ); $allowed_options['misc'] = array(); $allowed_options['options'] = array(); $allowed_options['privacy'] = array(); /** * Filters whether the post-by-email functionality is enabled. * * @since 3.0.0 * * @param bool $enabled Whether post-by-email configuration is enabled. Default true. */ if ( apply_filters( 'enable_post_by_email_configuration', true ) ) { $allowed_options['writing'][] = 'mailserver_url'; $allowed_options['writing'][] = 'mailserver_port'; $allowed_options['writing'][] = 'mailserver_login'; $allowed_options['writing'][] = 'mailserver_pass'; } if ( ! is_utf8_charset() ) { $allowed_options['reading'][] = 'blog_charset'; } if ( get_site_option( 'initial_db_version' ) < 32453 ) { $allowed_options['writing'][] = 'use_smilies'; $allowed_options['writing'][] = 'use_balanceTags'; } if ( ! is_multisite() ) { if ( ! defined( 'WP_SITEURL' ) ) { $allowed_options['general'][] = 'siteurl'; } if ( ! defined( 'WP_HOME' ) ) { $allowed_options['general'][] = 'home'; } $allowed_options['general'][] = 'users_can_register'; $allowed_options['general'][] = 'default_role'; if ( '1' === get_option( 'blog_public' ) ) { $allowed_options['writing'][] = 'ping_sites'; } $allowed_options['media'][] = 'uploads_use_yearmonth_folders'; /* * If upload_url_path is not the default (empty), * or upload_path is not the default ('wp-content/uploads' or empty), * they can be edited, otherwise they're locked. */ if ( get_option( 'upload_url_path' ) || get_option( 'upload_path' ) && 'wp-content/uploads' !== get_option( 'upload_path' ) ) { $allowed_options['media'][] = 'upload_path'; $allowed_options['media'][] = 'upload_url_path'; } } /** * Filters the allowed options list. * * @since 2.7.0 * @deprecated 5.5.0 Use {@see 'allowed_options'} instead. * * @param array $allowed_options The allowed options list. */ $allowed_options = apply_filters_deprecated( 'whitelist_options', array( $allowed_options ), '5.5.0', 'allowed_options', __( 'Please consider writing more inclusive code.' ) ); /** * Filters the allowed options list. * * @since 5.5.0 * * @param array $allowed_options The allowed options list. */ $allowed_options = apply_filters( 'allowed_options', $allowed_options ); if ( 'update' === $action ) { // We are saving settings sent from a settings page. if ( 'options' === $option_page && ! isset( $_POST['option_page'] ) ) { // This is for back compat and will eventually be removed. $unregistered = true; check_admin_referer( 'update-options' ); } else { $unregistered = false; check_admin_referer( $option_page . '-options' ); } if ( ! isset( $allowed_options[ $option_page ] ) ) { wp_die( sprintf( /* translators: %s: The options page name. */ __( 'Error: The %s options page is not in the allowed options list.' ), '' . esc_html( $option_page ) . ''
)
);
}
if ( 'options' === $option_page ) {
if ( is_multisite() && ! current_user_can( 'manage_network_options' ) ) {
wp_die( __( 'Sorry, you are not allowed to modify unregistered settings for this site.' ) );
}
$options = isset( $_POST['page_options'] ) ? explode( ',', wp_unslash( $_POST['page_options'] ) ) : null;
} else {
$options = $allowed_options[ $option_page ];
}
if ( 'general' === $option_page ) {
// Handle custom date/time formats.
if ( ! empty( $_POST['date_format'] ) && isset( $_POST['date_format_custom'] )
&& '\c\u\s\t\o\m' === wp_unslash( $_POST['date_format'] )
) {
$_POST['date_format'] = $_POST['date_format_custom'];
}
if ( ! empty( $_POST['time_format'] ) && isset( $_POST['time_format_custom'] )
&& '\c\u\s\t\o\m' === wp_unslash( $_POST['time_format'] )
) {
$_POST['time_format'] = $_POST['time_format_custom'];
}
// Map UTC+- timezones to gmt_offsets and set timezone_string to empty.
if ( ! empty( $_POST['timezone_string'] ) && preg_match( '/^UTC[+-]/', $_POST['timezone_string'] ) ) {
$_POST['gmt_offset'] = $_POST['timezone_string'];
$_POST['gmt_offset'] = preg_replace( '/UTC\+?/', '', $_POST['gmt_offset'] );
$_POST['timezone_string'] = '';
} elseif ( isset( $_POST['timezone_string'] ) && ! in_array( $_POST['timezone_string'], timezone_identifiers_list( DateTimeZone::ALL_WITH_BC ), true ) ) {
// Reset to the current value.
$current_timezone_string = get_option( 'timezone_string' );
if ( ! empty( $current_timezone_string ) ) {
$_POST['timezone_string'] = $current_timezone_string;
} else {
$_POST['gmt_offset'] = get_option( 'gmt_offset' );
$_POST['timezone_string'] = '';
}
add_settings_error(
'general',
'settings_updated',
__( 'The timezone you have entered is not valid. Please select a valid timezone.' ),
'error'
);
}
// Handle translation installation.
if ( ! empty( $_POST['WPLANG'] ) && current_user_can( 'install_languages' ) ) {
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
if ( wp_can_install_language_pack() ) {
$language = wp_download_language_pack( $_POST['WPLANG'] );
if ( $language ) {
$_POST['WPLANG'] = $language;
}
}
}
}
if ( $options ) {
$user_language_old = get_user_locale();
foreach ( $options as $option ) {
if ( $unregistered ) {
_deprecated_argument(
'options.php',
'2.7.0',
sprintf(
/* translators: 1: The option/setting, 2: Documentation URL. */
__( 'The %1$s setting is unregistered. Unregistered settings are deprecated. See documentation on the Settings API.' ),
'' . esc_html( $option ) . '',
__( 'https://developer.wordpress.org/plugins/settings/settings-api/' )
)
);
}
$option = trim( $option );
$value = null;
if ( isset( $_POST[ $option ] ) ) {
$value = $_POST[ $option ];
if ( ! is_array( $value ) ) {
$value = trim( $value );
}
$value = wp_unslash( $value );
}
update_option( $option, $value );
}
/*
* Switch translation in case WPLANG was changed.
* The global $locale is used in get_locale() which is
* used as a fallback in get_user_locale().
*/
unset( $GLOBALS['locale'] );
$user_language_new = get_user_locale();
if ( $user_language_old !== $user_language_new ) {
load_default_textdomain( $user_language_new );
}
} else {
add_settings_error( 'general', 'settings_updated', __( 'Settings save failed.' ), 'error' );
}
/*
* Handle settings errors and return to options page.
*/
// If no settings errors were registered add a general 'updated' message.
if ( ! count( get_settings_errors() ) ) {
add_settings_error( 'general', 'settings_updated', __( 'Settings saved.' ), 'success' );
}
set_transient( 'settings_errors', get_settings_errors(), 30 ); // 30 seconds.
// Redirect back to the settings page that was submitted.
$goback = add_query_arg( 'settings-updated', 'true', wp_get_referer() );
wp_redirect( $goback );
exit;
}
require_once ABSPATH . 'wp-admin/admin-header.php';
?>
' . __( 'Most themes show the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. Many themes also show the tagline.' ) . '
'; if ( ! is_multisite() ) { $options_help .= '' . __( 'Two terms you will want to know are the WordPress URL and the site URL. The WordPress URL is where the core WordPress installation files are, and the site URL is the address a visitor uses in the browser to go to your site.' ) . '
' . '' . sprintf(
/* translators: %s: Documentation URL. */
__( 'Though the terms refer to two different concepts, in practice, they can be the same address or different. For example, you can have the core WordPress installation files in the root directory (https://example.com), in which case the two URLs would be the same. Or the WordPress files can be in a subdirectory (https://example.com/wordpress). In that case, the WordPress URL and the site URL would be different.' ),
__( 'https://developer.wordpress.org/advanced-administration/server/wordpress-in-directory/' )
) . '
' . sprintf(
/* translators: 1: http://, 2: https:// */
__( 'Both WordPress URL and site URL can start with either %1$s or %2$s. A URL starting with %2$s requires an SSL certificate, so be sure that you have one before changing to %2$s. With %2$s, a padlock will appear next to the address in the browser address bar. Both %2$s and the padlock signal that your site meets some basic security requirements, which can build trust with your visitors and with search engines.' ),
'http://',
'https://'
) . '
' . __( 'If you want site visitors to be able to register themselves, check the membership box. If you want the site administrator to register every new user, leave the box unchecked. In either case, you can set a default user role for all new users.' ) . '
'; } $options_help .= '' . __( 'You can set the language, and WordPress will automatically download and install the translation files (available if your filesystem is writable).' ) . '
' . '' . __( 'UTC means Coordinated Universal Time.' ) . '
' . '' . __( 'You must click the Save Changes button at the bottom of the screen for new settings to take effect.' ) . '
'; get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => $options_help, ) ); get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . '' . __( 'Documentation on General Settings' ) . '
' . '' . __( 'Support forums' ) . '
' ); require_once ABSPATH . 'wp-admin/admin-header.php'; ?>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.
>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '
' . '' . '' ); } /** * @global string $wp_version The WordPress version string. * @global string $required_php_version The required PHP version string. * @global string[] $required_php_extensions The names of required PHP extensions. * @global string $required_mysql_version The required MySQL version string. * @global wpdb $wpdb WordPress database abstraction object. */ global $wp_version, $required_php_version, $required_php_extensions, $required_mysql_version, $wpdb; $php_version = PHP_VERSION; $mysql_version = $wpdb->db_version(); $php_compat = version_compare( $php_version, $required_php_version, '>=' ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); $version_url = sprintf( /* translators: %s: WordPress version. */ esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ), sanitize_title( $wp_version ) ); $php_update_message = '' . sprintf( /* translators: %s: URL to Update PHP page. */ __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); $annotation = wp_get_update_php_annotation(); if ( $annotation ) { $php_update_message .= '
' . $annotation . ''; } if ( ! $mysql_compat && ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Minimum required MySQL version number, 5: Current PHP version number, 6: Current MySQL version number. */ __( 'You cannot install because WordPress %2$s requires PHP version %3$s or higher and MySQL version %4$s or higher. You are running PHP version %5$s and MySQL version %6$s.' ), $version_url, $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) . $php_update_message; } elseif ( ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Current PHP version number. */ __( 'You cannot install because WordPress %2$s requires PHP version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_php_version, $php_version ) . $php_update_message; } elseif ( ! $mysql_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required MySQL version number, 4: Current MySQL version number. */ __( 'You cannot install because WordPress %2$s requires MySQL version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_mysql_version, $mysql_version ); } if ( ! $mysql_compat || ! $php_compat ) { display_header(); die( '
' . $compat . '