WP_Media_List_Table::column_parent()publicWP 4.3.0

Handles the parent column output.

Method of the class: WP_Media_List_Table{}

No Hooks.

Return

null. Nothing (null).

Usage

$WP_Media_List_Table = new WP_Media_List_Table();
$WP_Media_List_Table->column_parent( $post );
$post(WP_Post) (required)
The current WP_Post object.

Changelog

Since 4.3.0 Introduced.

WP_Media_List_Table::column_parent() code WP 6.6.2

<?php
public function column_parent( $post ) {
	$user_can_edit = current_user_can( 'edit_post', $post->ID );

	if ( $post->post_parent > 0 ) {
		$parent = get_post( $post->post_parent );
	} else {
		$parent = false;
	}

	if ( $parent ) {
		$title       = _draft_or_post_title( $post->post_parent );
		$parent_type = get_post_type_object( $parent->post_type );

		if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) {
			printf( '<strong><a href="%s">%s</a></strong>', get_edit_post_link( $post->post_parent ), $title );
		} elseif ( $parent_type && current_user_can( 'read_post', $post->post_parent ) ) {
			printf( '<strong>%s</strong>', $title );
		} else {
			_e( '(Private post)' );
		}

		if ( $user_can_edit ) :
			$detach_url = add_query_arg(
				array(
					'parent_post_id' => $post->post_parent,
					'media[]'        => $post->ID,
					'_wpnonce'       => wp_create_nonce( 'bulk-' . $this->_args['plural'] ),
				),
				'upload.php'
			);
			printf(
				'<br /><a href="%s" class="hide-if-no-js detach-from-parent" aria-label="%s">%s</a>',
				$detach_url,
				/* translators: %s: Title of the post the attachment is attached to. */
				esc_attr( sprintf( __( 'Detach from &#8220;%s&#8221;' ), $title ) ),
				__( 'Detach' )
			);
		endif;
	} else {
		_e( '(Unattached)' );
		?>
		<?php
		if ( $user_can_edit ) {
			$title = _draft_or_post_title( $post->post_parent );
			printf(
				'<br /><a href="#the-list" onclick="findPosts.open( \'media[]\', \'%s\' ); return false;" class="hide-if-no-js aria-button-if-js" aria-label="%s">%s</a>',
				$post->ID,
				/* translators: %s: Attachment title. */
				esc_attr( sprintf( __( 'Attach &#8220;%s&#8221; to existing content' ), $title ) ),
				__( 'Attach' )
			);
		}
	}
}