WP_Terms_List_Table::handle_row_actions() – Generates and displays row action links.

You appear to be a bot. Output may be restricted

Description

Generates and displays row action links.

Usage

$string = WP_Terms_List_Table::handle_row_actions( $item, $column_name, $primary );

Parameters

$item
( WP_Term ) required – Tag being acted upon.
$column_name
( string ) required – Current column name.
$primary
( string ) required – Primary column name.

Returns

string Row actions output for terms, or an empty string if the current column is not the primary column.

Source

File name: wordpress/wp-admin/includes/class-wp-terms-list-table.php
Lines:

1 to 87 of 87
  protected function handle_row_actions( $item, $column_name, $primary ) {
    if ( $primary !== $column_name ) {
      return '';
    }

    // Restores the more descriptive, specific name for use within this method.
    $tag      = $item;
    $taxonomy = $this->screen->taxonomy;
    $uri      = wp_doing_ajax() ? wp_get_referer() : $_SERVER['REQUEST_URI'];

    $edit_link = add_query_arg(
      'wp_http_referer',
      urlencode( wp_unslash( $uri ) ),
      get_edit_term_link( $tag, $taxonomy, $this->screen->post_type )
    );

    $actions = array();

    if ( current_user_can( 'edit_term', $tag->term_id ) ) {
      $actions['edit'] = sprintf(
        '<a href="%s" aria-label="%s">%s</a>',
        esc_url( $edit_link ),
        /* translators: %s: Taxonomy term name. */
        esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $tag->name ) ),
        __( 'Edit' )
      );
      $actions['inline hide-if-no-js'] = sprintf(
        '<button type="button" class="button-link editinline" aria-label="%s" aria-expanded="false">%s</button>',
        /* translators: %s: Taxonomy term name. */
        esc_attr( sprintf( __( 'Quick edit &#8220;%s&#8221; inline' ), $tag->name ) ),
        __( 'Quick&nbsp;Edit' )
      );
    }

    if ( current_user_can( 'delete_term', $tag->term_id ) ) {
      $actions['delete'] = sprintf(
        '<a href="%s" class="delete-tag aria-button-if-js" aria-label="%s">%s</a>',
        wp_nonce_url( "edit-tags.php?action=delete&taxonomy=$taxonomy&tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ),
        /* translators: %s: Taxonomy term name. */
        esc_attr( sprintf( __( 'Delete &#8220;%s&#8221;' ), $tag->name ) ),
        __( 'Delete' )
      );
    }

    if ( is_term_publicly_viewable( $tag ) ) {
      $actions['view'] = sprintf(
        '<a href="%s" aria-label="%s">%s</a>',
        get_term_link( $tag ),
        /* translators: %s: Taxonomy term name. */
        esc_attr( sprintf( __( 'View &#8220;%s&#8221; archive' ), $tag->name ) ),
        __( 'View' )
      );
    }

    
/**
 * Filters the action links displayed for each term in the Tags list table.
 *
 * @since 2.8.0
 * @since 3.0.0 Deprecated in favor of {@see '{$taxonomy}_row_actions'} filter.
 * @since 5.4.2 Restored (un-deprecated).
 *
 * @param string[] $actions An array of action links to be displayed. Default
 *                          'Edit', 'Quick Edit', 'Delete', and 'View'.
 * @param WP_Term  $tag     Term object.
 */
    $actions = apply_filters( 'tag_row_actions', $actions, $tag );

    
/**
 * Filters the action links displayed for each term in the terms list table.
 *
 * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
 *
 * Possible hook names include:
 *
 *  - `category_row_actions`
 *  - `post_tag_row_actions`
 *
 * @since 3.0.0
 *
 * @param string[] $actions An array of action links to be displayed. Default
 *                          'Edit', 'Quick Edit', 'Delete', and 'View'.
 * @param WP_Term  $tag     Term object.
 */
    $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag );

    return $this->row_actions( $actions );
  }
 

 View on GitHub View on Trac