Commit Graph

30 Commits

Author SHA1 Message Date
Tonya Mork
e96aa67fe1 Code Modernization: Fix reserved keyword and parameter name mismatches for parent/child classes in Walker::end_el().
In the parent class, renames the parameter `$object` to `$data_object`.
Why? `object` is a PHP reserved keyword. The parameter name is selected for consistency with `Walker::start_el()`.

In each child class: renames the parameter to match the parent's method signature.
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.

Changes for readability:

- `@since` clearly specifies the original parameter name and its new name as well as why the change happened.

Follow-up to [7737], [8900], [8970], [14248], [16100], [25642], [25644], [37051], [37056].

Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.

git-svn-id: https://develop.svn.wordpress.org/trunk@51780 602fd350-edb4-49c9-b593-d223f7449a82
2021-09-09 13:02:46 +00:00
Tonya Mork
47a3b90231 Code Modernization: Fix last parameter name mismatches for parent/child classes in Walker::start_el().
The parent class uses `$current_object_id` while most of the child classes use `$id`. As the parent class' is more descriptive, renaming the last parameter in each of 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.

Changes 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.

- In cases where the original parameter name was too generic or misleading, renamed (when reassigning) to a more descriptive name for use within the method.

Follow-up to [7737], [8900], [8970], [14248], [15077], [16100], [25642], [25644], [37051], [37054], [37056], [46271], [47189], [51739].

Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.

git-svn-id: https://develop.svn.wordpress.org/trunk@51779 602fd350-edb4-49c9-b593-d223f7449a82
2021-09-09 12:38:36 +00:00
Tonya Mork
4f4c3443d7 Code Modernization: Fix reserved keyword and parameter name mismatches for parent/child classes in Walker::start_el().
In the parent class, renames the parameter `$object` to `$data_object`.

Why? `object` is a PHP reserved keyword.

In each child class: renames the corresponding parameter to match the parent's method signature.

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.

Changes 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.

- in cases where the original parameter name was too generic, renamed (when reassigning) to a more descriptive name for use within the method.

Follow-up to [7737], [8900], [8970], [14248], [15077], [16100], [25642], [25644], [37051], [37054], [37056], [46271], [47189].

Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.

git-svn-id: https://develop.svn.wordpress.org/trunk@51739 602fd350-edb4-49c9-b593-d223f7449a82
2021-09-08 15:35:32 +00:00
Sergey Biryukov
524f2b1f23 Docs: Correct the aria-current array key in the documentation for two widget filters.
This applies to `nav_menu_link_attributes` and `page_menu_link_attributes` filters.

Follow-up to [42808], [44416].

Props jnylen0, chetan200891, alexstine.
See #43522, #52628.

git-svn-id: https://develop.svn.wordpress.org/trunk@50823 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-07 09:45:40 +00:00
Sergey Biryukov
6742d0d7a6 Coding Standards: Use strict comparison where static strings are involved.
This reduces the number of `WordPress.PHP.StrictComparisons.LooseComparison` issues in half, from 1897 to 890.

Includes minor code layout fixes for better readability.

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@47808 602fd350-edb4-49c9-b593-d223f7449a82
2020-05-16 18:40:52 +00:00
Sergey Biryukov
d8c502e966 Coding Standards: Use strict type check for in_array() and array_search().
This addresses all the remaining `WordPress.PHP.StrictInArray.MissingTrueStrict` issues in core.

Includes minor code layout fixes for better readability.

Follow-up to [47550].

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@47557 602fd350-edb4-49c9-b593-d223f7449a82
2020-04-09 15:41:04 +00:00
Sergey Biryukov
130751cda3 Coding Standards: Use Yoda conditions where appropriate.
See #49222.

git-svn-id: https://develop.svn.wordpress.org/trunk@47219 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-09 16:52:28 +00:00
Sergey Biryukov
f6267a04ee Menus: In Walker_Nav_Menu, Walker_Category, and Walker_Page, properly output link attributes having a legitimate "empty" value, for example an HTML data attribute with a value of zero (0).
Props nevma, AkSDvP, greenshady, SergeyBiryukov.
Fixes #47720.

git-svn-id: https://develop.svn.wordpress.org/trunk@46413 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-06 15:04:18 +00:00
Sergey Biryukov
00b03f2a6f I18N: Capitalize translator comments consistently, add trailing punctuation.
Includes minor code layout fixes.

See #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45932 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-03 00:39:13 +00:00
Sergey Biryukov
64681631f1 Menus: Use esc_url() for the href value of page link attributes in Walker_Page::start_el(), for consistency with Walker_Nav_Menu and Walker_Category.
See #40666, #40359.

git-svn-id: https://develop.svn.wordpress.org/trunk@44958 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 10:44:21 +00:00
Sergey Biryukov
cc400e9099 Accessibility: Themes: use aria-current for the Walker_Page current link.
See [42808] for `Walker_Nav_Menu`.

The `aria-current` attribute is a simple, effective way to help assistive
technologies users orientate themselves within a list of items. Continues the 
introduction in core of `aria-current` after [42440], [41683], [41359], and [41371].

Props chetan200891, wpzinc.
Fixes #43522.

git-svn-id: https://develop.svn.wordpress.org/trunk@44416 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-07 13:35:56 +00:00
Sergey Biryukov
e1e3467c5e Pages, Post Types: Escape CSS classes in Walker_Page::start_el() after the page_css_class filter runs.
Don't add an empty `class` attribute if there are no classes, for consistency with `Walker_Nav_Menu::start_el()`.

Props abhijitrakas, mukesh27.
Fixes #44880.

git-svn-id: https://develop.svn.wordpress.org/trunk@44415 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-07 12:53:22 +00:00
John Blackbourn
d541798a64 Docs: Document more parameters and properties using typed array notation.
See #41756


git-svn-id: https://develop.svn.wordpress.org/trunk@42875 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-25 18:09:56 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
John Blackbourn
19c0a55711 Docs: Standardise the format used for documenting parameters passed by reference.
See #35974, #41017


git-svn-id: https://develop.svn.wordpress.org/trunk@41688 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-02 22:13:04 +00:00
Drew Jaynes
b4d81bd654 Docs: Remove @access notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.


git-svn-id: https://develop.svn.wordpress.org/trunk@41162 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 00:40:27 +00:00
Sergey Biryukov
9e07667864 Menus: Introduce page_menu_link_attributes filter in Walker_Page::start_el() for the HTML attributes applied to a page menu item's anchor element.
This complements the `nav_menu_link_attributes` filter used in `Walker_Nav_Menu::start_el()`.

Props pbiron.
Fixes #40359.

git-svn-id: https://develop.svn.wordpress.org/trunk@40565 602fd350-edb4-49c9-b593-d223f7449a82
2017-05-01 23:31:16 +00:00
Peter Wilson
6de7c69c0d Menus: Prevent notice thrown in class-walker-page.php.
Calling `Walker_Page::walk()` directly was causing an `Undefined index: item_spacing` notice to be thrown, this adds an `isset()` check to prevent it.

Props bhargavbhandari90.
Fixes #39564.


git-svn-id: https://develop.svn.wordpress.org/trunk@39949 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-24 23:28:13 +00:00
Drew Jaynes
297076eda4 Docs: Fix multiple trivial typos throughout a variety of core files.
Props ottok.
Fixes #38489.


git-svn-id: https://develop.svn.wordpress.org/trunk@39051 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-31 06:27:53 +00:00
Peter Wilson
0c88ec217d Menus: Add white space option to wp_nav_menu() and wp_list_pages().
Adds an `item_spacing` option to the arguments array for the functions `wp_nav_menu()`, `wp_list_pages()`, and `wp_page_menu()`. `item_spacing` is a boolean accepting either `preserve` or `discard`.

Previously, certain CSS choices could result in a site's layout changing if `wp_nav_menu()` fell back to the default `wp_list_pages()` due to differences in the whitespace within the HTML. The new argument ensures a function outputs consistant HTML while maintaining backward compatibility.

Fixes #35206.


git-svn-id: https://develop.svn.wordpress.org/trunk@38523 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-06 09:05:45 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Drew Jaynes
bcc058d02d Docs: Mark optional method parameters as such in Walker_Page.
Also normalizes parameter spacing following [37056].

Fixes #36300.


git-svn-id: https://develop.svn.wordpress.org/trunk@37057 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-22 18:06:58 +00:00
Drew Jaynes
b44910599c Docs: The page object type in use in Walker_Page is WP_Post.
See #36300.


git-svn-id: https://develop.svn.wordpress.org/trunk@37056 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-22 18:04:06 +00:00
Drew Jaynes
c7d05cff99 Docs: Improve inline documentation for properties and methods in Walker_Page.
Props raimy.
See #36300.


git-svn-id: https://develop.svn.wordpress.org/trunk@37055 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-22 18:03:07 +00:00
Dominik Schilling (ocean90)
9d45966095 Docs: Move the hook doc for the the_title filter in Walker_Page::start_el() to directly precede the apply_filters() line.
See #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@36175 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-05 16:34:25 +00:00
John Blackbourn
a6556195d8 Docs: Miscellaneous docblock corrections.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@36069 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-23 06:30:09 +00:00
Drew Jaynes
b3f7fd1741 Docs: Add more complete property and method documentation for Walker_Page.
* Adds missing DocBlock summaries
* Adds missing `@param` descriptions
* Marks some optional parameters as such
* Reorders some DocBlock tags

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35929 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 18:05:06 +00:00
Drew Jaynes
44006ff6a2 Docs: Actually, the subpackage for Walker_Page should be Template.
See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34441 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 15:08:10 +00:00
Drew Jaynes
ac613406d7 Docs: Clarify the file header summary for wp-includes/class-walker-page.php, introduced in [34109].
Also clarifies the class DocBlock summary for `Walker_Page`.

See #33413. See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34414 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 13:53:44 +00:00
Scott Taylor
1ccae571d9 Move Walker_Page and Walker_PageDropdown into their own files via svn cp. Remove them from post-template.php. Load them in post.php.
`post-template.php` loads after `post.php` in `wp-settings.php`. It could probably also be loaded in `post.php`, but avoiding that for the moment.

See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@34109 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:58:40 +00:00