Definition:
function _post_row($a_post, $pending_comments, $mode) {}
Parameters
- unknown_type $a_post
- unknown_type $pending_comments
- unknown_type $mode
Defined filters
- post_date_column_time
apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode)
- post_date_column_time
apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode)
- post_row_actions
apply_filters('post_row_actions', $actions, $post)
Source code
function _post_row($a_post, $pending_comments, $mode) { global $post, $current_screen; static $rowclass; $global_post = $post; $post = $a_post; setup_postdata($post); $rowclass = 'alternate' == $rowclass ? '' : 'alternate'; $post_owner = ( get_current_user_id() == $post->post_author ? 'self' : 'other' ); $edit_link = get_edit_post_link( $post->ID ); $title = _draft_or_post_title(); $post_type_object = get_post_type_object($post->post_type); ?> <tr id='post-<?php echo $post->ID; ?>' class='<?php echo trim( $rowclass . ' author-' . $post_owner . ' status-' . $post->post_status ); ?> iedit' valign="top"> <?php $posts_columns = get_column_headers( $current_screen ); $hidden = get_hidden_columns( $current_screen ); foreach ( $posts_columns as $column_name=>$column_display_name ) { $class = "class=\"$column_name column-$column_name\""; $style = ''; if ( in_array($column_name, $hidden) ) $style = ' style="display:none;"'; $attributes = "$class$style"; switch ($column_name) { case 'cb': ?> <th scope="row" class="check-column"><?php if ( current_user_can( $post_type_object->cap->edit_post, $post->ID ) ) { ?><input type="checkbox" name="post[]" value="<?php the_ID(); ?>" /><?php } ?></th> <?php break; case 'date': if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) { $t_time = $h_time = __('Unpublished'); $time_diff = 0; } else { $t_time = get_the_time(__('Y/m/d g:i:s A')); $m_time = $post->post_date; $time = get_post_time('G', true, $post); $time_diff = time() - $time; if ( $time_diff > 0 && $time_diff < 24*60*60 ) $h_time = sprintf( __('%s ago'), human_time_diff( $time ) ); else $h_time = mysql2date(__('Y/m/d'), $m_time); } echo '<td ' . $attributes . '>'; if ( 'excerpt' == $mode ) echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode); else echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . '</abbr>'; echo '<br />'; if ( 'publish' == $post->post_status ) { _e('Published'); } elseif ( 'future' == $post->post_status ) { if ( $time_diff > 0 ) echo '<strong class="attention">' . __('Missed schedule') . '</strong>'; else _e('Scheduled'); } else { _e('Last Modified'); } echo '</td>'; break; case 'title': $attributes = 'class="post-title column-title"' . $style; ?> <td <?php echo $attributes ?>><strong><?php if ( current_user_can($post_type_object->cap->edit_post, $post->ID) && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr(sprintf(__('Edit “%s”'), $title)); ?>"><?php echo $title ?></a><?php } else { echo $title; }; _post_states($post); ?></strong> <?php if ( 'excerpt' == $mode ) the_excerpt(); $actions = array(); if ( current_user_can($post_type_object->cap->edit_post, $post->ID) && 'trash' != $post->post_status ) { $actions['edit'] = '<a href="' . get_edit_post_link($post->ID, true) . '" title="' . esc_attr(__('Edit this item')) . '">' . __('Edit') . '</a>'; $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr(__('Edit this item inline')) . '">' . __('Quick Edit') . '</a>'; } if ( current_user_can($post_type_object->cap->delete_post, $post->ID) ) { if ( 'trash' == $post->post_status ) $actions['untrash'] = "<a title='" . esc_attr(__('Restore this item from the Trash')) . "' href='" . wp_nonce_url( admin_url( sprintf($post_type_object->_edit_link . '&action=untrash', $post->ID) ), 'untrash-' . $post->post_type . '_' . $post->ID ) . "'>" . __('Restore') . "</a>"; elseif ( EMPTY_TRASH_DAYS ) $actions['trash'] = "<a class='submitdelete' title='" . esc_attr(__('Move this item to the Trash')) . "' href='" . get_delete_post_link($post->ID) . "'>" . __('Trash') . "</a>"; if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS ) $actions['delete'] = "<a class='submitdelete' title='" . esc_attr(__('Delete this item permanently')) . "' href='" . get_delete_post_link($post->ID, '', true) . "'>" . __('Delete Permanently') . "</a>"; } if ( in_array($post->post_status, array('pending', 'draft')) ) { if ( current_user_can($post_type_object->cap->edit_post, $post->ID) ) $actions['view'] = '<a href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink($post->ID) ) ) . '" title="' . esc_attr(sprintf(__('Preview “%s”'), $title)) . '" rel="permalink">' . __('Preview') . '</a>'; } elseif ( 'trash' != $post->post_status ) { $actions['view'] = '<a href="' . get_permalink($post->ID) . '" title="' . esc_attr(sprintf(__('View “%s”'), $title)) . '" rel="permalink">' . __('View') . '</a>'; } $actions = apply_filters('post_row_actions', $actions, $post); $action_count = count($actions); $i = 0; echo '<div class="row-actions">'; foreach ( $actions as $action => $link ) { ++$i; ( $i == $action_count ) ? $sep = '' : $sep = ' | '; echo "<span class='$action'>$link$sep</span>"; } echo '</div>'; get_inline_data($post); ?> </td> <?php break; case 'categories': ?> <td <?php echo $attributes ?>><?php $categories = get_the_category(); if ( !empty( $categories ) ) { $out = array(); foreach ( $categories as $c ) $out[] = "<a href='edit.php?post_type={$post->post_type}&category_name={$c->slug}'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'category', 'display')) . "</a>"; echo join( ', ', $out ); } else { _e('Uncategorized'); } ?></td> <?php break; case 'tags': ?> <td <?php echo $attributes ?>><?php $tags = get_the_tags($post->ID); if ( !empty( $tags ) ) { $out = array(); foreach ( $tags as $c ) $out[] = "<a href='edit.php?post_type={$post->post_type}&tag={$c->slug}'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) . "</a>";
4355
No comments yet... Be the first to leave a reply!