Commit Graph

120 Commits

Author SHA1 Message Date
Andrew Ozz
a1cae16efe Accessible Tags autocomplete:
- Replace suggest.js with UI Autocomplete.
- Use the same settings like in the editor link toolbar.
- Abstract it and add in a new file, tags-suggest.js. Then make it a dependency for the Tags postbox(es) and Quick and Bulk Edit.
- Add `data-wp-taxonomy` on all input elements to improve handling in the UI for custom taxonomies.

Props afercia, azaozz.
See #33902.

git-svn-id: https://develop.svn.wordpress.org/trunk@38797 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-14 22:39:49 +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
Drew Jaynes
ea78fbdcdb Docs: Fix minor formatting and syntax for wp-admin/* elements introduced in 4.6.
See #37318.


git-svn-id: https://develop.svn.wordpress.org/trunk@38024 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-09 13:59:16 +00:00
Dominik Schilling (ocean90)
bded47a1b6 Posts: Introduce WP_Post_Type and use it in register_post_type() and unregister_post_type().
This changes the global `$wp_post_types` to an array of `WP_Post_Type` objects. `WP_Post_Type` includes methods to handle post type supports, rewrite rules, meta boxes, hooks, and taxonomies.
Each post type argument becomes a property of `WP_Post_Type`.

Props swissspidy, flixos90.
Fixes #36217.

git-svn-id: https://develop.svn.wordpress.org/trunk@37890 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 16:40:33 +00:00
Pascal Birchler
70693b520f Posts list table: Add a filter to disable the categories dropdown.
This allows one to short-circuit its output before any queries are run, similar to how it was done for the months dropdown in [31438].

Props davidmosterd for initial patch.
Fixes #36152.

git-svn-id: https://develop.svn.wordpress.org/trunk@37856 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-23 15:36:33 +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
Dominik Schilling (ocean90)
ab3afd670d List Tables: Pass the $which parameter to restrict_manage_posts and restrict_manage_users.
`$which` contains the location of the extra table nav markup: 'top' or 'bottom'.

Props martin.krcho.
Fixes #35307.

git-svn-id: https://develop.svn.wordpress.org/trunk@37422 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 15:12:11 +00:00
Jeremy Felt
91513893c2 Posts: Call set_url_scheme() consistently on URLs passed through preview_post_link
After [34170], some preview URLs that passed through `set_url_scheme()` no longer do so. We can restore that behavior by applying `set_url_scheme()` whenever `get_preview_post_link()` provides the URL.

Props danielbachhuber.
Fixes #35407.


git-svn-id: https://develop.svn.wordpress.org/trunk@36926 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 04:41:34 +00:00
Sergey Biryukov
1b91fc660f Taxonomy: Remove unnecessary 'All categories' string on Edit Posts and Edit Links screens and use taxonomy's all_items label instead.
Props johnbillion.
Fixes #36049.

git-svn-id: https://develop.svn.wordpress.org/trunk@36808 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 22:13:14 +00:00
Jeremy Felt
a16d97039b Remove extra spaces between function names and brackets
These were introduced when making list table view modes sticky.

See #16774, #34365.


git-svn-id: https://develop.svn.wordpress.org/trunk@36572 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 16:50:49 +00:00
Andrea Fercia
cde933e306 After [36171] remove all the occurrences of the old CSS clearfix.
The old clearfix was applied to very specific items and defined multiple times
across CSS files. Uses the new generic `.wp-clearfix` utility class instead.

See #26396.

git-svn-id: https://develop.svn.wordpress.org/trunk@36422 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-30 13:45:37 +00:00
Andrea Fercia
2e78169eee After [36333] correctly use esc_attr() instead of esc_attr__().
See #35313.

git-svn-id: https://develop.svn.wordpress.org/trunk@36334 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-17 16:02:24 +00:00
Andrea Fercia
838f953d4d Accessibility: Remove title attributes from the Posts list table.
Fixes #35313.

git-svn-id: https://develop.svn.wordpress.org/trunk@36333 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-17 15:46:01 +00:00
Sergey Biryukov
3068a5b333 I18N: Add missing context for 'Trash' strings.
Fixes #35054.

git-svn-id: https://develop.svn.wordpress.org/trunk@35901 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-13 19:02:30 +00:00
Boone Gorges
ded2547b57 Show user_login in Dashboard user dropdowns.
User dropdowns in wp-admin have traditionally shown the users' display names.
However, this causes ambiguity when users share display names. To correct this,
we now show the unique user_login in parentheses after the display name.

The new `display_name_with_login` value for the `show` parameter of
`wp_dropdown_users()` enables this functionality. The default value of `show`
has not been changed, for backward compatibility, but all instances of
`wp_dropdown_users()` in core wp-admin have been switched.

This changeset also reduces some duplicated logic when assembling a user list
when `include_selected` is true.

Props krogsgard, boonebgorges.
Fixes #31251.

git-svn-id: https://develop.svn.wordpress.org/trunk@35790 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 20:56:11 +00:00
Scott Taylor
0749514c94 List Tables: After [35622] and [34271], improve pagination logic when queries are altered.
Props bradyvercher.
Fixes #29870.


git-svn-id: https://develop.svn.wordpress.org/trunk@35683 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 20:24:44 +00:00
Scott Taylor
d2d6241aa5 List Tables: After [34728], don't try to infer orderby from query params.
List tables are really good.

Props cklosows.
Fixes #25493.


git-svn-id: https://develop.svn.wordpress.org/trunk@35682 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 20:18:08 +00:00
Scott Taylor
b1d93d6d6a List Tables: after [34271], account for searches when calculating pagination.
Fixes #29870.



git-svn-id: https://develop.svn.wordpress.org/trunk@35622 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-11 23:13:46 +00:00
Dominik Schilling (ocean90)
5ee5029109 List Tables: Define the global $mode variable for Quick Edit savings.
Also remove two unused global imports for `$mode`.

Fixes #34577.

git-svn-id: https://develop.svn.wordpress.org/trunk@35518 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-04 21:28:55 +00:00
Helen Hou-Sandi
7adf6e9125 List tables: Move the view mode switcher into screen options for posts.
Having a view mode switcher nestled within table navigation makes no sense, especially now that it's a sticky user option. While less convenient for frequent switching, there is no evidence as of yet that there is a large userbase of frequent view mode switchers.

Introduces a filter for `view_mode_post_types`, which by default is all hierarchical post types with edit UI on.

props Oxymoron.
fixes #22222.


git-svn-id: https://develop.svn.wordpress.org/trunk@35357 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-22 19:24:10 +00:00
Drew Jaynes
84d3e1f305 Administration: Introduce the manage_posts_extra_tablenav action, which fires inside the tablenav for the posts list table, and just outside the "actions" container.
Props hlashbrooke, wonderboymusic.
Fixes #30341.


git-svn-id: https://develop.svn.wordpress.org/trunk@35263 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-18 14:55:52 +00:00
Drew Jaynes
5a0fd03f95 Docs: Add missing file headers to the list table classes and adjust class DocBlocks accordingly.
See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@35241 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-17 15:12:48 +00:00
Sergey Biryukov
5c19a7a704 Replace Quick Edit and Bulk Edit headings with <legend> elements.
Props afercia.
Fixes #34289.

git-svn-id: https://develop.svn.wordpress.org/trunk@35234 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-17 00:44:12 +00:00
Sergey Biryukov
0d4a7ee029 In WP_Posts_List_Table, correct the type for $comment_pending_count.
See #11381.

git-svn-id: https://develop.svn.wordpress.org/trunk@35223 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-16 18:24:25 +00:00
Scott Taylor
6507668f4e Posts List Table: ensure that "All" gets the "current" CSS class when applicable.
Props afercia.
Fixes #19609.


git-svn-id: https://develop.svn.wordpress.org/trunk@34889 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 00:08:42 +00:00
John Blackbourn
d8c9450179 Correct pagination when viewing the 'Mine' link on the post listing screen.
Fixes #19609
Props ocean90


git-svn-id: https://develop.svn.wordpress.org/trunk@34837 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 21:35:18 +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
John Blackbourn
9271360932 Correct the logic used when determining whether to display the 'Mine' link on post list tables. It should only be shown when the count for the user's posts differs for the total count of posts. is_multi_author() cannot be used because it only considers Posts.
Fixes #19609


git-svn-id: https://develop.svn.wordpress.org/trunk@34667 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 19:14:56 +00:00
Scott Taylor
1d6c744604 Posts List Table: check is_multi_author() before attempting to set ->user_posts_count. Also, don't show "Mine" when the count is the same as "All."
Fixes #19609.


git-svn-id: https://develop.svn.wordpress.org/trunk@34584 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 06:50:03 +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
John Blackbourn
f80add733c Implement a 'Mine' link on post listing screens in the admin area for all users who have authored posts. This feature was previously only available to users who cannot edit other users' posts (namely Authors and Contributors).
Props linuxologos, wonderboymusic
Fixes #19609


git-svn-id: https://develop.svn.wordpress.org/trunk@34360 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-20 17:27:35 +00:00
Scott Taylor
d075313f5b Post List Table: 'All' view should be selected when appropriate for paged responses.
Props kraftbj, wonderboymusic.
Fixes #33923.


git-svn-id: https://develop.svn.wordpress.org/trunk@34331 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-19 18:16:31 +00:00
Scott Taylor
73c1ac8b26 Posts List Table: Use a more robust technique for calculating $total_items so that pagination still appears when items are removed on the last page of results and ->max_num_pages decreases.
Props A5hleyRich.
Fixes #29870.


git-svn-id: https://develop.svn.wordpress.org/trunk@34271 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-17 21:17:16 +00:00
Sergey Biryukov
1d4b8ffd1d Docs: Expand the DocBlock for the WP_Theme::get_edit_link() method, introduced in [34084].
Fixes #32376.

git-svn-id: https://develop.svn.wordpress.org/trunk@34238 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 15:00:04 +00:00
John Blackbourn
b8349f8222 Remove outdated references to the preview_post_link filter docs.
See #24345
Props paulwilde


git-svn-id: https://develop.svn.wordpress.org/trunk@34178 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 10:31:40 +00:00
Scott Taylor
c0d850878a Create a function, get_preview_post_link(), to DRY the logic for applying the 'preview_post_link' filter to a URL.
Props TomHarrigan, wonderboymusic.
Fixes #24345.


git-svn-id: https://develop.svn.wordpress.org/trunk@34170 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 04:14:23 +00:00
Scott Taylor
ad20c3db4a WP_Posts_List_Table: there are a cadre of edit.php URLs that are generated by string-building instead of using our handy functions. Create a helper method, ->get_edit_link() that standardizes the generation and escaping of these URLs.
Props BdN3504 for the initial patch on the ticket.
Fixes #32376.


git-svn-id: https://develop.svn.wordpress.org/trunk@34084 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 17:12:25 +00:00
Scott Taylor
532baa4c5f In WP_Posts_List_Table::column_date(), the order of status and time should be switched. It doesn't make sense for phrases like "Last Modified" to occur AFTER the date. Should be before.
Props johnbillion, wonderboymusic.
Fixes #18641. 


git-svn-id: https://develop.svn.wordpress.org/trunk@34005 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 17:42:55 +00:00
Scott Taylor
755d109d10 Instead of [33713], allow WP_Posts_List_Table::get_bulk_actions() to check edit_posts AND delete_posts.
Props DeBAAT.
Fixes #29789.


git-svn-id: https://develop.svn.wordpress.org/trunk@33733 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:11:27 +00:00
Drew Jaynes
40ce8c68fe Docs: The type for the $t_time parameter in the post_date_column_time filter docs should be string, not array.
Props jjeaton
Fixes #33540.


git-svn-id: https://develop.svn.wordpress.org/trunk@33731 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 17:14:28 +00:00
Scott Taylor
9596ae0993 Posts List Table:
Don't show bulk actions if the user can't edit posts.

Props DrewAPicture.
Fixes #29789.


git-svn-id: https://develop.svn.wordpress.org/trunk@33713 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-23 16:27:44 +00:00
Drew Jaynes
e6466911d7 Docs: Add a changelog entry for the $post_type parameter added to the restrict_manage_posts hook in [33644].
Props pavelevap
Fixes #17891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33691 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-21 16:11:31 +00:00
Scott Taylor
695560bf58 In WP_Posts_List_Table::inline_edit(), check that $post_formats[0] is an array before traversing.
Props DrewAPicture.
Fixes #33025.



git-svn-id: https://develop.svn.wordpress.org/trunk@33667 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 20:18:35 +00:00
Scott Taylor
98de66207f Custom Post Types:
* Introduce `is_post_type_viewable( $post_type_object )`
* Separate the HTML bits from the translatable bits in the `post` messages array in `edit-form-advanced.php`
* Don't show certain UI pieces when a post is not viewable on the front end

When a custom post type item is not viewable on the front end, we don't want to show links to View it (on the front end) all over the admin. We also want to hide the Preview link, et al. We also want our admin messages to not contain said links.

Custom post types with `public_queryable` set to `false` are not viewable on the front end. 
`'page'` is viewable on the front end, but `'page'` is a `_builtin` type, and `public_queryable` is set to `false` when it is registered - see `WP::parse_request()` for when `public_queryable` gets used.

This is confusing, but also somewhat straightforward: to determine if a post type is viewable on the front end, we can check one way for `_builtin => true` and another way for `_builtin => false`:

`$post_type->publicly_queryable || ( $post_type->_builtin && $post_type->public )`

If a post type is `publicly_queryable`, it's viewable. If that value is `false`, it is viewable if it's a `_builtin` type that is also `public`.

I am in search of edge cases, so this shall land.

Props wonderboymusic, DrewAPicture.
See #17609.


git-svn-id: https://develop.svn.wordpress.org/trunk@33666 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 19:39:57 +00:00
Scott Taylor
5cbc7a706d The 'restrict_manage_posts' hook currently fires on the Post and Media list tables, but is passed zero arguments. Pass $post_type.
Props sunnyratilal, scribu.
Fixes #17891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33644 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-19 06:22:40 +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
f43e6e1d38 Add missing summaries, @access tags, and some parameter descriptions to methods added to WP_Posts_List_Table in 4.3.
See [32740]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33197 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 17:48:07 +00:00
Helen Hou-Sandi
41705c3e7c Ensure error messages look like, well, errors.
props obenland, rachelbaker.
fixes #32475.


git-svn-id: https://develop.svn.wordpress.org/trunk@33117 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-07 23:10:57 +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