Commit Graph

114 Commits

Author SHA1 Message Date
John Blackbourn
ca92da24da General: Use interpolation instead of concatenation for all dynamic hook names.
This fixes the rendering of the hook names on developer.wordpress.org.

Props keesiemeijer
Fixes #39148


git-svn-id: https://develop.svn.wordpress.org/trunk@39600 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-14 04:17:38 +00:00
Andrea Fercia
ee7f970ffa Administration: Improve the usage of the button CSS classes.
Introduces some consistency in the usage of the button CSS classes, fixes the
focus style for accessibility and responsiveness of the buttons.

- Adds the `button` class to all primary buttons make them responsive
- Removes all `secondary-button` classes and replaces it with button when needed. `button-secondary` shouldn't be used and exists just for backward compatibility reasons
- Replaces classes inside `submit_button()` with a shorthand for some buttons, and use an empty string for the default `button` class. Passing `button` is unnecessary
- Adjusts `get_submit_button()` to remove empty items

Props iseulde, dimchik, chris_d2d, mhowell, afercia.
Fixes #27314, #37138, #37448.


git-svn-id: https://develop.svn.wordpress.org/trunk@38672 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-28 19:53:07 +00:00
Eric Andrew Lewis
c75fb5e9ca Allow custom bulk actions in admin list tables.
Bulk action filtering was introduced in 3.1, but only to remove default bulk actions, not add new ones.

Bulk actions can now be registered for all admin list table dropdowns via the `bulk_actions-{get_current_screen()->id}` filter. Handling custom bulk actions can be performed in the corresponding and newly introduced `handle_bulk_actions-${get_current_screen()->id}` filter.

Props scribu, flixos90, Veraxus.
See #16031.



git-svn-id: https://develop.svn.wordpress.org/trunk@38647 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-23 20:32:48 +00:00
Scott Taylor
3aee745492 AJAX: add a new function, wp_doing_ajax(), which can replace... (wait for it...) DOING_AJAX checks via the constant.
Props Mte90, sebastian.pisula, swissspidy.
Fixes #25669.


git-svn-id: https://develop.svn.wordpress.org/trunk@38334 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-23 14:32:18 +00:00
Dominik Schilling
6f5f178e8c List Table: Improve WP_Plugins_List_Table::search_box() which was added in [38033].
* Update DocBlock to use third-person singular verb and to include a period at the end.
* Use `submit_button()` for the submit button.
* Escape the ID attribute.
* Apply the same to `WP_List_Table::search_box()`.

See #37230.

git-svn-id: https://develop.svn.wordpress.org/trunk@38146 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-23 10:58:23 +00:00
Drew Jaynes
5cf0ef170a Docs: Standardize capitalization of Ajax throughout core documentation per the core spelling guide.
Ajax, while considered an acronym for Asynchronous JavaScript and XML, is most commonly capitalized only in the first character.

Part props ocean90.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@38028 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-10 00:50:21 +00:00
Andrea Fercia
9008030f1e List tables: Make the pagination links and text better responsive.
On small screens, especially with longer translations, the pagination links and
text could break in two lines. This fixes it moving down the text in a new line.

Fixes #33962.

git-svn-id: https://develop.svn.wordpress.org/trunk@37912 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-29 13:30:00 +00:00
Rachel Baker
0c990ffb73 Users: Stop WP_List_Table notices from persisting on pagination navigation.
Adds the keyboard navigation query vars to `wp_removable_query_args()` and passes the results of said function to remove_query_var() inside the WP_List_Table pagination method.

Props EFAREM for the initial patch.
Fixes #35620.

git-svn-id: https://develop.svn.wordpress.org/trunk@37663 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-09 01:55:40 +00:00
Drew Jaynes
1cd420af5e Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37488 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:00:23 +00:00
Drew Jaynes
195572596b Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.


git-svn-id: https://develop.svn.wordpress.org/trunk@37431 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-13 18:40:19 +00:00
Drew Jaynes
c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Dominik Schilling (ocean90)
333d2f205a List Tables: Revert [34728] and [35482].
Part of [34728] was already reverted in [35682], but the default values still made it impossible to set a default ordering for custom post types.

See #25493.
See #34825.

git-svn-id: https://develop.svn.wordpress.org/trunk@35818 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-07 19:15:16 +00:00
Konstantin Kovshenin
c6da294f32 Docs: Make "list table table tag" a bit more readable.
See: #34885, r35796.


git-svn-id: https://develop.svn.wordpress.org/trunk@35797 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:53:57 +00:00
Konstantin Kovshenin
318455ff24 Docs: Remove some more dittography.
See #34885, r35793.


git-svn-id: https://develop.svn.wordpress.org/trunk@35796 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:49:43 +00:00
Scott Taylor
328a6b21c0 List Tables: Fix PHP error notice when $columns is null
Use of `register_column_headers()` and `print_column_headers()` creates a `_WP_List_Table_Compat` without any columns. When the List Table object doesn't have any columns, there's naturally no primary column.

Props danielbachhuber.
Fixes #34148.


git-svn-id: https://develop.svn.wordpress.org/trunk@35698 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 23:00:55 +00:00
Scott Taylor
de02c5d2cd List Tables: to ensure that get_primary_column_name() can match columns that were added via the "manage_{$screen->id}_columns" filer, call get_column_headers() instead of $this->get_columns().
List Table classes and `WP_Screen` are already tangled together. The parent list table constructor adds a filter that is called by a function that references the instance globally, even though we have access to it via composition directly in the class that is adding the filter. So the fact that functions here have to be called that reference a screen instance we already have access to is what one might call... less than elegant.

#OOP

Props SergeyBiryukov.
Fixes #34508.


git-svn-id: https://develop.svn.wordpress.org/trunk@35565 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-07 15:26:05 +00:00
Sergey Biryukov
ae68fbfcee Docs: After [32654], remove duplicate @param tag in WP_List_Table::set_pagination_args() DocBlock.
Add `@since` tag.

Props bobbingwide.
See #32444.

git-svn-id: https://develop.svn.wordpress.org/trunk@35489 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-02 21:02:29 +00:00
Drew Jaynes
cba5390270 Docs: Add a missing file header for wp-admin/includes/class-wp-list-table.php.
See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@35237 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-17 06:06:59 +00:00
Drew Jaynes
bf0fa3a570 Docs: Fix some syntactical issues in property DocBlocks for WP_List_Table.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35021 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-11 03:33:50 +00:00
Scott Taylor
9e267b6e72 List Tables/WP_Screen: in WP_Screen, add methods to store, retrieve, and render screen reader text, primarily used by list table screens.
These additions are based on an audit and recommendations by the Accessibility team. #a11y'all

Props afercia.
Fixes #32147.


git-svn-id: https://develop.svn.wordpress.org/trunk@34891 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 01:27:01 +00:00
Scott Taylor
63b6bc751d Post List Table: Ensure that edit.php with no query string produces the proper markup and links in the date column header.
Add 2 methods to `WP_List_Table`, `->get_orderby()` and `->get_order()`. Override the methods in `WP_Posts_List_Table`.

`WP_Posts_List_Table` calls `wp_edit_posts_query()` in `->prepare_items()` which is a wrapper for `wp()`. As such, we can obtain `orderby` and `order` via `get_query_var()`, instead of the URL.

Fixes #25493.



git-svn-id: https://develop.svn.wordpress.org/trunk@34728 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-01 02:09:41 +00:00
Scott Taylor
27bc50cef8 List Tables: only hide bulk actions when there are no items, don't hide all of the extra table nav.
Fixes #33824.


git-svn-id: https://develop.svn.wordpress.org/trunk@34707 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-30 00:46:15 +00:00
Scott Taylor
21dad99c1b List Tables: add JS code to dynamically toggle the disabled attribute of the Bulk Actions dropdown and Apply button.
Props wonderboymusic, pareshradadiya.
Fixes #31634.


git-svn-id: https://develop.svn.wordpress.org/trunk@34467 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-24 01:06:17 +00:00
Scott Taylor
2ddc438111 List Tables: when comparing string literals (non-numeric in nature) against vars, strict comparison can/should be used.
Props wonderboymusic, Viper007Bond.
Fixes #21249.


git-svn-id: https://develop.svn.wordpress.org/trunk@34383 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 06:05:39 +00:00
Drew Jaynes
3b3a034c11 Docs: Remove markdown from the DocBlock summary for WP_List_Table::get_primary_column(), introduced in [34166].
The PHP inline documentation standards for [https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/php/#summary-formerly-short-description summaries] call for not using an markup or markdown. Also, using the full Class::method() in this context allows for better clarity in what is being referenced.

See #33854. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34229 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 10:50:21 +00:00
Scott Taylor
1a537a4f6d Add a doc block to WP_List_Table::get_primary_column().
Fixes #33854.


git-svn-id: https://develop.svn.wordpress.org/trunk@34166 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 03:34:44 +00:00
Scott Taylor
ab7ca361dd In WP_List_Table, make a new public method, ->get_primary_column(), and revert [34101] due to BC issues.
Fixes #33854.


git-svn-id: https://develop.svn.wordpress.org/trunk@34128 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 20:28:29 +00:00
Scott Taylor
5a93988ca3 Make WP_List_Table::get_primary_column_name() public in list table classes that have it.
Fixes #33854.


git-svn-id: https://develop.svn.wordpress.org/trunk@34101 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:11:44 +00:00
Scott Taylor
faf87c2ca6 After [34076], fix the logic for post_status in months dropdown.
See #21015.


git-svn-id: https://develop.svn.wordpress.org/trunk@34077 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 08:18:18 +00:00
Scott Taylor
927ad00bab List Tables: don't render "extra tablenav" if there are no posts. This includes Bulk Actions, Dates Dropdown, Category Dropdowns, Pagination.
Also ensure that the Months dropdown, when it is shown, shows months from the proper set of posts.

Props egower, CoenJacobs, MikeHansenMe, mehulkaklotar.
Fixes #33824, #21015, #21856.


git-svn-id: https://develop.svn.wordpress.org/trunk@34076 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 08:12:43 +00:00
Scott Taylor
3b8c5529cb foreach is a statement, not a function.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@33734 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:27:56 +00:00
Scott Taylor
7dd261ce61 Comment List Tables:
* Toggle visibility of pending bubble when a comment is dynamically moderated
* Add a CSS class to the pending bubble to hide it / remove to show it

See #11200.


git-svn-id: https://develop.svn.wordpress.org/trunk@33692 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-21 17:25:06 +00:00
Drew Jaynes
0af6d275b0 Docs: Clarify the different return conditions in the DocBlock for WP_List_Table->handle_row_actions().
This clarification follows the introduction of primary columns in 4.3. See #33313.

Props morganestes.
Fixes #33436.


git-svn-id: https://develop.svn.wordpress.org/trunk@33668 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 20:21:45 +00:00
Scott Taylor
28e0ad2de1 Comment List Tables:
* Ensure that dynamic bubble counts are in sync by `comment_post_ID`
* Scope `:animated` to `#the-comment-list`

See #11200.



git-svn-id: https://develop.svn.wordpress.org/trunk@33662 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 16:35:21 +00:00
Helen Hou-Sandi
3b1e1f0376 List tables: Yet more primary column fallbacks.
Some custom list tables override enough methods for the column definition fallback to never kick in, so let's ensure that toggling columns only applies when a primary column is defined in some way. We also need to show a toggle button when we can when there are no row actions.

props Chouby, obenland, ocean90.
fixes #33313.


git-svn-id: https://develop.svn.wordpress.org/trunk@33623 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-17 15:37:03 +00:00
Scott Taylor
aee18d2d38 List Tables:
* In `->handle_row_actions()`, bail immediately if `$primary` and `$column_name` do not match. Saves us a nesting level and avoids declaring code that is unusable.
* In `WP_List_Table::single_row_columns()`, allow `_column_{$name}` to be called dynamically by core to avoid having to override the entirety of `->single_row_columns()` in `WP_MS_Users_List_Table` and `WP_Posts_List_Table`
* In `WP_MS_Sites_List_Table`, `id` is not a column.

Props wonderboymusic, paulwilde.
Fixes #29881.


git-svn-id: https://develop.svn.wordpress.org/trunk@33270 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 17:46:13 +00:00
Helen Hou-Sandi
d651f599bf List tables: Even more robust fallback for the primary column.
Since `WP_List_Table::get_default_primary_column()` can be overridden in a subclass and columns can be further filtered, it is possible to end up with a primary column that no longer exists. This is particularly evident in list tables for custom post types that have been altered via filter.

props ocean90.
fixes #32996.


git-svn-id: https://develop.svn.wordpress.org/trunk@33266 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 16:17:06 +00:00
Drew Jaynes
9429edbd60 Fix the summaries for a few methods and hooks added to WP_List_Table in 4.3.
See [32644]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33178 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-12 18:31:09 +00:00
Helen Hou-Sandi
3e0f839eca List tables: Better accessibility and design for the comments bubble.
It is now plain text in the comments list table's "In Response To" column, where it was visually a bit confusing to have the bubble. For other list tables, it now shows a little notification bubble with the number of pending comments. The bubble and notification become plain text in the responsive list table view. It also shows no bubble when there are no comments at all, reducing some of the visual noise.

props picard102, afercia, karinchristen.
fixes #32152.


git-svn-id: https://develop.svn.wordpress.org/trunk@33155 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-10 21:43:32 +00:00
Helen Hou-Sandi
8f024536c1 List tables: Add a fallback for the primary column.
Without a primary column defined, nothing shows in the responsive view at all, which is bad.

props mordauk.
see #25408.


git-svn-id: https://develop.svn.wordpress.org/trunk@33104 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-07 15:11:54 +00:00
Helen Hou-Sandi
e5c4c584c0 List tables: A better responsive view.
Instead of truncating columns, the data that's already in the markup can now be toggled into view. Only seems appropriate to celebrate four years of contributing by finally doing the first thing I ever mocked up.

Known issues / concerns:
* Custom list tables that don't define a primary column will show nothing at all. These are not extremely common, as `WP_List_Table` isn't really recommended for plugin consumption, but it happens. We need to come up with some kind of fallback.
* Some visual elements, particularly whitespace, could use refining.
* Needs a11y review.
* Touch performance on iOS feels sluggish - is there anything we can do about that?
* Would this be better accordion-style (only one expanded at a time)?
* Is `wp_strip_all_tags()` good enough for column titles that have HTML in them? It's essentially a workaround for the fact that core's comments column does that for the icon, which maybe it shouldn't. Perhaps worth another ticket, as a markup change would be fairly independent.
* Visual hierarchy is not great when expanded (also worthy of another ticket).
* Quick edit now becomes noticeably more annoying to cancel out of, as you have to scroll all the way down and you lose your position from before it was opened. Again, worthy of another ticket.

props Michael Arestad, helen.
see #32395.


git-svn-id: https://develop.svn.wordpress.org/trunk@33016 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-01 01:30:23 +00:00
Sergey Biryukov
0916133d43 List tables: Select All should not be a column header.
It sets a redundant relationship with all checkboxes in its column and also conveys wrong information for screen readers.

props afercia, valendesigns.
see #31654.

git-svn-id: https://develop.svn.wordpress.org/trunk@32984 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-28 05:45:49 +00:00
Scott Taylor
229a9cc434 List tables: when post navigation links point to the current page, use <span>s and text instead of <a>s.
Props afercia.
Fixes #32253.


git-svn-id: https://develop.svn.wordpress.org/trunk@32948 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-25 20:31:51 +00:00
Scott Taylor
296c559baf if is a statment, not a function.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32800 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 20:00:15 +00:00
Helen Hou-Sandi
c2ed5b170d List tables: Use a class instead of inline styles for hidden columns.
fixes #32608.


git-svn-id: https://develop.svn.wordpress.org/trunk@32724 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-10 19:46:39 +00:00
Helen Hou-Sandi
1a0773a4b4 List tables: Better primary column back-compat.
Why are people manually setting `$_column_headers` other than because somebody else told them to? Maybe time will tell.

props kovshenin.
see #25408.


git-svn-id: https://develop.svn.wordpress.org/trunk@32722 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-10 14:58:42 +00:00
Helen Hou-Sandi
74a6899d0d List tables:
* Avoid notices in custom list tables that manually set `$_column_headers`. Any plugins using this for a specific purpose should update.
* Restore a special class name in the users list table.

props georgestephanis, stephdau.
see #25408.


git-svn-id: https://develop.svn.wordpress.org/trunk@32717 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-10 01:45:11 +00:00
Konstantin Obenland
9dfbd00947 Text improvements for screen readers in list table paginations.
Removes title attributes where reasonable and uses accessible hidden text.
Screen readers will now correctly read out all available information.

Props afercia, rianrietveld.
Fixes #32028.



git-svn-id: https://develop.svn.wordpress.org/trunk@32693 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-05 05:00:23 +00:00
Drew Jaynes
e3077edcad Fix formatting and add missing return descriptions for inline documenation introduced in [32644] for WP_List_Table.
Also fixes an error introduced in [32661] for `WP_Links_List_Table`.

See #25408. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@32662 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-31 01:28:28 +00:00
Scott Taylor
ec5758225c Add missing doc blocks to wp-admin/includes/*.
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32654 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 20:16:22 +00:00