Make WordPress Core


Ignore:
Timestamp:
09/18/2023 01:17:39 PM (3 years ago)
Author:
SergeyBiryukov
Message:

Quick Edit: Allow Quick Edit to be disabled for custom post types or taxonomies.

Some custom post types or taxonomies may not need the Quick Edit functionality, in which case adding hidden fields and rendering the form with the data to edit would be redundant.

This commit introduces two filters for more granular control:

  • quick_edit_enabled_for_post_type
  • quick_edit_enabled_for_taxonomy

Follow-up to [8857], [9083], [9098].

Props garyc40, sabernhardt, mukesh27, costdev, oglekler, wyrfel, peterwilsoncc, faguni22, robinwpdeveloper, webcommsat, johnbillion, azaozz, hellofromTonya, GunGeekATX, Jick, mikeschinkel, jane, nacin, helen, wonderboymusic, DrewAPicture, SergeyBiryukov.
Fixes #16502, #19343, #57596.

File:
1 edited

Legend:

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

    r56586 r56611  
    426426                );
    427427
    428                 $output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
    429                 $output .= '<div class="name">' . $qe_data->name . '</div>';
    430 
    431                 /** This filter is documented in wp-admin/edit-tag-form.php */
    432                 $output .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug, $qe_data ) . '</div>';
    433                 $output .= '<div class="parent">' . $qe_data->parent . '</div></div>';
     428                /** This filter is documented in wp-admin/includes/class-wp-terms-list-table.php */
     429                $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_taxonomy', true, $taxonomy );
     430
     431                if ( $quick_edit_enabled ) {
     432                        $output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
     433                        $output .= '<div class="name">' . $qe_data->name . '</div>';
     434
     435                        /** This filter is documented in wp-admin/edit-tag-form.php */
     436                        $output .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug, $qe_data ) . '</div>';
     437                        $output .= '<div class="parent">' . $qe_data->parent . '</div></div>';
     438                }
    434439
    435440                return $output;
     
    486491                                __( 'Edit' )
    487492                        );
    488                         $actions['inline hide-if-no-js'] = sprintf(
    489                                 '<button type="button" class="button-link editinline" aria-label="%s" aria-expanded="false">%s</button>',
    490                                 /* translators: %s: Taxonomy term name. */
    491                                 esc_attr( sprintf( __( 'Quick edit &#8220;%s&#8221; inline' ), $tag->name ) ),
    492                                 __( 'Quick&nbsp;Edit' )
    493                         );
     493
     494                        /**
     495                         * Filters whether Quick Edit should be enabled for the given taxonomy.
     496                         *
     497                         * @since 6.4.0
     498                         *
     499                         * @param bool   $enable   Whether to enable the Quick Edit functionality. Default true.
     500                         * @param string $taxonomy Taxonomy name.
     501                         */
     502                        $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_taxonomy', true, $taxonomy );
     503
     504                        if ( $quick_edit_enabled ) {
     505                                $actions['inline hide-if-no-js'] = sprintf(
     506                                        '<button type="button" class="button-link editinline" aria-label="%s" aria-expanded="false">%s</button>',
     507                                        /* translators: %s: Taxonomy term name. */
     508                                        esc_attr( sprintf( __( 'Quick edit &#8220;%s&#8221; inline' ), $tag->name ) ),
     509                                        __( 'Quick&nbsp;Edit' )
     510                                );
     511                        }
    494512                }
    495513
Note: See TracChangeset for help on using the changeset viewer.