WP_Posts_List_Table::column_default() – Handles the default column output.

You appear to be a bot. Output may be restricted

Description

Handles the default column output.

Usage

WP_Posts_List_Table::column_default( $item, $column_name );

Parameters

$item
( WP_Post ) required – The current WP_Post object.
$column_name
( string ) required – The current column name.

Returns

void

Source

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


Lines:

1 to 100 of 110
  public function column_default( $item, $column_name ) {
    // Restores the more descriptive, specific name for use within this method.
    $post = $item;

    if ( 'categories' === $column_name ) {
      $taxonomy = 'category';
    } elseif ( 'tags' === $column_name ) {
      $taxonomy = 'post_tag';
    } elseif ( 0 === strpos( $column_name, 'taxonomy-' ) ) {
      $taxonomy = substr( $column_name, 9 );
    } else {
      $taxonomy = false;
    }

    if ( $taxonomy ) {
      $taxonomy_object = get_taxonomy( $taxonomy );
      $terms           = get_the_terms( $post->ID, $taxonomy );

      if ( is_array( $terms ) ) {
        $term_links = array();

        foreach ( $terms as $t ) {
          $posts_in_term_qv = array();

          if ( 'post' !== $post->post_type ) {
            $posts_in_term_qv['post_type'] = $post->post_type;
          }

          if ( $taxonomy_object->query_var ) {
            $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug;
          } else {
            $posts_in_term_qv['taxonomy'] = $taxonomy;
            $posts_in_term_qv['term']     = $t->slug;
          }

          $label = esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) );

          $term_links[] = $this->WP_Posts_List_Table::get_edit_link( $posts_in_term_qv, $label );
        }

        
/**
 * Filters the links in `$taxonomy` column of edit.php.
 *
 * @since 5.2.0
 *
 * @param string[]  $term_links Array of term editing links.
 * @param string    $taxonomy   Taxonomy name.
 * @param WP_Term[] $terms      Array of term objects appearing in the post row.
 */
        $term_links = apply_filters( 'post_column_taxonomy_links', $term_links, $taxonomy, $terms );

        echo implode( wp_get_list_item_separator(), $term_links );
      } else {
        echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">' . $taxonomy_object->labels->no_terms . '</span>';
      }
      return;
    }

    if ( is_post_type_hierarchical( $post->post_type ) ) {

      
/**
 * Fires in each custom column on the Posts list table.
 *
 * This hook only fires if the current post type is hierarchical,
 * such as pages.
 *
 * @since 2.5.0
 *
 * @param string $column_name The name of the column to display.
 * @param int    $post_id     The current post ID.
 */
      do_action( 'manage_pages_custom_column', $column_name, $post->ID );
    } else {

      
/**
 * Fires in each custom column in the Posts list table.
 *
 * This hook only fires if the current post type is non-hierarchical,
 * such as posts.
 *
 * @since 1.5.0
 *
 * @param string $column_name The name of the column to display.
 * @param int    $post_id     The current post ID.
 */
      do_action( 'manage_posts_custom_column', $column_name, $post->ID );
    }

    
/**
 * Fires for each custom column of a specific post type in the Posts list table.
 *
 * The dynamic portion of the hook name, `$post->post_type`, refers to the post type.
 *
 * Possible hook names include:
 *
 *  - `manage_post_posts_custom_column`
 *  - `manage_page_posts_custom_column`

 View on GitHub View on Trac