Download wp-admin/includes/class-wp-links-list-table.php from AZILS/Word: direct link, hf CLI and curl.
- Browser
- Download file 9.18 kB
-
https://huggingface.co/spaces/AZILS/Word/resolve/main/wp-admin/includes/class-wp-links-list-table.php
- Command line
-
hf download hf://spaces/AZILS/Word/wp-admin/includes/class-wp-links-list-table.php
-
curl -L -o class-wp-links-list-table.php https://huggingface.co/spaces/AZILS/Word/resolve/main/wp-admin/includes/class-wp-links-list-table.php
9.18 kB
| /** | |
| * List Table API: WP_Links_List_Table class | |
| * | |
| * @package WordPress | |
| * @subpackage Administration | |
| * @since 3.1.0 | |
| */ | |
| /** | |
| * Core class used to implement displaying links in a list table. | |
| * | |
| * @since 3.1.0 | |
| * | |
| * @see WP_List_Table | |
| */ | |
| class WP_Links_List_Table extends WP_List_Table { | |
| /** | |
| * Constructor. | |
| * | |
| * @since 3.1.0 | |
| * | |
| * @see WP_List_Table::__construct() for more information on default arguments. | |
| * | |
| * @param array $args An associative array of arguments. | |
| */ | |
| public function __construct( $args = array() ) { | |
| parent::__construct( | |
| array( | |
| 'plural' => 'bookmarks', | |
| 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, | |
| ) | |
| ); | |
| } | |
| /** | |
| * @return bool | |
| */ | |
| public function ajax_user_can() { | |
| return current_user_can( 'manage_links' ); | |
| } | |
| /** | |
| * @global int $cat_id | |
| * @global string $s | |
| * @global string $orderby | |
| * @global string $order | |
| */ | |
| public function prepare_items() { | |
| global $cat_id, $s, $orderby, $order; | |
| $cat_id = ! empty( $_REQUEST['cat_id'] ) ? absint( $_REQUEST['cat_id'] ) : 0; | |
| $orderby = ! empty( $_REQUEST['orderby'] ) ? sanitize_text_field( $_REQUEST['orderby'] ) : ''; | |
| $order = ! empty( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : ''; | |
| $s = ! empty( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : ''; | |
| $args = array( | |
| 'hide_invisible' => 0, | |
| 'hide_empty' => 0, | |
| ); | |
| if ( 'all' !== $cat_id ) { | |
| $args['category'] = $cat_id; | |
| } | |
| if ( ! empty( $s ) ) { | |
| $args['search'] = $s; | |
| } | |
| if ( ! empty( $orderby ) ) { | |
| $args['orderby'] = $orderby; | |
| } | |
| if ( ! empty( $order ) ) { | |
| $args['order'] = $order; | |
| } | |
| $this->items = get_bookmarks( $args ); | |
| } | |
| /** | |
| */ | |
| public function no_items() { | |
| _e( 'No links found.' ); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| protected function get_bulk_actions() { | |
| $actions = array(); | |
| $actions['delete'] = __( 'Delete' ); | |
| return $actions; | |
| } | |
| /** | |
| * @global int $cat_id | |
| * @param string $which | |
| */ | |
| protected function extra_tablenav( $which ) { | |
| global $cat_id; | |
| if ( 'top' !== $which ) { | |
| return; | |
| } | |
| <div class="alignleft actions"> | |
| <?php | |
| $dropdown_options = array( | |
| 'selected' => $cat_id, | |
| 'name' => 'cat_id', | |
| 'taxonomy' => 'link_category', | |
| 'show_option_all' => get_taxonomy( 'link_category' )->labels->all_items, | |
| 'hide_empty' => true, | |
| 'hierarchical' => 1, | |
| 'show_count' => 0, | |
| 'orderby' => 'name', | |
| ); | |
| echo '<label class="screen-reader-text" for="cat_id">' . get_taxonomy( 'link_category' )->labels->filter_by_item . '</label>'; | |
| wp_dropdown_categories( $dropdown_options ); | |
| submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); | |
| ?> | |
| </div> | |
| <?php | |
| } | |
| /** | |
| * @return string[] Array of column titles keyed by their column name. | |
| */ | |
| public function get_columns() { | |
| return array( | |
| 'cb' => '<input type="checkbox" />', | |
| 'name' => _x( 'Name', 'link name' ), | |
| 'url' => __( 'URL' ), | |
| 'categories' => __( 'Categories' ), | |
| 'rel' => __( 'Relationship' ), | |
| 'visible' => __( 'Visible' ), | |
| 'rating' => __( 'Rating' ), | |
| ); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| protected function get_sortable_columns() { | |
| return array( | |
| 'name' => array( 'name', false, _x( 'Name', 'link name' ), __( 'Table ordered by Name.' ), 'asc' ), | |
| 'url' => array( 'url', false, __( 'URL' ), __( 'Table ordered by URL.' ) ), | |
| 'visible' => array( 'visible', false, __( 'Visible' ), __( 'Table ordered by Visibility.' ) ), | |
| 'rating' => array( 'rating', false, __( 'Rating' ), __( 'Table ordered by Rating.' ) ), | |
| ); | |
| } | |
| /** | |
| * Gets the name of the default primary column. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @return string Name of the default primary column, in this case, 'name'. | |
| */ | |
| protected function get_default_primary_column_name() { | |
| return 'name'; | |
| } | |
| /** | |
| * Handles the checkbox column output. | |
| * | |
| * @since 4.3.0 | |
| * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. | |
| * | |
| * @param object $item The current link object. | |
| */ | |
| public function column_cb( $item ) { | |
| // Restores the more descriptive, specific name for use within this method. | |
| $link = $item; | |
| <input type="checkbox" name="linkcheck[]" id="cb-select-<?php echo $link->link_id; ?>" value="<?php echo esc_attr( $link->link_id ); ?>" /> | |
| <label for="cb-select-<?php echo $link->link_id; ?>"> | |
| <span class="screen-reader-text"> | |
| <?php | |
| /* translators: Hidden accessibility text. %s: Link name. */ | |
| printf( __( 'Select %s' ), $link->link_name ); | |
| ?> | |
| </span> | |
| </label> | |
| <?php | |
| } | |
| /** | |
| * Handles the link name column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_name( $link ) { | |
| $edit_link = get_edit_bookmark_link( $link ); | |
| printf( | |
| '<strong><a class="row-title" href="%s" aria-label="%s">%s</a></strong>', | |
| $edit_link, | |
| /* translators: %s: Link name. */ | |
| esc_attr( sprintf( __( 'Edit “%s”' ), $link->link_name ) ), | |
| $link->link_name | |
| ); | |
| } | |
| /** | |
| * Handles the link URL column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_url( $link ) { | |
| $short_url = url_shorten( $link->link_url ); | |
| echo "<a href='$link->link_url'>$short_url</a>"; | |
| } | |
| /** | |
| * Handles the link categories column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @global int $cat_id | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_categories( $link ) { | |
| global $cat_id; | |
| $cat_names = array(); | |
| foreach ( $link->link_category as $category ) { | |
| $cat = get_term( $category, 'link_category', OBJECT, 'display' ); | |
| if ( is_wp_error( $cat ) ) { | |
| echo $cat->get_error_message(); | |
| } | |
| $cat_name = $cat->name; | |
| if ( (int) $cat_id !== $category ) { | |
| $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>"; | |
| } | |
| $cat_names[] = $cat_name; | |
| } | |
| echo implode( ', ', $cat_names ); | |
| } | |
| /** | |
| * Handles the link relation column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_rel( $link ) { | |
| echo empty( $link->link_rel ) ? '<br />' : $link->link_rel; | |
| } | |
| /** | |
| * Handles the link visibility column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_visible( $link ) { | |
| if ( 'Y' === $link->link_visible ) { | |
| _e( 'Yes' ); | |
| } else { | |
| _e( 'No' ); | |
| } | |
| } | |
| /** | |
| * Handles the link rating column output. | |
| * | |
| * @since 4.3.0 | |
| * | |
| * @param object $link The current link object. | |
| */ | |
| public function column_rating( $link ) { | |
| echo $link->link_rating; | |
| } | |
| /** | |
| * Handles the default column output. | |
| * | |
| * @since 4.3.0 | |
| * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. | |
| * | |
| * @param object $item Link object. | |
| * @param string $column_name Current column name. | |
| */ | |
| public function column_default( $item, $column_name ) { | |
| // Restores the more descriptive, specific name for use within this method. | |
| $link = $item; | |
| /** | |
| * Fires for each registered custom link column. | |
| * | |
| * @since 2.1.0 | |
| * | |
| * @param string $column_name Name of the custom column. | |
| * @param int $link_id Link ID. | |
| */ | |
| do_action( 'manage_link_custom_column', $column_name, $link->link_id ); | |
| } | |
| public function display_rows() { | |
| foreach ( $this->items as $link ) { | |
| $link = sanitize_bookmark( $link ); | |
| $link->link_name = esc_attr( $link->link_name ); | |
| $link->link_category = wp_get_link_cats( $link->link_id ); | |
| <tr id="link-<?php echo $link->link_id; ?>"> | |
| $this->single_row_columns( $link ); | |
| </tr> | |
| } | |
| } | |
| /** | |
| * Generates and displays row action links. | |
| * | |
| * @since 4.3.0 | |
| * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. | |
| * | |
| * @param object $item Link being acted upon. | |
| * @param string $column_name Current column name. | |
| * @param string $primary Primary column name. | |
| * @return string Row actions output for links, or an empty string | |
| * if the current column is not the primary column. | |
| */ | |
| 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. | |
| $link = $item; | |
| $edit_link = get_edit_bookmark_link( $link ); | |
| $actions = array(); | |
| $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>'; | |
| $actions['delete'] = sprintf( | |
| '<a class="submitdelete" href="%s" onclick="return confirm( \'%s\' );">%s</a>', | |
| wp_nonce_url( "link.php?action=delete&link_id=$link->link_id", 'delete-bookmark_' . $link->link_id ), | |
| /* translators: %s: Link name. */ | |
| esc_js( sprintf( __( "You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete." ), $link->link_name ) ), | |
| __( 'Delete' ) | |
| ); | |
| return $this->row_actions( $actions ); | |
| } | |
| } | |