WordPress.org

Make WordPress Core


Ignore:
Timestamp:
06/17/2020 11:58:15 PM (8 months ago)
Author:
azaozz
Message:

Plugins and Themes Auto-Updates: allow overriding of the HTML for the auto-update setting link. This will let plugins show better/specific information when they are overriding the auto-update settings, for example "Updates are managed by ... plugin".

Introduces: theme_auto_update_setting_html, plugin_auto_update_setting_html, and theme_auto_update_setting_template filters.

Props audrasjb, pbiron, azaozz.
Fixes #50280.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-plugins-list-table.php

    r47910 r48077  
    10421042                    echo "<td class='column-auto-updates{$extra_classes}'>";
    10431043
     1044                    $html = array();
     1045
    10441046                    if ( in_array( $plugin_file, $auto_updates, true ) ) {
    10451047                        $text       = __( 'Disable auto-updates' );
     
    10611063                    $url = add_query_arg( $query_args, 'plugins.php' );
    10621064
    1063                     printf(
     1065                    $html[] = sprintf(
    10641066                        '<a href="%s" class="toggle-auto-update" data-wp-action="%s">',
    10651067                        wp_nonce_url( $url, 'updates' ),
     
    10671069                    );
    10681070
    1069                     echo '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>';
    1070                     echo '<span class="label">' . $text . '</span>';
    1071                     echo '</a>';
     1071                    $html[] = '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>';
     1072                    $html[] = '<span class="label">' . $text . '</span>';
     1073                    $html[] = '</a>';
    10721074
    10731075                    $available_updates = get_site_transient( 'update_plugins' );
    10741076
    10751077                    if ( isset( $available_updates->response[ $plugin_file ] ) ) {
    1076                         printf(
     1078                        $html[] = sprintf(
    10771079                            '<div class="auto-update-time%s">%s</div>',
    10781080                            $time_class,
     
    10801082                        );
    10811083                    }
     1084
     1085                    $html = implode( '', $html );
     1086
     1087                    /**
     1088                     * Filters the HTML of the auto-updates setting for each plugin in the Plugins list table.
     1089                     *
     1090                     * @since 5.5.0
     1091                     *
     1092                     * @param string $html        The HTML of the plugin's auto-update column content,
     1093                     *                            including toggle auto-update action links and time to next update.
     1094                     * @param string $plugin_file Path to the plugin file relative to the plugins directory.
     1095                     * @param array  $plugin_data An array of plugin data.
     1096                     */
     1097                    echo apply_filters( 'plugin_auto_update_setting_html', $html, $plugin_file, $plugin_data );
     1098
    10821099
    10831100                    echo '<div class="inline notice error hidden"><p></p></div>';
Note: See TracChangeset for help on using the changeset viewer.