AnsPress_Post_Table_Hooks::answer_row_actions( string $column, integer $post_id )
Description #
Add action links below question/answer content in wp post list.
Parameters #
- $columnstring (Required) Current column name.
- $post_idinteger (Required) Current post id.
Source #
File: admin/class-list-table-hooks.php
public static function answer_row_actions( $column, $post_id ) { global $post, $mode; if ( 'answer_content' !== $column ) { return; } $content = ap_truncate_chars( wp_strip_all_tags( get_the_excerpt() ), 90 ); // Pregmatch will return an array and the first 80 chars will be in the first element. echo '<a href="' . esc_url( get_permalink( $post->post_parent ) ) . '" class="row-title">' . esc_html( $content ) . '</a>'; // First set up some variables. $actions = array(); $post_type_object = get_post_type_object( $post->post_type ); // override ok. $can_edit_post = current_user_can( $post_type_object->cap->edit_post, $post->ID ); // Actions to delete/trash. if ( current_user_can( $post_type_object->cap->delete_post, $post->ID ) ) { if ( 'trash' === $post->post_status ) { $_wpnonce = wp_create_nonce( 'untrash-post_' . $post_id ); $url = admin_url( 'post.php?post=' . $post_id . '&action=untrash&_wpnonce=' . $_wpnonce ); $actions['untrash'] = "<a title='" . esc_attr( __( 'Restore this item from the Trash', 'anspress-question-answer' ) ) . "' href='" . $url . "'>" . __( 'Restore', 'anspress-question-answer' ) . '</a>'; } elseif ( EMPTY_TRASH_DAYS ) { $actions['trash'] = "<a class='submitdelete' title='" . esc_attr( __( 'Move this item to the Trash', 'anspress-question-answer' ) ) . "' href='" . get_delete_post_link( $post->ID ) . "'>" . __( 'Trash', 'anspress-question-answer' ) . '</a>'; } if ( 'trash' === $post->post_status || ! EMPTY_TRASH_DAYS ) { $actions['delete'] = "<a class='submitdelete' title='" . esc_attr( __( 'Delete this item permanently', 'anspress-question-answer' ) ) . "' href='" . get_delete_post_link( $post->ID, '', true ) . "'>" . __( 'Delete Permanently', 'anspress-question-answer' ) . '</a>'; } } if ( $can_edit_post ) { // translators: %s is post title. $anchor_title = sprintf( __( 'Edit “%s”', 'anspress-question-answer' ), $post->title ); $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID, '', true ) . '" title="' . esc_attr( $anchor_title ) . '" rel="permalink">' . __( 'Edit', 'anspress-question-answer' ) . '</a>'; } // Actions to view/preview. if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ), true ) && $can_edit_post ) { // translators: %s is post title. $anchor_title = sprintf( __( 'Preview “%s”', 'anspress-question-answer' ), $post->title ); $anchor_url = add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ); $actions['view'] = '<a href="' . esc_url( $anchor_url ) . '" title="' . esc_attr( $anchor_title ) . '" rel="permalink">' . __( 'Preview', 'anspress-question-answer' ) . '</a>'; } elseif ( 'trash' !== $post->post_status ) { // translators: %s is post title. $anchor_title = sprintf( __( 'View “%s”', 'anspress-question-answer' ), $post->title ); $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( $anchor_title ) . '" rel="permalink">' . __( 'View', 'anspress-question-answer' ) . '</a>'; } $wp_list_table = new WP_List_Table(); echo $wp_list_table->row_actions( $actions ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped }
Expand full source code Collapse full source code View on GitHub: admin/class-list-table-hooks.php:113
Add your comment