WordPress.org

Make WordPress Core

Ticket #50280: 50280.3.diff

File 50280.3.diff, 7.0 KB (added by azaozz, 6 months ago)
  • src/wp-admin/includes/class-wp-ms-themes-list-table.php

     
    742742
    743743                $url = add_query_arg( $query_args, 'themes.php' );
    744744
    745                 printf(
     745                $html[] = sprintf(
    746746                        '<a href="%s" class="toggle-auto-update" data-wp-action="%s">',
    747747                        wp_nonce_url( $url, 'updates' ),
    748748                        $action
    749749                );
    750750
    751                 echo '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>';
    752                 echo '<span class="label">' . $text . '</span>';
    753                 echo '</a>';
     751                $html[] = '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>';
     752                $html[] = '<span class="label">' . $text . '</span>';
     753                $html[] = '</a>';
    754754
    755755                $available_updates = get_site_transient( 'update_themes' );
    756756                if ( isset( $available_updates->response[ $stylesheet ] ) ) {
    757                         printf(
     757                        $html[] = sprintf(
    758758                                '<div class="auto-update-time%s">%s</div>',
    759759                                $time_class,
    760760                                wp_get_auto_update_message()
    761761                        );
    762762                }
     763
     764                $html = implode( '', $html );
     765
     766                /**
     767                 * Filters the HTML of the auto-updates setting for each theme in the Themes list table.
     768                 *
     769                 * @since 5.5.0
     770                 *
     771                 * @param string   $html       The HTML for theme’s auto-update setting including toggle auto-update action link
     772                 *                             and time to next update.
     773                 * @param string   $stylesheet Directory name of the theme.
     774                 * @param WP_Theme $theme      WP_Theme object.
     775                 */
     776                echo apply_filters( 'theme_auto_update_setting_html', $html, $stylesheet, $theme );
     777
    763778                echo '<div class="auto-updates-error inline notice error hidden"><p></p></div>';
    764779        }
    765780
  • src/wp-admin/includes/class-wp-plugins-list-table.php

     
    10411041
    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' );
    10461048                                                $action     = 'disable';
     
    10601062
    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' ),
    10661068                                                $action
    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,
    10791081                                                        wp_get_auto_update_message()
     
    10801082                                                );
    10811083                                        }
    10821084
     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
     1099
    10831100                                        echo '<div class="inline notice error hidden"><p></p></div>';
    10841101                                        echo '</td>';
    10851102
  • src/wp-admin/themes.php

     
    530530</div><!-- .wrap -->
    531531
    532532<?php
     533
     534/**
     535 * Returns the template for displaying the auto-update setting for a theme.
     536 *
     537 * @since 5.5.0
     538 *
     539 * @return string Template
     540 */
     541function wp_theme_auto_update_setting_template() {
     542        $template = '
     543                <p class="theme-autoupdate">
     544                        <# if ( data.autoupdate ) { #>
     545                                <a href="{{{ data.actions.autoupdate }}}" class="toggle-auto-update" data-slug="{{ data.id }}" data-wp-action="disable">
     546                                        <span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>
     547                                        <span class="label">' . __( 'Disable auto-updates' ) . '</span>
     548                                </a>
     549                        <# } else { #>
     550                                <a href="{{{ data.actions.autoupdate }}}" class="toggle-auto-update" data-slug="{{ data.id }}" data-wp-action="enable">
     551                                        <span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>
     552                                        <span class="label">' . __( 'Enable auto-updates' ) . '</span>
     553                                </a>
     554                        <# } #>
     555                        <# if ( data.hasUpdate ) { #>
     556                                <# if ( data.autoupdate ) { #>
     557                                        <span class="auto-update-time">
     558                                <# } else { #>
     559                                        <span class="auto-update-time hidden">
     560                                <# } #>
     561                                <br />' . wp_get_auto_update_message() . '</span>
     562                        <# } #>
     563                        <span class="auto-updates-error hidden"><p></p></span>
     564                </p>
     565        ';
     566
     567        /**
     568         * Filters the template for displaying the auto-update setting for a theme (in the overlay).
     569         *
     570         * @since 5.5.0
     571         *
     572         * @param string $template The template for displaying the auto-update setting link.
     573         */
     574        return apply_filters( 'theme_auto_update_setting_template', $template );
     575}
     576
    533577/*
    534578 * The tmpl-theme template is synchronized with PHP above!
    535579 */
     
    629673                                </p>
    630674
    631675                                <# if ( data.actions.autoupdate ) { #>
    632                                 <p class="theme-autoupdate">
    633                                 <# if ( data.autoupdate ) { #>
    634                                         <a href="{{{ data.actions.autoupdate }}}" class="toggle-auto-update" data-slug="{{ data.id }}" data-wp-action="disable">
    635                                                 <span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>
    636                                                 <span class="label"><?php _e( 'Disable auto-updates' ); ?></span>
    637                                         </a>
    638                                 <# } else { #>
    639                                         <a href="{{{ data.actions.autoupdate }}}" class="toggle-auto-update" data-slug="{{ data.id }}" data-wp-action="enable">
    640                                                 <span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>
    641                                                 <span class="label"><?php _e( 'Enable auto-updates' ); ?></span>
    642                                         </a>
     676                                        <?php echo wp_theme_auto_update_setting_template(); ?>
    643677                                <# } #>
    644                                 <# if ( data.hasUpdate ) { #>
    645                                         <# if ( data.autoupdate) { #>
    646                                         <span class="auto-update-time"><br /><?php echo wp_get_auto_update_message(); ?></span>
    647                                         <# } else { #>
    648                                         <span class="auto-update-time hidden"><br /><?php echo wp_get_auto_update_message(); ?></span>
    649                                         <# } #>
    650                                 <# } #>
    651                                         <span class="auto-updates-error hidden"><p></p></span>
    652                                 </p>
    653                                 <# } #>
    654678
    655679                                <# if ( data.hasUpdate ) { #>
    656680                                <div class="notice notice-warning notice-alt notice-large">