Commit Graph

50 Commits

Author SHA1 Message Date
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
ec83cd08eb Docs: Improve documentation for WP_Dependencies, WP_Scripts, and WP_Styles methods.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47170 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-03 00:17:38 +00:00
John Blackbourn
3cdee7a705 Docs: Further improve documentation of known return types, plus other docs fixes.
See #48303


git-svn-id: https://develop.svn.wordpress.org/trunk@46661 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-05 21:25:53 +00:00
Sergey Biryukov
f8688bb43b Script Loader: Add function_exists() checks for is_admin() and current_theme_supports(), to accomodate for using WP_Dependencies as a standalone class.
Remove `<![CDATA[` when outputting HTML5 script tags. 

Props azaozz.
Fixes #42804.

git-svn-id: https://develop.svn.wordpress.org/trunk@46287 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-24 02:55:56 +00:00
Sergey Biryukov
150b301ac0 Script Loader: Move the current_theme_supports() check above the wp_default_(scripts|styles) action, for consistency.
See #42804.

git-svn-id: https://develop.svn.wordpress.org/trunk@46171 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-18 22:41:29 +00:00
Sergey Biryukov
88bf910518 Script Loader: Only check current theme's HTML5 support for scripts and styles on front end.
Avoids a fatal error in the admin if `SCRIPT_DEBUG` is disabled.

Props azaozz.
See #42804.

git-svn-id: https://develop.svn.wordpress.org/trunk@46170 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-18 22:33:45 +00:00
Sergey Biryukov
5fdf48c0ec Script Loader: Introduce HTML5 support for scripts and styles.
When a theme declares HTML5 support for script and styles via `add_theme_support( 'html5', array( 'script', 'style' ) )`, the `type="text/javascript"` and `type="text/css"` attributes are omitted.

These attributes are unnecessary in HTML5 and cause warnings in the W3C Markup Validation Service.

Props sasiddiqui, swissspidy, knutsp, SergeyBiryukov.
See #42804.

git-svn-id: https://develop.svn.wordpress.org/trunk@46164 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-18 14:49:30 +00:00
Gary Pendergast
4503f93961 Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.



git-svn-id: https://develop.svn.wordpress.org/trunk@45590 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-02 23:41:16 +00:00
Dominik Schilling (ocean90)
690b0cbf83 I18N/Script Loader: Support text domains other than "messages".
The inline JavaScript added by `WP_Scripts::print_translations()` should check whether `locale_data.$text_domain` exists and fall back to `locale_data.messages` otherwise.

Props swissspidy.
See #45441.

git-svn-id: https://develop.svn.wordpress.org/trunk@44403 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-06 16:22:46 +00:00
Dominik Schilling (ocean90)
8cf4e9ce6a I18N: Make domain argument optional in wp_set_script_translations() / WP_Scripts::set_translations().
Props swissspidy.
Fixes #45489.

git-svn-id: https://develop.svn.wordpress.org/trunk@44395 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-04 21:11:01 +00:00
Sergey Biryukov
a10598acd0 I18N: Set translations for all WordPress packages scripts.
Calls `wp_set_script_translations` for all packages scripts that have translations. Also correctly sets the domain on the translations.

Props omarreiss, pento, ocean90.
Merges [43878] to trunk.
Fixes #45161.

git-svn-id: https://develop.svn.wordpress.org/trunk@44239 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-16 22:23:34 +00:00
Gary Pendergast
8d897837aa I18N: Add JavaScript translation support.
Adds the `wp_set_script_translations()` function which registers translations for a JavaScript file. This function takes a handle, domain and optionally a path and ensures JavaScript translation files are loaded if they exist.

Merges [43825,43828,43859,43898] from the 5.0 branch to trunk.

Props herregroen, atimmer, omarreiss, nerrad, swissspidy, ocean90, georgestephanis.
Fixes #45103, #45256.



git-svn-id: https://develop.svn.wordpress.org/trunk@44169 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-14 05:51:31 +00:00
John Blackbourn
ecf24cd572 Docs: Improve inline documentation for WP_Scripts.
Props desrosj

See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@43583 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-27 14:33:35 +00:00
Sergey Biryukov
244f435e22 Script/Style Dependencies: Make sure that inline scripts for handles without a source are printed.
See [36550] for `WP_Styles`.

Props bpayton.
Fixes #44551.

git-svn-id: https://develop.svn.wordpress.org/trunk@43565 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-11 17:41:29 +00:00
Sergey Biryukov
b87cc1ceb9 Docs: Correct description for WP_Scripts::$default_version.
See #42505.

git-svn-id: https://develop.svn.wordpress.org/trunk@43563 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-11 15:08:23 +00:00
John Blackbourn
e207cdf2bb Docs: Document more parameters and properties using typed array notation.
See #41756


git-svn-id: https://develop.svn.wordpress.org/trunk@42876 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-25 19:32:24 +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
dd33fc9301 Docs: Remove & prefixes from parameter documentation to avoid doc parsing errors.
Props sudar for the original patch.

See #35974


git-svn-id: https://develop.svn.wordpress.org/trunk@41686 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-02 22:01:23 +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
Drew Jaynes
de87b6d828 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@40988 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-01 16:57:13 +00:00
Drew Jaynes
ea1ee4f313 Scripts: Correctly reference WP_Scripts::print_extra_script() as the replacement for the deprecated WP_Scripts::print_scripts_l10n() method, rather than a nonexistent global print_extra_script() function.
Props fergbrain.
See #41121.


git-svn-id: https://develop.svn.wordpress.org/trunk@40938 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-25 07:19:23 +00:00
Sergey Biryukov
920f29616a Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +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
Jeremy Felt
f98744ec86 Ensure consistent dependency order when using wp_add_inline_script()
This disables the concatenation of remaining enqueued scripts once `wp_add_inline_script()` is invoked, which allows us to reliably print these scripts and their before/after inline scripts in the desired order.

Props gitlost, azaozz, swisspidy, ocean90.
Fixes #36392.


git-svn-id: https://develop.svn.wordpress.org/trunk@37171 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-10 03:32:47 +00:00
Drew Jaynes
14a393beaf Docs: Add a missing DocBlock summary for the WP_Scripts->print_html_before property, added in [36633].
See #14853. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36917 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 02:26:00 +00:00
Dominik Schilling (ocean90)
00e87b40c8 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@36871 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-06 19:49:54 +00:00
Dominik Schilling (ocean90)
592da58d26 Docs: Improve inline docs for WP_Dependencies, WP_Styles, and WP_Scripts.
Also, make them and related files part of WordPress.

See #35964.

git-svn-id: https://develop.svn.wordpress.org/trunk@36744 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-27 20:33:57 +00:00
Dominik Schilling (ocean90)
02c6565269 Docs: Document properties of WP_Scripts and add missing @since tags.
See #35964.

git-svn-id: https://develop.svn.wordpress.org/trunk@36730 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-26 13:04:51 +00:00
Drew Jaynes
816a3e058c Docs: Standardize DocBlocks for two new WP_Scripts methods, add_inline_script() and print_inline_script(), introduced in [36633].
See #14853. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36706 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 05:10:46 +00:00
Pascal Birchler
0e13a57288 Script Loader: Introduce wp_add_inline_script().
This new function can be used to add inline JavaScript before and after enqueued scripts, just like `wp_add_inline_style()` works for CSS.

Props atimmer, abiralneupane, ocean90, swissspidy.
Fixes #14853.

git-svn-id: https://develop.svn.wordpress.org/trunk@36633 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 16:43:41 +00:00
Dominik Schilling (ocean90)
59747aa6b9 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@36550 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 17:10:53 +00:00
Drew Jaynes
d8aea7de83 Docs: Add missing DocBlocks, including summaries and @since versions, to the __construct() and init() methods in WP_Scripts.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35965 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 17:47:07 +00:00
Scott Taylor
79a907edf3 Scripts: in WP_Scripts::set_group(), the args prop of the _WP_Dependency instance defaults to null - check that it is set before comparing.
Props tivnet, chriscct7.
Fixes #25462.


git-svn-id: https://develop.svn.wordpress.org/trunk@34862 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 13:53:19 +00:00
Scott Taylor
ef6315a7a2 After [32656], add @access annotations to methods that have no doc block in wp-includes/*.
Makes it easier to search for no doc blocks via `}[\n\t\r ]+(protected|private|public)`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32657 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 21:36:38 +00:00
Scott Taylor
39ef6a72c5 Use void instead of null where appropriate when pipe-delimiting @return types. If a @return only contains void, remove it.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32568 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 05:39:47 +00:00
Scott Taylor
d174df13ae Add missing doc blocks to class.wp-(scripts|styles).php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32566 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 05:04:39 +00:00
Scott Taylor
fbdbba9e01 Revert [31030] and [31033]. Incidentally, there is no lazy-loading happening here anyway.
Pushing #26111 to future.


git-svn-id: https://develop.svn.wordpress.org/trunk@32124 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-14 15:12:49 +00:00
Andrew Ozz
f18854e866 Add support for IE conditional comments for WP_Scripts to match the functionality of WP_Styles, including unit tests. Props filosofo, aaroncampbell, ethitter, georgestephanis, valendesigns. Fixes #16024.
git-svn-id: https://develop.svn.wordpress.org/trunk@31223 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-17 01:36:55 +00:00
Scott Taylor
5412af65d8 Revert [31032], this did not get much love.
See #25277.


git-svn-id: https://develop.svn.wordpress.org/trunk@31189 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 01:10:39 +00:00
Scott Taylor
5db95f22d0 After [31030]: if a callable is passed as the 3rd arg to wp_localize_script()/WP_Scripts->localize(), pass $handle and $object_name to the user func when invoking it.
Props jtsternberg.
Fixes #26111.


git-svn-id: https://develop.svn.wordpress.org/trunk@31033 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-03 05:12:56 +00:00
Scott Taylor
c21e4f95ce Add the ability to print data *after* a script, whether it is concatenated or not:
* Add a third argument to `WP_Scripts->print_extra_script()`, `$key`, which will be passed to `->get_data()` (no longer passes hardcoded `'data'`)
* When `$key` is set to `'data-after'`, the inline script will be printed after the `<script>` tag. If the scripts are being concatenated, all scripts' `'data-after'` data will be printed after the concatenated `<script>` has been rendered.

Props hakre, wonderboymusic.
Fixes #25277.


git-svn-id: https://develop.svn.wordpress.org/trunk@31032 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-03 05:07:15 +00:00
Scott Taylor
c69dbc8b5a Allow the 3rd argument to wp_localize_script()/WP_Scripts->localize() to be a callable, allowing data to be lazy-loaded when the script is actually enqueued.
Props jtsternberg.
Fixes #26111.


git-svn-id: https://develop.svn.wordpress.org/trunk@31030 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-03 03:53:30 +00:00
Drew Jaynes (DrewAPicture)
7187da0b32 Convert various uses of (optional) in core parameter descriptions to use the style prescribed in the inline documentation standards for PHP.
The style for marking parameters optional in inline PHP docs is: `@param type $var Optional. Description. Accepts. Default.`, where Accepts can be omitted on a case-by-case basis.

Props coffee2code.
Fixes #30591.


git-svn-id: https://develop.svn.wordpress.org/trunk@30753 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-06 21:23:52 +00:00
John Blackbourn
642f9cc7e7 Apply a filter to the <script> tag for enqueued scripts in the same way a filter is applied to the <link> tag for enqueued styles.
Fixes #13592
Props quietnic, MikeHansenMe


git-svn-id: https://develop.svn.wordpress.org/trunk@30403 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-20 05:17:42 +00:00
Gary Pendergast
0e68ecc0b6 Add wp_json_encode(), a wrapper for json_encode() that ensures everything is converted to UTF-8.
Change all core calls from `json_encode()` to `wp_json_encode()`.

Fixes #28786.



git-svn-id: https://develop.svn.wordpress.org/trunk@30055 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 18:34:16 +00:00
Scott Taylor
0a3e448168 WP_Scripts->in_default_dir() should use the WPINC constant
Props wojtek.szkutnik
See #14157.


git-svn-id: https://develop.svn.wordpress.org/trunk@28907 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-29 22:22:16 +00:00
Scott Taylor
ce917f0bc4 Add missing access modifiers to methods in WP_Scripts and WP_Styles.
See #27881, #22234.


git-svn-id: https://develop.svn.wordpress.org/trunk@28518 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-19 06:16:39 +00:00
Drew Jaynes (DrewAPicture)
b66192abce Inline documentation for hooks in wp-includes/class.wp-scripts.php.
Props kpdesign for a wording switcheroo.
Fixes #27518.


git-svn-id: https://develop.svn.wordpress.org/trunk@27731 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 05:47:16 +00:00
Andrew Nacin
42260988ba If the script_loader_src filter returns nothing, bail instead of printing <script src="">.
props niallkennedy.
fixes #22470.


git-svn-id: https://develop.svn.wordpress.org/trunk@25465 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-16 22:11:12 +00:00
Andrew Nacin
b43712e0f7 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.



git-svn-id: https://develop.svn.wordpress.org/trunk@25001 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 05:25:25 +00:00