Commit Graph

55 Commits

Author SHA1 Message Date
audrasjb
153e27f625 Coding Standards: Replace else if with elseif after [52338].
Follow-up to [52338].

Built from https://develop.svn.wordpress.org/trunk@52339


git-svn-id: http://core.svn.wordpress.org/trunk@51931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-12-07 17:49:01 +00:00
audrasjb
cdafa716f7 Script Loader: Allow for wp_register_script() to be called after wp_enqueue_script().
When a plugin registers styles/scripts on `wp_enqueue_scripts` (as plugin authors are encouraged to do), and conditionally enqueues their script/style on `the_content` filter, things "just work". In block themes, `the_content` is run prior to the header being processed, which results in the above scenario failing.

This change makes a `wp_enqueue_script( 'example' ); wp_register_script( 'example' );` work, where as currently the enqueue silently fails (no "doing it wrong" message) and the following register has no impact. Scripts can therefore be enqueued and dequeued (by "handle") before they are registered.

Fixes #54529.

Built from https://develop.svn.wordpress.org/trunk@52338


git-svn-id: http://core.svn.wordpress.org/trunk@51930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-12-07 17:46:01 +00:00
John Blackbourn
6e1cc35a98 Docs: Miscellaneous docblock corrections and improvements.
See #52217, #53399

Built from https://develop.svn.wordpress.org/trunk@51851


git-svn-id: http://core.svn.wordpress.org/trunk@51450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-22 21:23:00 +00:00
Sergey Biryukov
bf3296a9a0 Script Loader: Add the $group parameter to WP_Dependencies::do_item().
Previously, the method was called with two parameters in `::do_items()`, while the method signature only included one parameter.

Technically, this was not an issue as `WP_Dependencies::do_item()` is a placeholder meant to be overwritten when extending the class. When handling scripts, `WP_Dependencies` is extended with `WP_Scripts`, and the `$group` parameter was only used in `WP_Scripts::do_item()`, which does expect a second argument.

However, officially adding the parameter to `WP_Dependencies::do_item()` signature prevents code misunderstanding and avoids a warning in PHP code inspection tools.

Props kaggdesign, soulseekah, azaozz, SergeyBiryukov.
Fixes #43627.
Built from https://develop.svn.wordpress.org/trunk@47769


git-svn-id: http://core.svn.wordpress.org/trunk@47545 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-06 16:27:12 +00:00
Sergey Biryukov
55482506a3 Docs: Revert a type change for the $value parameter of WP_Dependencies::add_data() in [47170].
Although described as a string in several places, it's technically not limited to a particular type.

Props westonruter.
See #48303.
Built from https://develop.svn.wordpress.org/trunk@47502


git-svn-id: http://core.svn.wordpress.org/trunk@47277 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-03-24 20:56:09 +00:00
Sergey Biryukov
67a6527d51 Script Loader: Improve performance of wp_script_is() for scripts registered with complex dependencies.
This switches `WP_Dependencies::recurse_deps()` from recursively checking the same handles over and over again to keep a flattened array of queued items and their dependencies for faster lookup in `WP_Dependencies::query()`.

Props superdav42.
Fixes #46469.
Built from https://develop.svn.wordpress.org/trunk@47359


git-svn-id: http://core.svn.wordpress.org/trunk@47146 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-25 13:42:05 +00:00
Sergey Biryukov
c289bb59ac Docs: Improve documentation for WP_Dependencies, WP_Scripts, and WP_Styles methods.
See #48303.
Built from https://develop.svn.wordpress.org/trunk@47170


git-svn-id: http://core.svn.wordpress.org/trunk@46970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-03 00:19:03 +00:00
Sergey Biryukov
001ffe81fb Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.
Built from https://develop.svn.wordpress.org/trunk@47122


git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
John Blackbourn
9ac1d82f23 Docs: Further improve documentation of known return types, plus other docs fixes.
See #48303

Built from https://develop.svn.wordpress.org/trunk@46661


git-svn-id: http://core.svn.wordpress.org/trunk@46461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-05 21:27:02 +00:00
Gary Pendergast
4803fc405e Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.


Built from https://develop.svn.wordpress.org/trunk@45590


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Sergey Biryukov
0d05b99e1b Docs: Document that the $src parameter of WP_Dependencies::add() can be boolean.
Props dimadin.
Fixes #45009.
Built from https://develop.svn.wordpress.org/trunk@43661


git-svn-id: http://core.svn.wordpress.org/trunk@43490 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-28 21:51:24 +00:00
John Blackbourn
2361ca884f Docs: Document more parameters and properties using typed array notation.
See #41756

Built from https://develop.svn.wordpress.org/trunk@42876


git-svn-id: http://core.svn.wordpress.org/trunk@42706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:33:31 +00:00
Gary Pendergast
aaf99e6913 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.


Built from https://develop.svn.wordpress.org/trunk@42343


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Drew Jaynes
0860bb2771 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.

Built from https://develop.svn.wordpress.org/trunk@41162


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Drew Jaynes
1d95dcfa2c Docs: Remove superfluous @package WordPress and @subpackage notations used outside of file headers in a variety of core files.
Per the inline documentation standards for PHP, there should only be one `@package` and/or `@subpackage` notation per file, and only in the file header.

See #41017.

Built from https://develop.svn.wordpress.org/trunk@40988


git-svn-id: http://core.svn.wordpress.org/trunk@40838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-01 16:58:42 +00:00
Scott Taylor
b2c394a330 Script Loader: move _WP_Dependency into its own file.
See #37827.

Built from https://develop.svn.wordpress.org/trunk@38375


git-svn-id: http://core.svn.wordpress.org/trunk@38316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:06:39 +00:00
John Blackbourn
2cee8966ab Docs: Re-add a @param that went missing in [36993].
See #32246

Built from https://develop.svn.wordpress.org/trunk@36994


git-svn-id: http://core.svn.wordpress.org/trunk@36961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 22:39:26 +00:00
John Blackbourn
7ecfdc69b7 Docs: Improvements and corrections for the $ver parameter of the dependencies API functions.
See #32246

Built from https://develop.svn.wordpress.org/trunk@36993


git-svn-id: http://core.svn.wordpress.org/trunk@36960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 22:37:26 +00:00
Dominik Schilling
f4ef187c2c Dependencies: Improve group processing of script dependencies.
This is a follow-up to [36604].

When processing dependencies `$this->group` will be the minimum of the script's registered group and all preceding siblings. This is wrong because only a scripts ancestors in the dependency chain should affect where it is loaded. Effectively `$this->group` introduced a form of global state which potentially corrupted the group of dependencies. Sorting covers up this problem.
The issue in #35873 was that script were not moving their dependencies to a lower group when necessary.

The fix:
* In `WP_Dependencies::all_deps()` pass the new `$group` value to `WP_Dependencies::all_deps()`. Previously the wrong value was passed because the parent script could have moved with `WP_Scripts::set_group()`.
* In `WP_Scripts::all_deps()` pass the `$group` parameter to `WP_Dependencies::all_deps()` so it doesn't always use `false` for `$group`. Same for `WP_Styles::all_deps()`.

Props stephenharris, gitlost.
Fixes #35956.
Built from https://develop.svn.wordpress.org/trunk@36871


git-svn-id: http://core.svn.wordpress.org/trunk@36838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-06 19:50:27 +00:00
Dominik Schilling
820c9e2fca Docs: Improve inline docs for WP_Dependencies, WP_Styles, and WP_Scripts.
Also, make them and related files part of WordPress.

See #35964.
Built from https://develop.svn.wordpress.org/trunk@36744


git-svn-id: http://core.svn.wordpress.org/trunk@36711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-27 20:34:29 +00:00
Dominik Schilling
a09799fa40 Docs: In WP_Dependencies add a changelog entry for the $group parameter.
See #35964.
Built from https://develop.svn.wordpress.org/trunk@36732


git-svn-id: http://core.svn.wordpress.org/trunk@36699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 13:50:25 +00:00
Dominik Schilling
c8923e5710 Docs: In WP_Dependencies add a changelog entry to methods which were moved from WP_Scripts to WP_Dependencies.
See #35964.
Built from https://develop.svn.wordpress.org/trunk@36731


git-svn-id: http://core.svn.wordpress.org/trunk@36698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 13:23:25 +00:00
John Blackbourn
cfc503e921 Docs: Correct the possible return types for WP_Dependencies::query().
See #32246

Built from https://develop.svn.wordpress.org/trunk@36713


git-svn-id: http://core.svn.wordpress.org/trunk@36680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 21:26:26 +00:00
Dominik Schilling
826e2d8ea1 Script Loader: Fix missing script output when the groups of dependencies are different.
Aka: Don't lose the grandchild.

Props gitlost, ocean90.
Fixes #35873.
Built from https://develop.svn.wordpress.org/trunk@36604


git-svn-id: http://core.svn.wordpress.org/trunk@36571 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-20 22:11:25 +00:00
Dominik Schilling
bc5d22266d Script/Style Dependencies: Make sure that inline styles for handles without a source are printed.
This prevents breaking plugins which are adding inline styles to the `wp-admin` handle after [36341].

Props dd32, ocean90.
Fixes #35229.
Built from https://develop.svn.wordpress.org/trunk@36550


git-svn-id: http://core.svn.wordpress.org/trunk@36517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 17:11:26 +00:00
Scott Taylor
ef87172270 foreach is a statement, not a function.
See #33491.

Built from https://develop.svn.wordpress.org/trunk@33734


git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Scott Taylor
a0e373ef80 For doc block types, favor bool over the few remaining booleans
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32964


git-svn-id: http://core.svn.wordpress.org/trunk@32935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:03:25 +00:00
John Blackbourn
987716720f Add a return value to wp_register_script() and wp_register_style() which matches the return value of WP_Dependencies::add().
Props katzwebdesign, pareshradadiya, DrewAPicture.

Fixes #31126

Built from https://develop.svn.wordpress.org/trunk@32483


git-svn-id: http://core.svn.wordpress.org/trunk@32453 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-10 19:57:25 +00:00
Drew Jaynes
273396fe1e Ensure inline code is markdown-escaped as such, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escapes a `<link>` tag in a parameter description for the `embed_oembed_discover` hook
* Inline code fixes in the summary and return description for `WP_List_Table::get_table_classes()`
* Removes HTML markup from the summary for `WP_List_Table::display_rows_or_placeholder()`
* Backtick-escapes a `<tr>` tag in a parameter description for `WP_Users_List_Table::single_row()`
* Converts non-DocBlocks into multi-line comments in `WP_Dependencies::do_items()`
* Removes HTML markup from the summary for the `comment_form_top` hook.
* Inline code and snippet fixes in the description for `wp_get_schedules()`

Props rarst for the initial patch.
See #30473.

Built from https://develop.svn.wordpress.org/trunk@30537


git-svn-id: http://core.svn.wordpress.org/trunk@30526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 04:58:22 +00:00
Scott Taylor
0d387bf76e WP_Dependencies->recurse_deps(): tuck the recursion into elseif so the foreach doesn't break on the first item.
See [29252].

Built from https://develop.svn.wordpress.org/trunk@29253


git-svn-id: http://core.svn.wordpress.org/trunk@29036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-20 00:34:15 +00:00
Scott Taylor
f93abf2bea wp_script_is( ..., 'enqueued' ) needs to check dependencies recursively - a single item's dependencies may only be a subset of the full dependency tree. Adds a new method on WP_Dependencies called ->recurse_deps().
Adds unit test.

Props wonderboymusic, SergeyBiryukov, mikejolley.
Fixes #28404.

Built from https://develop.svn.wordpress.org/trunk@29252


git-svn-id: http://core.svn.wordpress.org/trunk@29035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-20 00:29:16 +00:00
Scott Taylor
f998ac39d3 Add missing access modifiers to methods in WP_Dependencies and _WP_Dependency.
See #27881, #22234.

Built from https://develop.svn.wordpress.org/trunk@28517


git-svn-id: http://core.svn.wordpress.org/trunk@28343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 06:14:14 +00:00
Drew Jaynes
16f0d8b1ea Inline documentation for WP_Dependencies and _WP_Dependency classes.
Props kitchin for the initial patch.
Fixes #23914.

Built from https://develop.svn.wordpress.org/trunk@25524


git-svn-id: http://core.svn.wordpress.org/trunk@25444 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 19:54:10 +00:00
Drew Jaynes
9151227edf Inline documentation for _WP_Dependency class properties.
See #23914.

Built from https://develop.svn.wordpress.org/trunk@25518


git-svn-id: http://core.svn.wordpress.org/trunk@25438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 17:46:09 +00:00
Drew Jaynes
cee2a3e227 Inline documentation for WP_Dependencies class properties.
See #23914.

Built from https://develop.svn.wordpress.org/trunk@25517


git-svn-id: http://core.svn.wordpress.org/trunk@25437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 17:44:17 +00:00
Ryan Boren
02d584b4c7 Revert [21420] and [21481]. Accepting a string caused back compat problems including the possibility of revealing previously hidden circular dependencies resulting in infinite loops.
fixes #20683 #22111
see #21520


git-svn-id: http://core.svn.wordpress.org/trunk@22286 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-23 20:32:12 +00:00
Andrew Nacin
e03bb0d1ac Have wp_script_is() and wp_style_is() accept 'enqueued', as it reads better than 'queue' and is consistent with 'registered'. fixes #21741.
git-svn-id: http://core.svn.wordpress.org/trunk@21672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-30 18:57:57 +00:00
azaozz
cbc9aabfa4 When WP_Dependencies accept a string for a single dependency, make sure the string is not empty, see #20683
git-svn-id: http://core.svn.wordpress.org/trunk@21481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-08 17:21:24 +00:00
markjaquith
eedce37675 Let WP_Dependencies accept a string for a single dependency instead of requiring an array wrapper. props vhauri. fixes #20683
git-svn-id: http://core.svn.wordpress.org/trunk@21420 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-04 17:59:55 +00:00
ryan
07ff8b216b Use one space, not two, after trailing punctuation. fixes #19537
git-svn-id: http://svn.automattic.com/wordpress/trunk@19593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-13 23:45:31 +00:00
azaozz
23b9d7759a Introduce WP_Dependencies::get_data() method, change scripts and styles priority to follow the "natural" order in HTML, i.e. the last one wins, props scribu, see #11520
git-svn-id: http://svn.automattic.com/wordpress/trunk@18480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-28 18:24:00 +00:00
azaozz
23f490bb02 Support for using wp_enqueue_script() and wp_enqueue_style() in the HTML body. All scripts and styles are added in the footer, fixes #9346
git-svn-id: http://svn.automattic.com/wordpress/trunk@18446 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-21 16:32:01 +00:00
ryan
04487fc268 Constructor cleanup. Props ocean90. fixes #16768
git-svn-id: http://svn.automattic.com/wordpress/trunk@17771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-29 20:05:12 +00:00
ryan
b60c345536 Remove PHP4 constructors. Props hakre. see #16768
git-svn-id: http://svn.automattic.com/wordpress/trunk@17604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-05 17:25:08 +00:00
nacin
b8ce0261df More param fixes, props duck_. see #14783.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-18 19:12:48 +00:00
ryan
2d360ad164 Revert [15637]. Still needed for PHP4.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-20 19:17:47 +00:00
ryan
bef67a04e2 Remove annoying, useless construcotrs. Props Rasmus. http://talks.php.net/show/confoo10/8
git-svn-id: http://svn.automattic.com/wordpress/trunk@15637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-20 18:53:03 +00:00
azaozz
7b40c7a03f WP_Dependencies: pass NULL to disable script and style version query strings, props scribu amattie, fixes #11315
git-svn-id: http://svn.automattic.com/wordpress/trunk@12558 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-28 00:48:20 +00:00
azaozz
a9f80b1937 Bring WP_Dependencies::dequeue() in line with WP_Dependencies::enqueue(), props chrisbliss18, fixes #9870
git-svn-id: http://svn.automattic.com/wordpress/trunk@12049 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-10-18 05:51:30 +00:00
ryan
2df887bd07 Trim tailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@11450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-05-24 23:47:49 +00:00