2010-10-24 22:57:43 -04:00
|
|
|
<?php
|
|
|
|
/**
|
2015-10-17 11:13:25 -04:00
|
|
|
* List Table API: WP_Links_List_Table class
|
2010-10-24 22:57:43 -04:00
|
|
|
*
|
|
|
|
* @package WordPress
|
2015-10-17 11:13:25 -04:00
|
|
|
* @subpackage Administration
|
|
|
|
* @since 3.1.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Core class used to implement displaying links in a list table.
|
|
|
|
*
|
2010-10-25 00:04:18 -04:00
|
|
|
* @since 3.1.0
|
2015-10-17 11:13:25 -04:00
|
|
|
*
|
2021-01-23 02:25:02 -05:00
|
|
|
* @see WP_List_Table
|
2010-10-24 22:57:43 -04:00
|
|
|
*/
|
2010-11-04 04:07:03 -04:00
|
|
|
class WP_Links_List_Table extends WP_List_Table {
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2014-08-09 22:18:17 -04:00
|
|
|
/**
|
|
|
|
* Constructor.
|
2014-09-04 11:23:16 -04:00
|
|
|
*
|
2014-08-09 22:18:17 -04:00
|
|
|
* @since 3.1.0
|
|
|
|
*
|
|
|
|
* @see WP_List_Table::__construct() for more information on default arguments.
|
|
|
|
*
|
|
|
|
* @param array $args An associative array of arguments.
|
2014-09-04 11:23:16 -04:00
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
public function __construct( $args = array() ) {
|
2017-11-30 18:11:00 -05:00
|
|
|
parent::__construct(
|
|
|
|
array(
|
|
|
|
'plural' => 'bookmarks',
|
|
|
|
'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
|
|
|
|
)
|
|
|
|
);
|
2010-10-24 22:57:43 -04:00
|
|
|
}
|
|
|
|
|
2015-05-29 16:17:26 -04:00
|
|
|
/**
|
|
|
|
* @return bool
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
public function ajax_user_can() {
|
2010-12-16 04:18:28 -05:00
|
|
|
return current_user_can( 'manage_links' );
|
2010-10-24 22:57:43 -04:00
|
|
|
}
|
|
|
|
|
2015-05-28 17:41:30 -04:00
|
|
|
/**
|
|
|
|
* @global int $cat_id
|
|
|
|
* @global string $s
|
|
|
|
* @global string $orderby
|
|
|
|
* @global string $order
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
public function prepare_items() {
|
2010-10-24 22:57:43 -04:00
|
|
|
global $cat_id, $s, $orderby, $order;
|
|
|
|
|
2024-05-01 14:01:12 -04:00
|
|
|
$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'] ) : '';
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$args = array(
|
|
|
|
'hide_invisible' => 0,
|
|
|
|
'hide_empty' => 0,
|
|
|
|
);
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2019-09-25 19:38:57 -04:00
|
|
|
if ( 'all' !== $cat_id ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
$args['category'] = $cat_id;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
|
|
|
if ( ! empty( $s ) ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
$args['search'] = $s;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
|
|
|
if ( ! empty( $orderby ) ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
$args['orderby'] = $orderby;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
|
|
|
if ( ! empty( $order ) ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
$args['order'] = $order;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
|
|
|
$this->items = get_bookmarks( $args );
|
|
|
|
}
|
|
|
|
|
2015-05-29 17:32:24 -04:00
|
|
|
/**
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
public function no_items() {
|
2010-10-24 22:57:43 -04:00
|
|
|
_e( 'No links found.' );
|
|
|
|
}
|
|
|
|
|
2015-05-29 16:17:26 -04:00
|
|
|
/**
|
|
|
|
* @return array
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
protected function get_bulk_actions() {
|
2017-11-30 18:11:00 -05:00
|
|
|
$actions = array();
|
2010-10-24 22:57:43 -04:00
|
|
|
$actions['delete'] = __( 'Delete' );
|
|
|
|
|
|
|
|
return $actions;
|
|
|
|
}
|
|
|
|
|
2015-05-28 17:41:30 -04:00
|
|
|
/**
|
|
|
|
* @global int $cat_id
|
|
|
|
* @param string $which
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
protected function extra_tablenav( $which ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
global $cat_id;
|
|
|
|
|
2019-09-25 19:38:57 -04:00
|
|
|
if ( 'top' !== $which ) {
|
2010-10-24 22:57:43 -04:00
|
|
|
return;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2018-08-16 21:51:36 -04:00
|
|
|
?>
|
2010-10-24 22:57:43 -04:00
|
|
|
<div class="alignleft actions">
|
2020-04-17 14:31:07 -04:00
|
|
|
<?php
|
2010-10-24 22:57:43 -04:00
|
|
|
$dropdown_options = array(
|
2017-11-30 18:11:00 -05:00
|
|
|
'selected' => $cat_id,
|
|
|
|
'name' => 'cat_id',
|
|
|
|
'taxonomy' => 'link_category',
|
2016-03-02 17:14:25 -05:00
|
|
|
'show_option_all' => get_taxonomy( 'link_category' )->labels->all_items,
|
2017-11-30 18:11:00 -05:00
|
|
|
'hide_empty' => true,
|
|
|
|
'hierarchical' => 1,
|
|
|
|
'show_count' => 0,
|
|
|
|
'orderby' => 'name',
|
2010-10-24 22:57:43 -04:00
|
|
|
);
|
2014-10-10 22:21:19 -04:00
|
|
|
|
2021-02-01 09:13:00 -05:00
|
|
|
echo '<label class="screen-reader-text" for="cat_id">' . get_taxonomy( 'link_category' )->labels->filter_by_item . '</label>';
|
2020-08-04 11:58:06 -04:00
|
|
|
|
2010-10-24 22:57:43 -04:00
|
|
|
wp_dropdown_categories( $dropdown_options );
|
2020-08-04 11:58:06 -04:00
|
|
|
|
2016-09-28 15:54:28 -04:00
|
|
|
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
2020-04-17 14:31:07 -04:00
|
|
|
?>
|
2010-10-24 22:57:43 -04:00
|
|
|
</div>
|
2018-08-16 21:51:36 -04:00
|
|
|
<?php
|
2010-10-24 22:57:43 -04:00
|
|
|
}
|
|
|
|
|
2015-05-29 16:17:26 -04:00
|
|
|
/**
|
2023-05-08 18:37:24 -04:00
|
|
|
* @return string[] Array of column titles keyed by their column name.
|
2015-05-29 16:17:26 -04:00
|
|
|
*/
|
2014-07-11 23:27:14 -04:00
|
|
|
public function get_columns() {
|
2010-10-24 22:57:43 -04:00
|
|
|
return array(
|
|
|
|
'cb' => '<input type="checkbox" />',
|
2011-06-10 18:13:26 -04:00
|
|
|
'name' => _x( 'Name', 'link name' ),
|
2010-10-24 22:57:43 -04:00
|
|
|
'url' => __( 'URL' ),
|
|
|
|
'categories' => __( 'Categories' ),
|
|
|
|
'rel' => __( 'Relationship' ),
|
|
|
|
'visible' => __( 'Visible' ),
|
2017-11-30 18:11:00 -05:00
|
|
|
'rating' => __( 'Rating' ),
|
2010-10-24 22:57:43 -04:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2015-05-29 16:17:26 -04:00
|
|
|
/**
|
|
|
|
* @return array
|
|
|
|
*/
|
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
|
|
|
protected function get_sortable_columns() {
|
2010-10-24 22:57:43 -04:00
|
|
|
return array(
|
2023-06-21 17:47:23 -04:00
|
|
|
'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.' ) ),
|
2010-10-24 22:57:43 -04:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2015-05-28 22:41:25 -04:00
|
|
|
/**
|
2023-06-14 02:34:27 -04:00
|
|
|
* Gets the name of the default primary column.
|
2015-05-28 22:41:25 -04:00
|
|
|
*
|
|
|
|
* @since 4.3.0
|
2015-05-30 21:29:26 -04:00
|
|
|
*
|
2015-05-30 21:23:26 -04:00
|
|
|
* @return string Name of the default primary column, in this case, 'name'.
|
2015-05-28 22:41:25 -04:00
|
|
|
*/
|
|
|
|
protected function get_default_primary_column_name() {
|
|
|
|
return 'name';
|
|
|
|
}
|
|
|
|
|
2015-05-28 17:41:30 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the checkbox column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::column_cb()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [15632], [30679], [31210], [32740], [32753], [32754], [32755], [32756], [32757].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51735
git-svn-id: http://core.svn.wordpress.org/trunk@51343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 14:19:56 -04:00
|
|
|
* @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support.
|
2015-05-28 17:41:30 -04:00
|
|
|
*
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::column_cb()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [15632], [30679], [31210], [32740], [32753], [32754], [32755], [32756], [32757].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51735
git-svn-id: http://core.svn.wordpress.org/trunk@51343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 14:19:56 -04:00
|
|
|
* @param object $item The current link object.
|
2015-05-28 17:41:30 -04:00
|
|
|
*/
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::column_cb()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [15632], [30679], [31210], [32740], [32753], [32754], [32755], [32756], [32757].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51735
git-svn-id: http://core.svn.wordpress.org/trunk@51343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 14:19:56 -04:00
|
|
|
public function column_cb( $item ) {
|
|
|
|
// Restores the more descriptive, specific name for use within this method.
|
|
|
|
$link = $item;
|
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
?>
|
2023-09-22 15:58:16 -04:00
|
|
|
<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; ?>">
|
2023-06-20 21:54:19 -04:00
|
|
|
<span class="screen-reader-text">
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
|
|
|
<?php
|
I18N: Mark screen reader strings as such with translator comments.
This aims to provide better context for translators and make it easier to determine that some strings contain hidden accessibility text and are not displayed in the UI.
Props kebbet, mercime, pavelevap, ocean90, swissspidy, Chouby, jipmoors, afercia, desrosj, costdev, audrasjb, SergeyBiryukov.
Fixes #29748.
Built from https://develop.svn.wordpress.org/trunk@55276
git-svn-id: http://core.svn.wordpress.org/trunk@54809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-02-07 12:10:21 -05:00
|
|
|
/* translators: Hidden accessibility text. %s: Link name. */
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
|
|
|
printf( __( 'Select %s' ), $link->link_name );
|
|
|
|
?>
|
2023-06-20 21:54:19 -04:00
|
|
|
</span>
|
2019-07-09 17:11:58 -04:00
|
|
|
</label>
|
2015-06-13 11:33:25 -04:00
|
|
|
<?php
|
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the link name column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_name( $link ) {
|
|
|
|
$edit_link = get_edit_bookmark_link( $link );
|
2017-11-30 18:11:00 -05:00
|
|
|
printf(
|
|
|
|
'<strong><a class="row-title" href="%s" aria-label="%s">%s</a></strong>',
|
2016-02-29 18:26:26 -05:00
|
|
|
$edit_link,
|
2019-09-02 20:41:05 -04:00
|
|
|
/* translators: %s: Link name. */
|
2016-02-29 18:26:26 -05:00
|
|
|
esc_attr( sprintf( __( 'Edit “%s”' ), $link->link_name ) ),
|
|
|
|
$link->link_name
|
|
|
|
);
|
2015-06-13 11:33:25 -04:00
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the link URL column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_url( $link ) {
|
|
|
|
$short_url = url_shorten( $link->link_url );
|
2015-12-17 17:53:28 -05:00
|
|
|
echo "<a href='$link->link_url'>$short_url</a>";
|
2015-06-13 11:33:25 -04:00
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-07-13 14:03:24 -04:00
|
|
|
* Handles the link categories column output.
|
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2017-07-25 09:19:42 -04:00
|
|
|
* @global int $cat_id
|
2015-06-13 11:33:25 -04:00
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_categories( $link ) {
|
|
|
|
global $cat_id;
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
$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;
|
2019-09-25 21:24:56 -04:00
|
|
|
if ( (int) $cat_id !== $category ) {
|
2015-06-13 11:33:25 -04:00
|
|
|
$cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>";
|
|
|
|
}
|
|
|
|
$cat_names[] = $cat_name;
|
|
|
|
}
|
|
|
|
echo implode( ', ', $cat_names );
|
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the link relation column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_rel( $link ) {
|
|
|
|
echo empty( $link->link_rel ) ? '<br />' : $link->link_rel;
|
|
|
|
}
|
2015-05-28 22:41:25 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the link visibility column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_visible( $link ) {
|
|
|
|
if ( 'Y' === $link->link_visible ) {
|
|
|
|
_e( 'Yes' );
|
|
|
|
} else {
|
|
|
|
_e( 'No' );
|
|
|
|
}
|
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-12-17 17:53:28 -05:00
|
|
|
* Handles the link rating column output.
|
2015-07-13 14:03:24 -04:00
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
|
|
|
*
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param object $link The current link object.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
|
|
|
public function column_rating( $link ) {
|
|
|
|
echo $link->link_rating;
|
|
|
|
}
|
2015-05-28 22:41:25 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
2015-07-13 14:03:24 -04:00
|
|
|
* Handles the default column output.
|
|
|
|
*
|
2015-06-13 11:33:25 -04:00
|
|
|
* @since 4.3.0
|
2021-09-07 12:57:58 -04:00
|
|
|
* @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support.
|
2015-06-13 11:33:25 -04:00
|
|
|
*
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::column_default()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [15632], [30679], [31210], [32740], [32753], [32754], [32755], [32756], [32757].
Props jrf, hellofromTonya, @sergeybiryukov, @azaozz, @desrosj, @johnbillion
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51728
git-svn-id: http://core.svn.wordpress.org/trunk@51334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-02 18:26:56 -04:00
|
|
|
* @param object $item Link object.
|
2015-07-13 14:03:24 -04:00
|
|
|
* @param string $column_name Current column name.
|
2015-06-13 11:33:25 -04:00
|
|
|
*/
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::column_default()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [15632], [30679], [31210], [32740], [32753], [32754], [32755], [32756], [32757].
Props jrf, hellofromTonya, @sergeybiryukov, @azaozz, @desrosj, @johnbillion
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51728
git-svn-id: http://core.svn.wordpress.org/trunk@51334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-02 18:26:56 -04:00
|
|
|
public function column_default( $item, $column_name ) {
|
2023-09-14 08:46:20 -04:00
|
|
|
// Restores the more descriptive, specific name for use within this method.
|
|
|
|
$link = $item;
|
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
*/
|
2023-09-14 08:46:20 -04:00
|
|
|
do_action( 'manage_link_custom_column', $column_name, $link->link_id );
|
2015-06-13 11:33:25 -04:00
|
|
|
}
|
2015-05-28 22:41:25 -04:00
|
|
|
|
2015-06-13 11:33:25 -04:00
|
|
|
public function display_rows() {
|
|
|
|
foreach ( $this->items as $link ) {
|
2017-11-30 18:11:00 -05:00
|
|
|
$link = sanitize_bookmark( $link );
|
|
|
|
$link->link_name = esc_attr( $link->link_name );
|
2015-06-13 11:33:25 -04:00
|
|
|
$link->link_category = wp_get_link_cats( $link->link_id );
|
2018-08-16 21:51:36 -04:00
|
|
|
?>
|
2015-06-13 11:33:25 -04:00
|
|
|
<tr id="link-<?php echo $link->link_id; ?>">
|
2017-11-30 18:11:00 -05:00
|
|
|
<?php $this->single_row_columns( $link ); ?>
|
2010-10-24 22:57:43 -04:00
|
|
|
</tr>
|
2018-08-16 21:51:36 -04:00
|
|
|
<?php
|
2010-10-24 22:57:43 -04:00
|
|
|
}
|
|
|
|
}
|
2015-05-28 22:41:25 -04:00
|
|
|
|
|
|
|
/**
|
2015-07-13 14:03:24 -04:00
|
|
|
* Generates and displays row action links.
|
2015-05-28 22:41:25 -04:00
|
|
|
*
|
2015-05-30 21:23:26 -04:00
|
|
|
* @since 4.3.0
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::handle_row_actions()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [32644], [32664], [32798], [38489], [49183], [49197].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51737
git-svn-id: http://core.svn.wordpress.org/trunk@51345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 15:24:53 -04:00
|
|
|
* @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support.
|
2015-05-28 22:41:25 -04:00
|
|
|
*
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::handle_row_actions()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [32644], [32664], [32798], [38489], [49183], [49197].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51737
git-svn-id: http://core.svn.wordpress.org/trunk@51345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 15:24:53 -04:00
|
|
|
* @param object $item Link being acted upon.
|
2015-05-30 21:23:26 -04:00
|
|
|
* @param string $column_name Current column name.
|
|
|
|
* @param string $primary Primary column name.
|
2020-01-11 12:59:04 -05:00
|
|
|
* @return string Row actions output for links, or an empty string
|
|
|
|
* if the current column is not the primary column.
|
2015-05-28 22:41:25 -04:00
|
|
|
*/
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::handle_row_actions()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [32644], [32664], [32798], [38489], [49183], [49197].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51737
git-svn-id: http://core.svn.wordpress.org/trunk@51345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 15:24:53 -04:00
|
|
|
protected function handle_row_actions( $item, $column_name, $primary ) {
|
2015-07-14 13:47:24 -04:00
|
|
|
if ( $primary !== $column_name ) {
|
|
|
|
return '';
|
2015-05-28 22:41:25 -04:00
|
|
|
}
|
2015-07-14 13:47:24 -04:00
|
|
|
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_List_Table::handle_row_actions()`.
Matches the method signatures of the parent class and each child class.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
For readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened
- in methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [32644], [32664], [32798], [38489], [49183], [49197].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51737
git-svn-id: http://core.svn.wordpress.org/trunk@51345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-07 15:24:53 -04:00
|
|
|
// Restores the more descriptive, specific name for use within this method.
|
2023-09-14 08:46:20 -04:00
|
|
|
$link = $item;
|
|
|
|
|
2015-07-14 13:47:24 -04:00
|
|
|
$edit_link = get_edit_bookmark_link( $link );
|
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$actions = array();
|
|
|
|
$actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
|
|
|
$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 ),
|
2019-09-02 20:41:05 -04:00
|
|
|
/* translators: %s: Link name. */
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
|
|
|
esc_js( sprintf( __( "You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete." ), $link->link_name ) ),
|
|
|
|
__( 'Delete' )
|
|
|
|
);
|
|
|
|
|
2015-07-14 13:47:24 -04:00
|
|
|
return $this->row_actions( $actions );
|
2015-05-28 22:41:25 -04:00
|
|
|
}
|
2010-10-24 22:57:43 -04:00
|
|
|
}
|