Make WordPress Core

Changeset 62710


Ignore:
Timestamp:
07/13/2026 01:45:16 PM (5 weeks ago)
Author:
afercia
Message:

Administration: Add IDs to the headings of the settings sections.

Add IDs to the headings of the settings sections generated by the Settings API. Additionally, adds IDs to the headings of the settings sections in the Core admin settings pages that are not generated by the Settings API.

This allows to reference specific sections by the means of links with a page fragment identifier, useful for documentation and support purposes.

Props wetah, rakeshfalke, reneyap, joedolson, afercia.
Fixes #65027.

Location:
trunk/src/wp-admin
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/template.php

    r62696 r62710  
    17811781
    17821782                if ( $section['title'] ) {
    1783                         echo "<h2>{$section['title']}</h2>\n";
     1783                        $unique_id = wp_unique_id( 'wp-settings-section-' . $section['id'] . '-' );
     1784                        echo '<h2 id="' . esc_attr( $unique_id ) . '">' . $section['title'] . "</h2>\n";
    17841785                }
    17851786
  • trunk/src/wp-admin/network/settings.php

    r60805 r62710  
    154154        <form method="post" action="settings.php" novalidate="novalidate">
    155155                <?php wp_nonce_field( 'siteoptions' ); ?>
    156                 <h2><?php _e( 'Operational Settings' ); ?></h2>
     156                <h2 id="wp-settings-section-operational-settings"><?php _e( 'Operational Settings' ); ?></h2>
    157157                <table class="form-table" role="presentation">
    158158                        <tr>
     
    198198                        </tr>
    199199                </table>
    200                 <h2><?php _e( 'Registration Settings' ); ?></h2>
     200                <h2 id="wp-settings-section-registration-settings"><?php _e( 'Registration Settings' ); ?></h2>
    201201                <table class="form-table" role="presentation">
    202202                        <?php $new_registrations_settings_title = __( 'Allow new registrations' ); ?>
     
    316316
    317317                </table>
    318                 <h2><?php _e( 'New Site Settings' ); ?></h2>
     318                <h2 id="wp-settings-section-new-site-settings"><?php _e( 'New Site Settings' ); ?></h2>
    319319                <table class="form-table" role="presentation">
    320320
     
    397397                        </tr>
    398398                </table>
    399                 <h2><?php _e( 'Upload Settings' ); ?></h2>
     399                <h2 id="wp-settings-section-upload-settings"><?php _e( 'Upload Settings' ); ?></h2>
    400400                <table class="form-table" role="presentation">
    401401                        <tr>
     
    455455                if ( ! empty( $languages ) || ! empty( $translations ) ) {
    456456                        ?>
    457                         <h2><?php _e( 'Language Settings' ); ?></h2>
     457                        <h2 id="wp-settings-section-language-settings"><?php _e( 'Language Settings' ); ?></h2>
    458458                        <table class="form-table" role="presentation">
    459459                                <tr>
     
    505505                if ( $menu_items ) :
    506506                        ?>
    507                         <h2><?php _e( 'Menu Settings' ); ?></h2>
     507                        <h2 id="wp-settings-section-menu-settings"><?php _e( 'Menu Settings' ); ?></h2>
    508508                        <table id="menu" class="form-table">
    509509                                <?php $enable_administration_menus_title = __( 'Enable administration menus' ); ?>
  • trunk/src/wp-admin/options-discussion.php

    r61199 r62710  
    212212</table>
    213213
    214 <h2 class="title"><?php _e( 'Avatars' ); ?></h2>
     214<h2 id="wp-settings-section-avatars" class="title"><?php _e( 'Avatars' ); ?></h2>
    215215
    216216<p><?php _e( 'An avatar is an image that can be associated with a user across multiple websites. In this area, you can choose to display avatars of users who interact with the site.' ); ?></p>
  • trunk/src/wp-admin/options-media.php

    r60805 r62710  
    5353<?php settings_fields( 'media' ); ?>
    5454
    55 <h2 class="title"><?php _e( 'Image sizes' ); ?></h2>
     55<h2 id="wp-settings-section-image-sizes" class="title"><?php _e( 'Image sizes' ); ?></h2>
    5656<p><?php _e( 'The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.' ); ?></p>
    5757
     
    105105if ( isset( $GLOBALS['wp_settings']['media']['embeds'] ) ) :
    106106        ?>
    107 <h2 class="title"><?php _e( 'Embeds' ); ?></h2>
     107<h2 id="wp-settings-section-embeds" class="title"><?php _e( 'Embeds' ); ?></h2>
    108108<table class="form-table" role="presentation">
    109109        <?php do_settings_fields( 'media', 'embeds' ); ?>
     
    112112
    113113<?php if ( ! is_multisite() ) : ?>
    114 <h2 class="title"><?php _e( 'Uploading Files' ); ?></h2>
     114<h2 id="wp-settings-section-uploading-files" class="title"><?php _e( 'Uploading Files' ); ?></h2>
    115115<table class="form-table" role="presentation">
    116116        <?php
  • trunk/src/wp-admin/options-permalink.php

    r61826 r62710  
    315315$tag_already_used = __( '%s (already used in permalink structure)' );
    316316?>
    317 <h2 class="title"><?php _e( 'Common Settings' ); ?></h2>
     317<h2 id="wp-settings-section-common-settings" class="title"><?php _e( 'Common Settings' ); ?></h2>
    318318<p>
    319319<?php
     
    406406</table>
    407407
    408 <h2 class="title"><?php _e( 'Optional' ); ?></h2>
     408<h2 id="wp-settings-section-optional" class="title"><?php _e( 'Optional' ); ?></h2>
    409409<p class="permalink-structure-optional-description">
    410410<?php
  • trunk/src/wp-admin/options-writing.php

    r62334 r62710  
    142142if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
    143143        ?>
    144 <h2 class="title"><?php _e( 'Post via email' ); ?></h2>
     144<h2 id="wp-settings-section-post-via-email" class="title"><?php _e( 'Post via email' ); ?></h2>
    145145<p>
    146146        <?php
     
    213213if ( apply_filters( 'enable_update_services_configuration', true ) ) {
    214214        ?>
    215 <h2 class="title"><?php _e( 'Update Services' ); ?></h2>
     215<h2 id="wp-settings-section-update-services" class="title"><?php _e( 'Update Services' ); ?></h2>
    216216
    217217        <?php if ( '1' === get_option( 'blog_public' ) ) : ?>
Note: See TracChangeset for help on using the changeset viewer.