diff --git a/composer.json b/composer.json index 8b1ffdaea7..3867dc19aa 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,6 @@ "php": ">=7.2.5" }, "require-dev": { - "phpdocumentor/phpdocumentor": "v3.0.0-rc" + "phpdocumentor/phpdocumentor": "dev-master" } } diff --git a/composer.lock b/composer.lock index 33ac3c96aa..ec6cde91ba 100644 --- a/composer.lock +++ b/composer.lock @@ -4,21 +4,21 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d933c06d350566d425d48f231097c053", + "content-hash": "7969cb9e2e8f06df7f96ab93eed18854", "packages": [], "packages-dev": [ { "name": "composer/package-versions-deprecated", - "version": "1.10.99.1", + "version": "1.11.99", "source": { "type": "git", "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "68c9b502036e820c33445ff4d174327f6bb87486" + "reference": "c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/68c9b502036e820c33445ff4d174327f6bb87486", - "reference": "68c9b502036e820c33445ff4d174327f6bb87486", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855", + "reference": "c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855", "shasum": "" }, "require": { @@ -26,7 +26,7 @@ "php": "^7 || ^8" }, "replace": { - "ocramius/package-versions": "1.10.99" + "ocramius/package-versions": "1.11.99" }, "require-dev": { "composer/composer": "^1.9.3 || ^2.0@dev", @@ -74,7 +74,7 @@ "type": "tidelift" } ], - "time": "2020-08-13T12:55:41+00:00" + "time": "2020-08-25T05:50:16+00:00" }, { "name": "doctrine/event-manager", @@ -277,16 +277,16 @@ }, { "name": "jawira/plantuml", - "version": "v1.40.0", + "version": "v1.42.0", "source": { "type": "git", "url": "https://github.com/jawira/plantuml.git", - "reference": "6683bfdfbe2fe1115677734e9df877b4741c6d95" + "reference": "e74b1b3c528b3a7da46e19feee109a6e7b75e73a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jawira/plantuml/zipball/6683bfdfbe2fe1115677734e9df877b4741c6d95", - "reference": "6683bfdfbe2fe1115677734e9df877b4741c6d95", + "url": "https://api.github.com/repos/jawira/plantuml/zipball/e74b1b3c528b3a7da46e19feee109a6e7b75e73a", + "reference": "e74b1b3c528b3a7da46e19feee109a6e7b75e73a", "shasum": "" }, "suggest": { @@ -313,28 +313,28 @@ "plantuml.jar", "uml" ], - "time": "2020-07-05T02:06:00+00:00" + "time": "2020-09-20T02:05:57+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9" + "reference": "a917488320c20057da87f67d0d40543dd9427f7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/e9f4324e88b8664be386d90cf60fbc202e1f7fc9", - "reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/a917488320c20057da87f67d0d40543dd9427f7a", + "reference": "a917488320c20057da87f67d0d40543dd9427f7a", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.8.0", - "php": "^7.0" + "php": "^7.0|^8.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^6.0|^8.5|^9.2" }, "type": "library", "extra": { @@ -364,20 +364,20 @@ "release", "versions" ], - "time": "2020-06-23T06:23:06+00:00" + "time": "2020-09-14T08:43:34+00:00" }, { "name": "league/flysystem", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "63cd8c14708b9544d3f61d3c15b747fda1c95c6e" + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/63cd8c14708b9544d3f61d3c15b747fda1c95c6e", - "reference": "63cd8c14708b9544d3f61d3c15b747fda1c95c6e", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", "shasum": "" }, "require": { @@ -455,20 +455,20 @@ "type": "other" } ], - "time": "2020-08-18T10:57:55+00:00" + "time": "2020-08-23T07:39:11+00:00" }, { "name": "league/mime-type-detection", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "fda190b62b962d96a069fcc414d781db66d65b69" + "reference": "ea2fbfc988bade315acd5967e6d02274086d0f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/fda190b62b962d96a069fcc414d781db66d65b69", - "reference": "fda190b62b962d96a069fcc414d781db66d65b69", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ea2fbfc988bade315acd5967e6d02274086d0f28", + "reference": "ea2fbfc988bade315acd5967e6d02274086d0f28", "shasum": "" }, "require": { @@ -506,7 +506,7 @@ "type": "tidelift" } ], - "time": "2020-08-09T10:34:01+00:00" + "time": "2020-09-21T18:10:53+00:00" }, { "name": "league/pipeline", @@ -799,16 +799,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.9.0", + "version": "v4.10.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "aaee038b912e567780949787d5fe1977be11a778" + "reference": "1b479e7592812411c20c34d9ed33db3957bde66e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/aaee038b912e567780949787d5fe1977be11a778", - "reference": "aaee038b912e567780949787d5fe1977be11a778", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1b479e7592812411c20c34d9ed33db3957bde66e", + "reference": "1b479e7592812411c20c34d9ed33db3957bde66e", "shasum": "" }, "require": { @@ -847,7 +847,7 @@ "parser", "php" ], - "time": "2020-08-18T19:48:01+00:00" + "time": "2020-09-23T18:23:49+00:00" }, { "name": "phpdocumentor/flyfinder", @@ -946,16 +946,16 @@ }, { "name": "phpdocumentor/phpdocumentor", - "version": "v3.0.0-rc", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/phpDocumentor/phpDocumentor.git", - "reference": "49350fa5978084c61fad2d72a4ab5049b7576e7e" + "reference": "b90efb71bf6113df22a8c2270dc8c7a14dbb7d59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/49350fa5978084c61fad2d72a4ab5049b7576e7e", - "reference": "49350fa5978084c61fad2d72a4ab5049b7576e7e", + "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/b90efb71bf6113df22a8c2270dc8c7a14dbb7d59", + "reference": "b90efb71bf6113df22a8c2270dc8c7a14dbb7d59", "shasum": "" }, "require": { @@ -975,9 +975,8 @@ "league/pipeline": "^1.0", "league/uri": "^6.0", "league/uri-interfaces": "^2.0", - "ocramius/package-versions": "^1.4", "php": ">=7.2.5", - "phpdocumentor/flyfinder": "^1.0@beta", + "phpdocumentor/flyfinder": "^1.0", "phpdocumentor/graphviz": "^2.0@dev", "phpdocumentor/reflection": "^4.0", "phpdocumentor/reflection-common": "^2.0", @@ -999,7 +998,8 @@ "symfony/finder": "5.0.*", "symfony/flex": "^1.3.1", "symfony/framework-bundle": "^5.0", - "symfony/http-kernel": "^5.0", + "symfony/http-foundation": "^5.0.7", + "symfony/http-kernel": "^5.0.8", "symfony/monolog-bundle": "^3.0", "symfony/process": "5.0.*", "symfony/routing": "^5.0", @@ -1025,10 +1025,6 @@ "mikey179/vfsstream": "^1.2", "mockery/mockery": "^1.0" }, - "suggest": { - "ext-ctype": "For best performance", - "ext-twig": "Enabling the twig extension improves the generation of twig based templates." - }, "bin": [ "bin/phpdoc.php", "bin/phpdoc" @@ -1056,7 +1052,7 @@ "MIT" ], "description": "Documentation Generator for PHP", - "homepage": "http://www.phpdoc.org", + "homepage": "https://www.phpdoc.org", "keywords": [ "api", "application", @@ -1064,7 +1060,7 @@ "documentation", "phpdoc" ], - "time": "2020-02-09T10:44:03+00:00" + "time": "2020-09-20T08:39:51+00:00" }, { "name": "phpdocumentor/reflection", @@ -1169,16 +1165,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.1", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d870572532cd70bc3fab58f2e23ad423c8404c44" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d870572532cd70bc3fab58f2e23ad423c8404c44", - "reference": "d870572532cd70bc3fab58f2e23ad423c8404c44", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { @@ -1217,20 +1213,20 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-08-15T11:14:08+00:00" + "time": "2020-09-03T19:13:55+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e878a14a65245fbe78f8080eba03b47c3b705651" + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e878a14a65245fbe78f8080eba03b47c3b705651", - "reference": "e878a14a65245fbe78f8080eba03b47c3b705651", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { @@ -1262,7 +1258,7 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-06-27T10:12:23+00:00" + "time": "2020-09-17T18:55:26+00:00" }, { "name": "psr/cache", @@ -1504,16 +1500,16 @@ }, { "name": "scrivo/highlight.php", - "version": "v9.18.1.1", + "version": "v9.18.1.2", "source": { "type": "git", "url": "https://github.com/scrivo/highlight.php.git", - "reference": "52fc21c99fd888e33aed4879e55a3646f8d40558" + "reference": "efb6e445494a9458aa59b0af5edfa4bdcc6809d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/52fc21c99fd888e33aed4879e55a3646f8d40558", - "reference": "52fc21c99fd888e33aed4879e55a3646f8d40558", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/efb6e445494a9458aa59b0af5edfa4bdcc6809d9", + "reference": "efb6e445494a9458aa59b0af5edfa4bdcc6809d9", "shasum": "" }, "require": { @@ -1575,20 +1571,20 @@ "type": "github" } ], - "time": "2020-03-02T05:59:21+00:00" + "time": "2020-08-27T03:24:44+00:00" }, { "name": "symfony/cache", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "a9ac09a5e9786b734a4baa98158c2cd3251f1e4c" + "reference": "c31bdd71f30435baff03693e684469c7ecb3ca1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/a9ac09a5e9786b734a4baa98158c2cd3251f1e4c", - "reference": "a9ac09a5e9786b734a4baa98158c2cd3251f1e4c", + "url": "https://api.github.com/repos/symfony/cache/zipball/c31bdd71f30435baff03693e684469c7ecb3ca1a", + "reference": "c31bdd71f30435baff03693e684469c7ecb3ca1a", "shasum": "" }, "require": { @@ -1669,20 +1665,20 @@ "type": "tidelift" } ], - "time": "2020-07-23T17:22:30+00:00" + "time": "2020-09-01T05:52:18+00:00" }, { "name": "symfony/config", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773" + "reference": "22f961ddffdc81389670b2ca74a1cc0213761ec0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/cf63f0613a6c6918e96db39c07a43b01e19a0773", - "reference": "cf63f0613a6c6918e96db39c07a43b01e19a0773", + "url": "https://api.github.com/repos/symfony/config/zipball/22f961ddffdc81389670b2ca74a1cc0213761ec0", + "reference": "22f961ddffdc81389670b2ca74a1cc0213761ec0", "shasum": "" }, "require": { @@ -1749,7 +1745,7 @@ "type": "tidelift" } ], - "time": "2020-07-15T10:53:22+00:00" + "time": "2020-08-17T07:48:54+00:00" }, { "name": "symfony/console", @@ -1939,16 +1935,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb" + "reference": "48d6890e12ce9cd8e68aaa4fb72010139312fd73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb", - "reference": "c45c3f26d2ae7c5239e5ad420b0c2717dbbc0bcb", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/48d6890e12ce9cd8e68aaa4fb72010139312fd73", + "reference": "48d6890e12ce9cd8e68aaa4fb72010139312fd73", "shasum": "" }, "require": { @@ -2024,7 +2020,7 @@ "type": "tidelift" } ], - "time": "2020-07-23T08:36:24+00:00" + "time": "2020-09-01T18:07:16+00:00" }, { "name": "symfony/dom-crawler", @@ -2103,7 +2099,7 @@ }, { "name": "symfony/dotenv", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", @@ -2332,7 +2328,7 @@ }, { "name": "symfony/expression-language", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", @@ -2398,16 +2394,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157" + "reference": "f7b9ed6142a34252d219801d9767dedbd711da1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/f7b9ed6142a34252d219801d9767dedbd711da1a", + "reference": "f7b9ed6142a34252d219801d9767dedbd711da1a", "shasum": "" }, "require": { @@ -2458,7 +2454,7 @@ "type": "tidelift" } ], - "time": "2020-05-30T20:35:19+00:00" + "time": "2020-08-21T17:19:47+00:00" }, { "name": "symfony/finder", @@ -2525,16 +2521,16 @@ }, { "name": "symfony/flex", - "version": "v1.9.1", + "version": "v1.9.4", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "0e752e47d8382361ca2d7ef016f549828185ddb6" + "reference": "115e67f76ba95d70946a6e0b15d4578bf04927c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/0e752e47d8382361ca2d7ef016f549828185ddb6", - "reference": "0e752e47d8382361ca2d7ef016f549828185ddb6", + "url": "https://api.github.com/repos/symfony/flex/zipball/115e67f76ba95d70946a6e0b15d4578bf04927c3", + "reference": "115e67f76ba95d70946a6e0b15d4578bf04927c3", "shasum": "" }, "require": { @@ -2584,20 +2580,20 @@ "type": "tidelift" } ], - "time": "2020-07-14T15:18:33+00:00" + "time": "2020-09-14T14:58:36+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "f9be9af9092f165b9b809d870289b57330301dc6" + "reference": "0607ca3cb7b79461a2e6a7c5d05e5cd6d2c14015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/f9be9af9092f165b9b809d870289b57330301dc6", - "reference": "f9be9af9092f165b9b809d870289b57330301dc6", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0607ca3cb7b79461a2e6a7c5d05e5cd6d2c14015", + "reference": "0607ca3cb7b79461a2e6a7c5d05e5cd6d2c14015", "shasum": "" }, "require": { @@ -2731,7 +2727,7 @@ "type": "tidelift" } ], - "time": "2020-07-23T08:36:24+00:00" + "time": "2020-08-30T09:59:07+00:00" }, { "name": "symfony/http-foundation", @@ -2923,16 +2919,16 @@ }, { "name": "symfony/monolog-bridge", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "81e8c7692b78161a06f779c741ef21d80f217175" + "reference": "c312bf3de53a5e2b784224045d6e7d5c0abfe1c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/81e8c7692b78161a06f779c741ef21d80f217175", - "reference": "81e8c7692b78161a06f779c741ef21d80f217175", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/c312bf3de53a5e2b784224045d6e7d5c0abfe1c0", + "reference": "c312bf3de53a5e2b784224045d6e7d5c0abfe1c0", "shasum": "" }, "require": { @@ -3002,7 +2998,7 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-17T07:42:30+00:00" }, { "name": "symfony/monolog-bundle", @@ -3600,16 +3596,16 @@ }, { "name": "symfony/routing", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "08c9a82f09d12ee048f85e76e0d783f82844eb5d" + "reference": "47b0218344cb6af25c93ca8ee1137fafbee5005d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/08c9a82f09d12ee048f85e76e0d783f82844eb5d", - "reference": "08c9a82f09d12ee048f85e76e0d783f82844eb5d", + "url": "https://api.github.com/repos/symfony/routing/zipball/47b0218344cb6af25c93ca8ee1137fafbee5005d", + "reference": "47b0218344cb6af25c93ca8ee1137fafbee5005d", "shasum": "" }, "require": { @@ -3688,11 +3684,11 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-10T08:03:57+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -3924,7 +3920,7 @@ }, { "name": "symfony/var-exporter", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", @@ -3999,16 +3995,16 @@ }, { "name": "symfony/yaml", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "ea342353a3ef4f453809acc4ebc55382231d4d23" + "reference": "a44bd3a91bfbf8db12367fa6ffac9c3eb1a8804a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/ea342353a3ef4f453809acc4ebc55382231d4d23", - "reference": "ea342353a3ef4f453809acc4ebc55382231d4d23", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a44bd3a91bfbf8db12367fa6ffac9c3eb1a8804a", + "reference": "a44bd3a91bfbf8db12367fa6ffac9c3eb1a8804a", "shasum": "" }, "require": { @@ -4072,7 +4068,7 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-08-26T08:30:57+00:00" }, { "name": "twig/twig", @@ -4201,7 +4197,9 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "phpdocumentor/phpdocumentor": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { diff --git a/data/templates/woocommerce/base.html.twig b/data/templates/woocommerce/base.html.twig index cebf9c8631..7ef28b98ee 100644 --- a/data/templates/woocommerce/base.html.twig +++ b/data/templates/woocommerce/base.html.twig @@ -1,78 +1 @@ - - - - - WooCommerce Code Reference - - - - - - - - - - - {% block stylesheets %}{% endblock %} - - - - - {% block javascripts %}{% endblock %} - - -
-
-
- -
- -
-
-
-
-

WooCommerce Code Reference

-
- -
- -
- -

Search results

-
    - -
-
-
-
-
-
- {% include 'sidebar.html.twig' %} - -
- {% block content %}{% endblock %} -
-
-
-Back to the top - - - +{% extends 'layout.html.twig' %} diff --git a/data/templates/woocommerce/breadcrumbs.html.twig b/data/templates/woocommerce/breadcrumbs.html.twig deleted file mode 100644 index 9be13193a1..0000000000 --- a/data/templates/woocommerce/breadcrumbs.html.twig +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/data/templates/woocommerce/class.html.twig b/data/templates/woocommerce/class.html.twig index cc34692308..9e28db5c3d 100644 --- a/data/templates/woocommerce/class.html.twig +++ b/data/templates/woocommerce/class.html.twig @@ -1,145 +1,15 @@ {% extends 'base.html.twig' %} {% block content %} - {% include 'breadcrumbs.html.twig' %} + {% include 'components/breadcrumbs.html.twig' %} -
-

- {{ node.name }} - {% if node.parent %} - - extends {{ node.parent|route('class:short') }} - - {% endif %} - {% if usesPackages %} -
- in - -
- {% endif %} - {% if node.interfaces is not empty %} - - implements - {% for interface in node.interfaces %} - {{ interface|route('class:short') }}{% if not loop.last %}, {% endif %} - {% endfor %} - - {% endif %} - {% if node.usedTraits is not empty %} - - Uses - {% for trait in node.usedTraits %} - {{ trait|route('class:short') }}{% if not loop.last %}, {% endif %} - {% endfor %} - - {% endif %} -

- +
+ {{ include('components/class-title.html.twig') }} + {{ include('components/element-found-in.html.twig') }} + {{ include('components/element-header.html.twig') }} -

{{ node.summary }}

-
{{ node.description|markdown }}
- -

Table of Contents

- - {% for constant in node.constants %} - - - - - - {% endfor %} - {% for property in node.properties %} - - - - - - {% endfor %} - {% for property in node.magicProperties %} - - - - - - {% endfor %} - {% for property in node.inheritedProperties %} - - - - - - {% endfor %} - {% for method in node.methods %} - - - - - - {% endfor %} - {% for method in node.magicMethods %} - - - - - - {% endfor %} - {% for method in node.inheritedMethods %} - - - - - - {% endfor %} -
{{ constant.name }}{{ constant.summary }}{{ constant.value }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
- - {% if node.constants is not empty %} -
-

Constants

- {% for constant in node.constants %} - {% include 'constant.html.twig' %} - {% endfor %} - {% for constant in node.inheritedConstants %} - {% include 'constant.html.twig' %} - {% endfor %} -
- {% endif %} - - {% if node.properties is not empty or node.magicProperties is not empty or node.inheritedProperties is not empty %} -
-

Properties

- {% for property in node.properties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.magicProperties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.inheritedProperties %} - {% include 'property.html.twig' %} - {% endfor %} -
- {% endif %} - - {% if node.methods is not empty or node.magicMethods is not empty or node.inheritedMethods is not empty %} -
-

Methods

- {% for method in node.methods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.magicMethods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.inheritedMethods %} - {% include 'method.html.twig' %} - {% endfor %} -
- {% endif %} + {{ include('components/constants.html.twig') }} + {{ include('components/properties.html.twig') }} + {{ include('components/methods.html.twig') }}
{% endblock %} diff --git a/data/templates/woocommerce/components/admonition.css.twig b/data/templates/woocommerce/components/admonition.css.twig new file mode 100644 index 0000000000..80db0a7232 --- /dev/null +++ b/data/templates/woocommerce/components/admonition.css.twig @@ -0,0 +1,9 @@ +.phpdocumentor-admonition { + border: 1px solid var(--admonition-border-color); + border-radius: var(--border-radius-base-size); + padding: var(--spacing-sm) var(--spacing-md); +} + +.phpdocumentor-admonition--success { + border-color: var(--admonition-success-color); +} diff --git a/data/templates/woocommerce/components/back-to-top.css.twig b/data/templates/woocommerce/components/back-to-top.css.twig new file mode 100644 index 0000000000..8556ac050e --- /dev/null +++ b/data/templates/woocommerce/components/back-to-top.css.twig @@ -0,0 +1,13 @@ +.phpdocumentor .phpdocumentor-back-to-top { + position: fixed; + bottom: 2rem; + font-size: 2.5rem; + opacity: .25; + transition: all .3s ease-in-out; + right: 2rem; +} + +.phpdocumentor .phpdocumentor-back-to-top:hover { + color: var(--link-color-primary); + opacity: 1; +} diff --git a/data/templates/woocommerce/components/back-to-top.html.twig b/data/templates/woocommerce/components/back-to-top.html.twig new file mode 100644 index 0000000000..93b7647cec --- /dev/null +++ b/data/templates/woocommerce/components/back-to-top.html.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/components/breadcrumbs.css.twig b/data/templates/woocommerce/components/breadcrumbs.css.twig new file mode 100644 index 0000000000..75645a0fcc --- /dev/null +++ b/data/templates/woocommerce/components/breadcrumbs.css.twig @@ -0,0 +1,22 @@ +.phpdocumentor ul.phpdocumentor-breadcrumbs { + font-size: var(--text-md); + list-style: none; + margin: 0; + padding: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs a { + color: var(--text-color); + text-decoration: none; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li { + display: inline-block; + margin: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li + li:before { + color: var(--dark-gray); + content: "\\\A0"; + padding: 0; +} diff --git a/data/templates/woocommerce/components/breadcrumbs.html.twig b/data/templates/woocommerce/components/breadcrumbs.html.twig new file mode 100644 index 0000000000..1bc3b63467 --- /dev/null +++ b/data/templates/woocommerce/components/breadcrumbs.html.twig @@ -0,0 +1,6 @@ +{% set breadcrumbs = usesNamespaces ? breadcrumbs(node) : packages(node) %} + diff --git a/data/templates/woocommerce/components/class-graph.css.twig b/data/templates/woocommerce/components/class-graph.css.twig new file mode 100644 index 0000000000..b727497598 --- /dev/null +++ b/data/templates/woocommerce/components/class-graph.css.twig @@ -0,0 +1,7 @@ +.phpdocumentor-class-graph { + width: 100%; height: 600px; border:1px solid black; overflow: hidden +} + +.phpdocumentor-class-graph__graph { + width: 100%; +} diff --git a/data/templates/woocommerce/components/class-title.html.twig b/data/templates/woocommerce/components/class-title.html.twig new file mode 100644 index 0000000000..3e7ab791ab --- /dev/null +++ b/data/templates/woocommerce/components/class-title.html.twig @@ -0,0 +1,38 @@ +

+ {{ node.name }} + + {% if node.parent %} + + extends {{ node.parent|route('class:short') }} + + {% endif %} + + {% if usesPackages %} +
+ in package + +
+ {% endif %} + + {% if node.interfaces is not empty %} + + implements + {% for interface in node.interfaces %} + {{ interface|route('class:short') }}{% if not loop.last %}, {% endif %} + {% endfor %} + + {% endif %} + + {% if node.usedTraits is not empty %} + + Uses + {% for trait in node.usedTraits %} + {{ trait|route('class:short') }}{% if not loop.last %}, {% endif %} + {% endfor %} + + {% endif %} +

diff --git a/data/templates/woocommerce/components/constant-signature.html.twig b/data/templates/woocommerce/components/constant-signature.html.twig new file mode 100644 index 0000000000..c72466b249 --- /dev/null +++ b/data/templates/woocommerce/components/constant-signature.html.twig @@ -0,0 +1,6 @@ + + {{ node.visibility }} + {{ not node.type ? "mixed" : node.type|route('class:short')|join('|')|raw }} + {{ node.name }} + = {{ node.value ?: '""' }} + diff --git a/data/templates/woocommerce/components/constant.html.twig b/data/templates/woocommerce/components/constant.html.twig new file mode 100644 index 0000000000..5110da769f --- /dev/null +++ b/data/templates/woocommerce/components/constant.html.twig @@ -0,0 +1,13 @@ +
+

+ {{ constant.name }} + +

+ + {{ include('components/element-found-in.html.twig', {'node': constant}) }} + {{ include('components/summary.html.twig', {'node': constant}) }} + {{ include('components/constant-signature.html.twig', {'node': constant}) }} + + {{ include('components/description.html.twig', {'node': constant}) }} + {{ include ('components/tags.html.twig', {tags: constant.tags}) }} +
diff --git a/data/templates/woocommerce/components/constants.html.twig b/data/templates/woocommerce/components/constants.html.twig new file mode 100644 index 0000000000..c54c8d4935 --- /dev/null +++ b/data/templates/woocommerce/components/constants.html.twig @@ -0,0 +1,13 @@ +{% set constants = constants(node)|sortByVisibility %} + +{% if constants is not empty %} +
+

+ Constants + +

+ {% for constant in constants %} + {% include 'components/constant.html.twig' %} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/description.css.twig b/data/templates/woocommerce/components/description.css.twig new file mode 100644 index 0000000000..8d0e3be9be --- /dev/null +++ b/data/templates/woocommerce/components/description.css.twig @@ -0,0 +1,3 @@ +.phpdocumentor-description { + margin-bottom: var(--spacing-md); +} diff --git a/data/templates/woocommerce/components/description.html.twig b/data/templates/woocommerce/components/description.html.twig new file mode 100644 index 0000000000..2512033666 --- /dev/null +++ b/data/templates/woocommerce/components/description.html.twig @@ -0,0 +1,3 @@ +{% if node.description %} +
{{ node.description|markdown }}
+{% endif %} diff --git a/data/templates/woocommerce/components/element-found-in.css.twig b/data/templates/woocommerce/components/element-found-in.css.twig new file mode 100644 index 0000000000..01f4adedfd --- /dev/null +++ b/data/templates/woocommerce/components/element-found-in.css.twig @@ -0,0 +1,7 @@ +.phpdocumentor-element-found-in { + position: absolute; + top: 0; + right: 0; + font-size: var(--text-sm); + color: gray; +} diff --git a/data/templates/woocommerce/components/element-found-in.html.twig b/data/templates/woocommerce/components/element-found-in.html.twig new file mode 100644 index 0000000000..2f1892113c --- /dev/null +++ b/data/templates/woocommerce/components/element-found-in.html.twig @@ -0,0 +1,5 @@ + diff --git a/data/templates/woocommerce/components/element-header.html.twig b/data/templates/woocommerce/components/element-header.html.twig new file mode 100644 index 0000000000..46ba4723e9 --- /dev/null +++ b/data/templates/woocommerce/components/element-header.html.twig @@ -0,0 +1,5 @@ +{{ include('components/summary.html.twig') }} +{{ include('components/description.html.twig') }} +{{ include('components/tags.html.twig', {tags: node.tags}) }} + +{{ include ('components/table-of-contents.html.twig') }} diff --git a/data/templates/woocommerce/components/element.css.twig b/data/templates/woocommerce/components/element.css.twig new file mode 100644 index 0000000000..c16119e9fc --- /dev/null +++ b/data/templates/woocommerce/components/element.css.twig @@ -0,0 +1,38 @@ +.phpdocumentor-element { + position: relative; +} + +.phpdocumentor .phpdocumentor-element__name { + line-height: 1; +} + +.phpdocumentor-element__package, +.phpdocumentor-element__extends, +.phpdocumentor-element__implements { + display: block; + font-size: var(--text-xxs); + font-weight: normal; + opacity: .7; +} + +.phpdocumentor-element__package .phpdocumentor-breadcrumbs { + display: inline; +} + +.phpdocumentor-element:not(:last-child) { + border-bottom: 1px solid var(--primary-color-lighten); + padding-bottom: var(--spacing-lg); +} + +.phpdocumentor-element.-deprecated .phpdocumentor-element__name { + text-decoration: line-through; +} + +.phpdocumentor-element__modifier { + font-size: var(--text-xxs); + padding: calc(var(--spacing-base-size) / 4) calc(var(--spacing-base-size) / 2); + color: var(--text-color); + background-color: var(--light-gray); + border-radius: 3px; + text-transform: uppercase; +} diff --git a/data/templates/woocommerce/components/file-title.html.twig b/data/templates/woocommerce/components/file-title.html.twig new file mode 100644 index 0000000000..4c9e43a92a --- /dev/null +++ b/data/templates/woocommerce/components/file-title.html.twig @@ -0,0 +1 @@ +

{{ node.name }}

diff --git a/data/templates/woocommerce/components/footer.html.twig b/data/templates/woocommerce/components/footer.html.twig new file mode 100644 index 0000000000..ee3b65ba6a --- /dev/null +++ b/data/templates/woocommerce/components/footer.html.twig @@ -0,0 +1,5 @@ + diff --git a/data/templates/woocommerce/components/function.html.twig b/data/templates/woocommerce/components/function.html.twig new file mode 100644 index 0000000000..13be11792f --- /dev/null +++ b/data/templates/woocommerce/components/function.html.twig @@ -0,0 +1,13 @@ +
+

+ {{ function.name }}() + +

+ {{ include('components/element-found-in.html.twig', {'node': function}) }} + {{ include('components/summary.html.twig', {'node': function}) }} + {{ include('components/method-signature.html.twig', {'node': function}) }} + {{ include('components/description.html.twig', {'node': function}) }} + {{ include('components/method-arguments.html.twig', {'node': function}) }} + {{ include('components/tags.html.twig', {tags: function.tags}) }} + {{ include('components/method-response.html.twig', {'node': function}) }} +
diff --git a/data/templates/woocommerce/components/functions.html.twig b/data/templates/woocommerce/components/functions.html.twig new file mode 100644 index 0000000000..97cdb6c76b --- /dev/null +++ b/data/templates/woocommerce/components/functions.html.twig @@ -0,0 +1,11 @@ +{% if node.functions is not empty %} +
+

+ Functions + +

+ {% for function in node.functions %} + {% include 'components/function.html.twig' %} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/header.css.twig b/data/templates/woocommerce/components/header.css.twig new file mode 100644 index 0000000000..7aded34600 --- /dev/null +++ b/data/templates/woocommerce/components/header.css.twig @@ -0,0 +1,9 @@ +.phpdocumentor-header { + display: flex; + flex-direction: row; + align-items: center; +} + +.phpdocumentor-header > * { + height: var(--header-height); +} diff --git a/data/templates/woocommerce/components/header.html.twig b/data/templates/woocommerce/components/header.html.twig new file mode 100644 index 0000000000..b69dc6c317 --- /dev/null +++ b/data/templates/woocommerce/components/header.html.twig @@ -0,0 +1,21 @@ +
+
+
+ +
+ +
+
+ +
+
+

{{ project.name }}

+ {{ include('components/search.html.twig') }} +
+
diff --git a/data/templates/woocommerce/components/interface-title.html.twig b/data/templates/woocommerce/components/interface-title.html.twig new file mode 100644 index 0000000000..afb7d2810b --- /dev/null +++ b/data/templates/woocommerce/components/interface-title.html.twig @@ -0,0 +1,21 @@ +

+ {{ node.name }} + {% if node.parent is not empty %} + + extends + {% for interface in node.parent %} + {{ interface|route('class:short') }}{% if not loop.last %}, {% endif %} + {% endfor %} + + {% endif %} + {% if usesPackages %} +
+ in + +
+ {% endif %} +

diff --git a/data/templates/woocommerce/components/method-arguments.html.twig b/data/templates/woocommerce/components/method-arguments.html.twig new file mode 100644 index 0000000000..035d8dcd07 --- /dev/null +++ b/data/templates/woocommerce/components/method-arguments.html.twig @@ -0,0 +1,15 @@ +{% if node.arguments|length > 0 %} +
Parameters
+
+ {% for argument in node.arguments %} +
+ ${{ argument.name }} + : {{ argument.type|route('class:short')|join('|')|raw }} + {% if argument.default %} = {{ argument.default }}{% endif %} +
+
+ {{ include('components/description.html.twig', {'node': argument}) }} +
+ {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/method-response.html.twig b/data/templates/woocommerce/components/method-response.html.twig new file mode 100644 index 0000000000..b29b140fd6 --- /dev/null +++ b/data/templates/woocommerce/components/method-response.html.twig @@ -0,0 +1,7 @@ +{% if (method.response.type and method.response.type != 'void') or method.response.description %} +
Return values
+ {{ method.response.type|route('class:short')|join('|')|raw }} + {% if method.response.description %} + — {{ method.response.description|striptags }} + {% endif %} +{% endif %} diff --git a/data/templates/woocommerce/components/method-signature.html.twig b/data/templates/woocommerce/components/method-signature.html.twig new file mode 100644 index 0000000000..19ccdbabe8 --- /dev/null +++ b/data/templates/woocommerce/components/method-signature.html.twig @@ -0,0 +1,28 @@ + + {{ node.visibility }} + {% if node.abstract %}abstract{% endif %} + {% if node.final %}final{% endif %} + {% if node.static %}static{% endif %} + {% apply spaceless %} + {{ node.name }} + ( + {% for argument in node.arguments %} + + {% if argument.default %}[{% endif %} + {% if not loop.first %}, {% endif %} + {{ argument.type|route('class:short')|join('|')|raw }}  + {% if argument.isVariadic %}...{% endif %} + {%- if argument.byReference -%}&{%- endif -%} + ${{ argument.name }} + {% if argument.default %} + = + {{ argument.default }} + ] + {% endif %} + + {% endfor %} + ) + : + {{ node.response.type|route('class:short')|join('|')|raw }} + {% endapply %} + diff --git a/data/templates/woocommerce/components/method.html.twig b/data/templates/woocommerce/components/method.html.twig new file mode 100644 index 0000000000..827481b0d0 --- /dev/null +++ b/data/templates/woocommerce/components/method.html.twig @@ -0,0 +1,22 @@ +
+

+ {{ method.name }}() + +

+ {{ include('components/element-found-in.html.twig', {'node': method}) }} + {{ include('components/summary.html.twig', {'node': method}) }} + {{ include('components/method-signature.html.twig', {'node': method}) }} + {{ include('components/description.html.twig', {'node': method}) }} + {{ include('components/method-arguments.html.twig', {'node': method}) }} + {{ include('components/tags.html.twig', {'tags': method.tags}) }} + {{ include('components/method-response.html.twig', {'node': method}) }} +
diff --git a/data/templates/woocommerce/components/methods.html.twig b/data/templates/woocommerce/components/methods.html.twig new file mode 100644 index 0000000000..cde9698a18 --- /dev/null +++ b/data/templates/woocommerce/components/methods.html.twig @@ -0,0 +1,12 @@ +{% set methods = methods(node)|sortByVisibility %} +{% if methods is not empty %} +
+

+ Methods + +

+ {% for method in methods %} + {% include 'components/method.html.twig' %} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/namespace-title.html.twig b/data/templates/woocommerce/components/namespace-title.html.twig new file mode 100644 index 0000000000..d9ecd0d905 --- /dev/null +++ b/data/templates/woocommerce/components/namespace-title.html.twig @@ -0,0 +1 @@ +

{{ node.name == '\\' ? 'API Documentation' : node.name }}

diff --git a/data/templates/woocommerce/components/properties.html.twig b/data/templates/woocommerce/components/properties.html.twig new file mode 100644 index 0000000000..1ba9f81ad7 --- /dev/null +++ b/data/templates/woocommerce/components/properties.html.twig @@ -0,0 +1,13 @@ +{% set properties = properties(node)|sortByVisibility %} + +{% if properties is not empty %} +
+

+ Properties + +

+ {% for property in properties %} + {% include 'components/property.html.twig' %} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/property-signature.html.twig b/data/templates/woocommerce/components/property-signature.html.twig new file mode 100644 index 0000000000..dfd3fdfcaf --- /dev/null +++ b/data/templates/woocommerce/components/property-signature.html.twig @@ -0,0 +1,7 @@ + + {{ node.visibility }} + {% if node.static %}static{% endif %} + {{ not node.type ? "mixed" : node.type|route('class:short')|join('|')|raw }} + ${{ node.name }} + {% if node.default is not null %} = {{ node.default is not null ? node.default : '""' }}{% endif %} + diff --git a/data/templates/woocommerce/components/property.html.twig b/data/templates/woocommerce/components/property.html.twig new file mode 100644 index 0000000000..78e7fb4607 --- /dev/null +++ b/data/templates/woocommerce/components/property.html.twig @@ -0,0 +1,25 @@ +
+

+ ${{ property.name }} + + + {% if property.writeOnly %}write-only{% endif %} + {% if property.readOnly %}read-only{% endif %} + +

+ {{ include('components/element-found-in.html.twig', {'node': property}) }} + {{ include('components/summary.html.twig', {'node': property}) }} + {{ include('components/property-signature.html.twig', {'node': property}) }} + {{ include('components/description.html.twig', {'node': property}) }} + {{ include ('components/tags.html.twig', {tags: property.tags}) }} +
diff --git a/data/templates/woocommerce/components/search.html.twig b/data/templates/woocommerce/components/search.html.twig new file mode 100644 index 0000000000..bd766fcd47 --- /dev/null +++ b/data/templates/woocommerce/components/search.html.twig @@ -0,0 +1,6 @@ + diff --git a/data/templates/woocommerce/components/sidebar.css.twig b/data/templates/woocommerce/components/sidebar.css.twig new file mode 100644 index 0000000000..6fd35db718 --- /dev/null +++ b/data/templates/woocommerce/components/sidebar.css.twig @@ -0,0 +1,57 @@ +.phpdocumentor-sidebar { + border-right: var(--sidebar-border-color) solid 1px; +} + +.phpdocumentor .phpdocumentor-sidebar .phpdocumentor-list { + padding-top: var(--spacing-xs); + padding-left: var(--spacing-md); + list-style: none; +} + +.phpdocumentor .phpdocumentor-sidebar li { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding: 0 0 var(--spacing-xxxs) var(--spacing-md); +} + +.phpdocumentor .phpdocumentor-sidebar abbr, +.phpdocumentor .phpdocumentor-sidebar a { + text-decoration: none; + border-bottom: none; + color: var(--text-color); + font-size: var(--text-md); + padding-left: 0; + transition: padding-left .4s ease-out; +} + +.phpdocumentor .phpdocumentor-sidebar a:hover { + padding-left: 5px; + font-weight: 600; +} + +.phpdocumentor .phpdocumentor-sidebar__category > * { + border-left: 1px solid var(--primary-color-lighten); +} + +.phpdocumentor .phpdocumentor-sidebar__category { + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-sidebar__category-header { + font-size: var(--text-md); + margin-bottom: var(--spacing-xs); + color: var(--link-color-primary); + font-weight: 600; + border-left: 0; +} + +.phpdocumentor .phpdocumentor-sidebar__root-package, +.phpdocumentor .phpdocumentor-sidebar__root-namespace { + font-size: var(--text-md); + margin: 0; + padding-top: var(--spacing-xs); + padding-left: var(--spacing-md); + color: var(--text-color); + font-weight: normal; +} diff --git a/data/templates/woocommerce/components/sidebar.html.twig b/data/templates/woocommerce/components/sidebar.html.twig new file mode 100644 index 0000000000..e40e8e81db --- /dev/null +++ b/data/templates/woocommerce/components/sidebar.html.twig @@ -0,0 +1,56 @@ + diff --git a/data/templates/woocommerce/components/signature.css.twig b/data/templates/woocommerce/components/signature.css.twig new file mode 100644 index 0000000000..fdcab28dbc --- /dev/null +++ b/data/templates/woocommerce/components/signature.css.twig @@ -0,0 +1,9 @@ +.phpdocumentor-signature { + display: inline-block; + font-size: var(--text-sm); + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-signature.-deprecated .phpdocumentor-signature__name { + text-decoration: line-through; +} diff --git a/data/templates/woocommerce/components/summary.css.twig b/data/templates/woocommerce/components/summary.css.twig new file mode 100644 index 0000000000..27f21d59cf --- /dev/null +++ b/data/templates/woocommerce/components/summary.css.twig @@ -0,0 +1,3 @@ +.phpdocumentor-summary { + font-style: italic; +} diff --git a/data/templates/woocommerce/components/summary.html.twig b/data/templates/woocommerce/components/summary.html.twig new file mode 100644 index 0000000000..bb9ec94f88 --- /dev/null +++ b/data/templates/woocommerce/components/summary.html.twig @@ -0,0 +1,3 @@ +{% if node.summary %} +

{{ node.summary }}

+{% endif %} diff --git a/data/templates/woocommerce/components/table-of-contents-entry.html.twig b/data/templates/woocommerce/components/table-of-contents-entry.html.twig new file mode 100644 index 0000000000..b206e0d9c4 --- /dev/null +++ b/data/templates/woocommerce/components/table-of-contents-entry.html.twig @@ -0,0 +1,9 @@ +
+ {{ type == 'property' ? '$' }}{{ node.name }}{{ type == 'method' or type == 'function' ? '()' }} + + {% if type == 'constant' %} = {{ node.value }}{% endif %} + {% if type == 'property' %} : {{ node.type ? node.type|route('class:short')|join('|')|raw : 'mixed' }}{% endif %} + {% if type == 'method' or type == 'function' %} : {{ node.response.type|route('class:short')|join('|')|raw }}{% endif %} + +
+
{{ node.summary }}
diff --git a/data/templates/woocommerce/components/table-of-contents.css.twig b/data/templates/woocommerce/components/table-of-contents.css.twig new file mode 100644 index 0000000000..a6dbe6753e --- /dev/null +++ b/data/templates/woocommerce/components/table-of-contents.css.twig @@ -0,0 +1,95 @@ +.phpdocumentor-table-of-contents { +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry { + padding-top: var(--spacing-xs); + margin-left: 2rem; + display: flex; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a { + flex: 0 1 auto; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span { + flex: 1; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:after { + content: ''; + height: 12px; + width: 12px; + left: 16px; + position: absolute; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-private:after { + background: url('data:image/svg+xml;utf8,{{ include('icons/private.svg.twig')|trim|raw }}') no-repeat; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-protected:after { + left: 13px; + background: url('data:image/svg+xml;utf8,{{ include('icons/protected.svg.twig')|trim|raw }}') no-repeat; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:before { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,{{ include('icons/method.svg.twig')|trim|raw }}') no-repeat center center; + content: ''; + position: absolute; + left: 0; + border-radius: 50%; + font-weight: 600; + color: white; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-method:before { + content: 'M'; + background-image: url('data:image/svg+xml;utf8,{{ include('icons/method.svg.twig')|trim|raw }}'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-function:before { + content: 'M'; + background-image: url('data:image/svg+xml;utf8,{{ include('icons/method.svg.twig')|trim|raw }}'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-property:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-constant:before { + content: 'C'; + background-color: transparent; + background-image: url('data:image/svg+xml;utf8,{{ include('icons/constant.svg.twig')|trim|raw }}'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-class:before { + content: 'C' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-interface:before { + content: 'I' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-trait:before { + content: 'T' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-namespace:before { + content: 'N' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-package:before { + content: 'P' +} + +.phpdocumentor-table-of-contents dd { + font-style: italic; + margin-left: 2rem; +} diff --git a/data/templates/woocommerce/components/table-of-contents.html.twig b/data/templates/woocommerce/components/table-of-contents.html.twig new file mode 100644 index 0000000000..012e186d83 --- /dev/null +++ b/data/templates/woocommerce/components/table-of-contents.html.twig @@ -0,0 +1,75 @@ +{% if namespaces|default([]) is not empty %} +

+ Namespaces + +

+ +
+ {% for namespace in namespaces %} +
{{ namespace|route('class:short') }}
+ {% endfor %} +
+{% endif %} + +{% if packages|default([]) is not empty %} +

+ Packages + +

+ +
+ {% for package in packages %} +
{{ package|route('class:short') }}
+ {% endfor %} +
+{% endif %} + +{% if node.interfaces is not empty or node.classes is not empty %} +

+ Interfaces, Classes and Traits + +

+ +
+ {% for interface in node.interfaces %} +
{{ interface|route('class:short') }}
+
{{ interface.summary }}
+ {% endfor %} + + {% for class in node.classes %} +
{{ class|route('class:short') }}
+
{{ class.summary }}
+ {% endfor %} + + {% for trait in node.traits %} +
{{ trait|route('class:short') }}
+
{{ trait.summary }}
+ {% endfor %} +
+{% endif %} + +{% set constants = constants(node) %} +{% set properties = properties(node) %} +{% set methods = methods(node) %} + +{% if constants is not empty or node.functions is not empty or methods is not empty or properties is not empty %} +

+ Table of Contents + +

+ +
+ {% for constant in constants(node)|sortByVisibility %} + {{ include('components/table-of-contents-entry.html.twig', {'type': 'constant', 'node': constant}) }} + {% endfor %} + {% for property in properties(node)|sortByVisibility %} + {{ include('components/table-of-contents-entry.html.twig', {'type': 'property', 'node': property}) }} + {% endfor %} + {% for method in methods(node)|sortByVisibility %} + {{ include('components/table-of-contents-entry.html.twig', {'type': 'method', 'node': method}) }} + {% endfor %} + {% for function in node.functions|default([]) %} + {{ include('components/table-of-contents-entry.html.twig', {'type': 'function', 'node': function}) }} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/tag-list.css.twig b/data/templates/woocommerce/components/tag-list.css.twig new file mode 100644 index 0000000000..3ea6d18867 --- /dev/null +++ b/data/templates/woocommerce/components/tag-list.css.twig @@ -0,0 +1,7 @@ +.phpdocumentor-tag-list__definition { + display: flex; +} + +.phpdocumentor-tag-link { + margin-right: var(--spacing-sm); +} diff --git a/data/templates/woocommerce/components/tags.html.twig b/data/templates/woocommerce/components/tags.html.twig new file mode 100644 index 0000000000..f83b65e5a0 --- /dev/null +++ b/data/templates/woocommerce/components/tags.html.twig @@ -0,0 +1,32 @@ +{% set tags = tags|filter((v,k) => k not in ['var', 'param', 'property', 'property-read', 'property-write', 'method', 'return', 'package', 'api']) %} + +{% if tags|length > 0 %} +
+ Tags + +
+
+ {% for name,seriesOfTag in tags %} + {% for tag in seriesOfTag %} +
+ {{ name }} +
+
+ {% if tag.version %} + {{ tag.version }} + {% endif %} + {% if tag.type %} + {{ tag.type|route('class:short')|join('|')|raw }} + {% endif %} + {% if tag.reference %} + {{ tag.reference|route('class:short')|join('|')|raw }} + {% endif %} + {% if tag.link %} + {{ tag.link }} + {% endif %} + {{ include('components/description.html.twig', {'node': tag}) }} +
+ {% endfor %} + {% endfor %} +
+{% endif %} diff --git a/data/templates/woocommerce/components/topnav.css.twig b/data/templates/woocommerce/components/topnav.css.twig new file mode 100644 index 0000000000..2eb2b8ffab --- /dev/null +++ b/data/templates/woocommerce/components/topnav.css.twig @@ -0,0 +1,44 @@ +.phpdocumentor-topnav { + display: flex; + flex: 1; + margin-left: 4%; + align-items: center; +} + +.phpdocumentor-topnav__menu { + display: inline-block; + list-style: none; + margin: 0; + padding: 0; + flex: 1; +} + +.phpdocumentor-topnav__menu.-social { + margin-left: auto; + flex: 0 auto; +} + +.phpdocumentor-topnav__menu-item { + display: inline; + margin: 0; + padding: 0 var(--spacing-lg) 0 0; +} + +.phpdocumentor-topnav__menu-item:last-of-type { + padding: 0; +} + +.phpdocumentor-topnav__menu-item a { + display: inline-block; + color: var(--text-color); + text-decoration: none; + font-size: var(--text-lg); + transition: all .3s ease-out; + border-bottom: 1px dotted transparent; + line-height: 1; +} + +.phpdocumentor-topnav__menu-item a:hover { + transform: perspective(15rem) translateY(.1rem); + border-bottom: 1px dotted var(--text-color); +} diff --git a/data/templates/woocommerce/components/topnav.html.twig b/data/templates/woocommerce/components/topnav.html.twig new file mode 100644 index 0000000000..f112f15676 --- /dev/null +++ b/data/templates/woocommerce/components/topnav.html.twig @@ -0,0 +1,16 @@ + diff --git a/data/templates/woocommerce/components/trait-title.html.twig b/data/templates/woocommerce/components/trait-title.html.twig new file mode 100644 index 0000000000..8ae29fbdc9 --- /dev/null +++ b/data/templates/woocommerce/components/trait-title.html.twig @@ -0,0 +1,11 @@ +

+ {{ node.name }} + {% if node.usedTraits is not empty %} + + Uses + {% for trait in node.usedTraits %} + {{ trait|route('trait:short') }}{% if not loop.last %}, {% endif %} + {% endfor %} + + {% endif %} +

diff --git a/data/templates/woocommerce/constant.html.twig b/data/templates/woocommerce/constant.html.twig deleted file mode 100644 index 8350b442f6..0000000000 --- a/data/templates/woocommerce/constant.html.twig +++ /dev/null @@ -1,28 +0,0 @@ - -
-

{{ constant.name }}

- - {% if constant.summary %} -

{{ constant.summary }}

- {% endif %} - - {{ constant.visibility }} - {{ not constant.type ? "mixed" : constant.type|route('class:short')|join('|')|raw }} - ${{ constant.name }} - = {{ constant.value ?: '""' }} - - {% if constant.description %} -
{{ constant.description }}
- {% endif %} -
diff --git a/data/templates/woocommerce/css/base.css.twig b/data/templates/woocommerce/css/base.css.twig new file mode 100644 index 0000000000..77d97cd77c --- /dev/null +++ b/data/templates/woocommerce/css/base.css.twig @@ -0,0 +1,35 @@ +{% set breakpoints = {'sm': '400px', 'md': '550px', 'lg': '750px', 'xl': '1000px', 'xxl': '1200px'} %} + +{% include 'css/variables.css.twig' %} + +/* Base Styles +-------------------------------------------------- */ +body { + color: var(--text-color); + font-family: var(--font-primary); + font-size: var(--text-md); + letter-spacing: var(--letter-spacing--primary); + line-height: var(--line-height--primary); +} + +{% include 'objects/headings.css.twig' %} +{% include 'objects/paragraph.css.twig' %} +{% include 'objects/images.css.twig' %} +{% include 'objects/line.css.twig' %} +{% include 'objects/section.css.twig' %} +{% include 'objects/grid.css.twig' %} +{% include 'objects/links.css.twig' %} +{% include 'objects/buttons.css.twig' %} +{% include 'objects/forms.css.twig' %} +{% include 'objects/lists.css.twig' %} +{% include 'objects/code.css.twig' %} +{% include 'objects/tables.css.twig' %} + +{% include 'components/header.css.twig' %} +{% include 'components/topnav.css.twig' %} +{% include 'components/sidebar.css.twig' %} +{% include 'components/admonition.css.twig' %} +{% include 'components/breadcrumbs.css.twig' %} +{% include 'components/back-to-top.css.twig' %} + +{% include 'css/utilities.css.twig' %} diff --git a/data/templates/woocommerce/css/custom.css.twig b/data/templates/woocommerce/css/custom.css.twig new file mode 100644 index 0000000000..07a78eec13 --- /dev/null +++ b/data/templates/woocommerce/css/custom.css.twig @@ -0,0 +1,342 @@ +/* Elements */ +abbr[title] { + border: none; + text-decoration: none; +} + +/* Top Header */ +.phpdocumentor-header > * { + height: auto; +} + +.phpdocumentor-top-header { + font-family: var(--font-secondary); + align-items: center; + background: var(--top-header-bg-color); + color: var(--top-header-text-color); + display: flex; + flex-direction: row; + font-size: var(--text-md); + min-height: var(--top-header-height); + padding: 0 var(--spacing-sm); + text-align: right; +} + +.phpdocumentor-top-header a { + color: var(--primary-color-darker); + display: inline-block; + text-decoration: none; +} +.phpdocumentor-top-header a span { + border-bottom: 1px solid transparent; + transition: border-bottom-color .2s ease-in-out; +} +.phpdocumentor-top-header a:hover { + color: var(--text-color); +} +.phpdocumentor-top-header a:hover span { + border-bottom: 1px solid var(--text-color); +} +.phpdocumentor-top-header a:not(:first-of-type):before { + display: inline-block; + color: #ccc; + content: "/"; + padding: 0 var(--spacing-xxs); +} + +/* Logo */ +.site-branding { + margin: 1.5em 0 1em; + text-align: left; +} + +.site-branding a::after { + content: 'DOCS'; + font-family: var(--font-secondary); + color: #000; + font-size: 20px; + font-weight: 700; + line-height: 32.5px; + vertical-align: top; + letter-spacing: -2px; + margin-left: 8px; +} + +/* Navigation */ +.main-navigation ul { + margin-bottom: 1em; + padding-left: 0; + text-align: left; +} + +.main-navigation a { + color: #333; + font-weight: 400; + font-size: .9em; + text-decoration: none; +} + +.main-navigation a:hover { + color: var(--primary-color); +} + +/* Header */ +.phpdocumentor-header { + background: var(--header-bg-color); + margin-bottom: var(--spacing-xl); + position: relative; +} + +.phpdocumentor-header p { + color: white; + font-size: var(--text-lg); +} + +.phpdocumentor-title { + font-family: var(--font-secondary); + color: var(--title-text-color); + letter-spacing: -1px; + line-height: 1.2; + text-align: center; + padding: 0.67em 0; + margin-top: 0; +} +.phpdocumentor-title small { + text-shadow: none; + font-size: var(--text-xxs); + display: block; + margin: var(--spacing-sm) 0; +} + +/* Search */ +.phpdocumentor-search-results__entries { + background: var(--popover-background-color); + left: 0; + list-style: none; + margin: 0 auto; + max-height: 30rem; + opacity: 1; + overflow-x: auto; + padding: 0 var(--spacing-lg); + pointer-events: all; + position: absolute; + right: 0; + transition: all 0.1s ease-in-out; + width: 75%; + z-index: 1000; +} + +.phpdocumentor-search-results__entry { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; +} + +.phpdocumentor-search-results__entry a { + color: var(--link-color-primary); + display: block; + margin-bottom: var(--spacing-xs); + text-decoration: none; +} + +.phpdocumentor-search-results__entry a:hover { + color: var(--link-hover-color-primary); +} + +.phpdocumentor-search-results__entry small { + color: var(--primary-color-darker); + display: block; +} + +.phpdocumentor-search-results__entry .phpdocumentor-summary { + display: block; + margin-top: var(--spacing-md); +} + +.phpdocumentor-search-results__entry h3 { + font-weight: normal; + line-break: anywhere; + margin: 0; +} + +.phpdocumentor-search-results__entry:last-child { + border-bottom: none; +} + +.phpdocumentor-search { + position: relative; + display: none; /** disable by default for non-js flow */ + opacity: .3; /** white-out default for loading indication */ + transition: opacity .3s, background .3s; + text-align: center; +} +.phpdocumentor-search:before { + content: ''; + background: transparent; + left: calc(-1 * var(--spacing-md)); + height: 100%; + position: absolute; + right: -15px; + z-index: -1; + opacity: 0; + transition: opacity .3s, background .3s; +} + +.phpdocumentor-search .phpdocumentor-label { + display: block; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-search--enabled { + display: block; +} + +.phpdocumentor-search--active { + opacity: 1; +} +.phpdocumentor-search--has-results:before { + background: var(--popover-background-color); + opacity: 1; +} + +.phpdocumentor-search input:disabled { + background-color: #d3d3d3; +} + +.phpdocumentor-search__field { + background-color: #fff; + border: 0; + border-radius: 50px; + color: #333; + font-size: 18px; + line-height: 50px; + padding-left: 45px; + width: 80%; + height: 50px; + margin-bottom: 0; +} + +.phpdocumentor-search__field:focus { + border: none; +} + +.autoComplete_highlighted { + opacity: 1; + color: var(--primary-color-darker); + font-weight: bold; +} + +.autoComplete_highlighted::selection { + color: rgba(#ffffff, 0); + background-color: rgba(#ffffff, 0); +} + +/* Footer */ +.phpdocumentor-footer { + clear: both; + background-color: #f7f7f7; + font-size: var(--text-xs); + font-weight: 700; + margin-top: var(--spacing-lg); + padding: var(--spacing-lg); + text-align: center; + text-transform: uppercase; +} + +/* Content */ +.phpdocumentor-content { + position: relative; +} + +main.phpdocumentor::after { + display: block; + content: ''; + clear: both; +} + +.phpdocumentor-element-found-in { + position: relative; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a { + text-decoration: none; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-action:before { + content: 'A' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-filter:before { + content: 'F' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-action:after, +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-filter:after { + left: 13px; + background: url('data:image/svg+xml;utf8,{{ include('icons/wp.svg.twig')|trim|raw }}') no-repeat; +} + +/* Code */ +.phpdocumentor-argument-list .phpdocumentor-signature__argument__name { + font-weight: bold; +} + +/* Media queries */ +@media (min-width: 400px) { + .phpdocumentor-top-header .phpdocumentor-section { + display: flex; + } + + .site-branding { + flex: 35%; + } + + .site-branding a::after { + font-size: 26px; + } + + .main-navigation { + flex: 65%; + } + + .main-navigation ul { + display: inline-flex; + list-style: none; + margin: 0; + } + + .main-navigation ul > li:hover { + background: #e6e6e6; + transition: all ease-in-out .2s; + } + + .main-navigation a { + padding: 2.5em .8em; + font-size: .8em; + } + + .main-navigation a:hover { + color: #333; + } + + th.phpdocumentor-heading, + td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; + display: table-cell; + } + + th.phpdocumentor-heading { + min-width: 30%; + } + + td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + } + + .phpdocumentor-title { + font-size: var(--text-xxxxl); + } +} diff --git a/data/templates/woocommerce/css/normalize.css b/data/templates/woocommerce/css/normalize.css.twig similarity index 100% rename from data/templates/woocommerce/css/normalize.css rename to data/templates/woocommerce/css/normalize.css.twig diff --git a/data/templates/woocommerce/css/prism.css.twig b/data/templates/woocommerce/css/prism.css.twig new file mode 100644 index 0000000000..c7e93a183b --- /dev/null +++ b/data/templates/woocommerce/css/prism.css.twig @@ -0,0 +1,322 @@ +/* PrismJS 1.21.0 +https://prismjs.com/download.html#themes=prism-coy&languages=markup+css+clike+javascript+javadoclike+markup-templating+php+phpdoc+php-extras&plugins=line-highlight+line-numbers */ +/** + * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics); + * @author Tim Shedor + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + position: relative; + margin: .5em 0; + overflow: visible; + padding: 0; +} +pre[class*="language-"]>code { + position: relative; + border-left: 10px solid #358ccb; + box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf; + background-color: #fdfdfd; + background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%); + background-size: 3em 3em; + background-origin: content-box; + background-attachment: local; +} + +code[class*="language-"] { + max-height: inherit; + height: inherit; + padding: 0 1em; + display: block; + overflow: auto; +} + +/* Margin bottom to accommodate shadow */ +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: #fdfdfd; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 1em; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + position: relative; + padding: .2em; + border-radius: 0.3em; + color: #c92c2c; + border: 1px solid rgba(0, 0, 0, 0.1); + display: inline; + white-space: normal; +} + +pre[class*="language-"]:before, +pre[class*="language-"]:after { + content: ''; + z-index: -2; + display: block; + position: absolute; + bottom: 0.75em; + left: 0.18em; + width: 40%; + height: 20%; + max-height: 13em; + box-shadow: 0px 13px 8px #979797; + -webkit-transform: rotate(-2deg); + -moz-transform: rotate(-2deg); + -ms-transform: rotate(-2deg); + -o-transform: rotate(-2deg); + transform: rotate(-2deg); +} + +pre[class*="language-"]:after { + right: 0.75em; + left: auto; + -webkit-transform: rotate(2deg); + -moz-transform: rotate(2deg); + -ms-transform: rotate(2deg); + -o-transform: rotate(2deg); + transform: rotate(2deg); +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7D8B99; +} + +.token.punctuation { + color: #5F6364; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.function-name, +.token.constant, +.token.symbol, +.token.deleted { + color: #c92c2c; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.function, +.token.builtin, +.token.inserted { + color: #2f9c0a; +} + +.token.operator, +.token.entity, +.token.url, +.token.variable { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword, +.token.class-name { + color: #1990b8; +} + +.token.regex, +.token.important { + color: #e90; +} + +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.important { + font-weight: normal; +} + +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.namespace { + opacity: .7; +} + +@media screen and (max-width: 767px) { + pre[class*="language-"]:before, + pre[class*="language-"]:after { + bottom: 14px; + box-shadow: none; + } + +} + +/* Plugin styles: Line Numbers */ +pre[class*="language-"].line-numbers.line-numbers { + padding-left: 0; +} + +pre[class*="language-"].line-numbers.line-numbers code { + padding-left: 3.8em; +} + +pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows { + left: 0; +} + +/* Plugin styles: Line Highlight */ +pre[class*="language-"][data-line] { + padding-top: 0; + padding-bottom: 0; + padding-left: 0; +} +pre[data-line] code { + position: relative; + padding-left: 4em; +} +pre .line-highlight { + margin-top: 0; +} + +pre[data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; /* Same as .prism’s padding-top */ + + background: hsla(24, 20%, 50%,.08); + background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + + pointer-events: none; + + line-height: inherit; + white-space: pre; +} + + .line-highlight:before, + .line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: .4em; + left: .6em; + min-width: 1em; + padding: 0 .5em; + background-color: hsla(24, 20%, 50%,.4); + color: hsl(24, 20%, 95%); + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: .3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; + } + + .line-highlight[data-end]:after { + content: attr(data-end); + top: auto; + bottom: .4em; + } + +.line-numbers .line-highlight:before, +.line-numbers .line-highlight:after { + content: none; +} + +pre[id].linkable-line-numbers span.line-numbers-rows { + pointer-events: all; +} +pre[id].linkable-line-numbers span.line-numbers-rows > span:before { + cursor: pointer; +} +pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: rgba(128, 128, 128, .2); +} + +pre[class*="language-"].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre[class*="language-"].line-numbers > code { + position: relative; + white-space: inherit; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } + diff --git a/data/templates/woocommerce/css/template.css b/data/templates/woocommerce/css/template.css deleted file mode 100644 index 2db115794f..0000000000 --- a/data/templates/woocommerce/css/template.css +++ /dev/null @@ -1,1069 +0,0 @@ -:root { - /* Typography */ - --font-primary: "proxima-nova", sans-serif; - --font-secondary: "proxima-nova", sans-serif; - --line-height--primary: 1.6; - --letter-spacing--primary: .05rem; - --text-base-size: 1em; - --text-scale-ratio: 1.2; - - --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio)); - --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio)); - --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio)); - --text-md: var(--text-base-size); - --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio)); - --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio)); - --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); - --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); - --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); - --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); - - /* Colors */ - --primary-color: hsl(267, 38%, 52%); - --primary-color-darken: hsl(267, 57%, 40%); - --primary-color-darker: hsl(267, 57%, 20%); - --primary-color-lighten: hsl(267, 57%, 80%); - --primary-color-lighter: hsl(267, 57%, 97%); - - --text-color: #333; - - --top-header-bg-color: #fff; - --top-header-text-color: var(--text-color); - --header-bg-color: var(--primary-color); - --code-background-color: var(--primary-color-lighter); - --code-border-color: var(--primary-color-darken); - --button-border-color: var(--primary-color-darken); - --button-color: transparent; - --button-color-primary: var(--primary-color); - --button-text-color: #555; - --button-text-color-primary: white; - --popover-background-color: #f7f7f7; - --link-color-primary: var(--primary-color-darken); - --link-hover-color-primary: var(--primary-color-darker); - --form-field-border-color: #D1D1D1; - --form-field-color: #fff; - --admonition-success-color: var(--primary-color); - --admonition-border-color: silver; - --table-separator-color: var(--primary-color-lighten); - --title-text-color: white; - --title-text-shadow-color: var(--primary-color-darker); - - /* Grid */ - --container-width: 960px; - --top-header-height: calc(var(--text-lg) + 2 * var(--spacing-sm)); - - /* Spacing */ - --spacing-base-size: 1rem; - --spacing-scale-ratio: 1.5; - - --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); - --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); - --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); - --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio)); - --spacing-md: var(--spacing-base-size); - --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio)); - --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); - --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); - --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); - - --border-radius-base-size: 3px; -} - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-section { - box-sizing: border-box; - margin: 0 auto; - max-width: var(--container-width); - padding: 0 var(--spacing-lg); - position: relative; - width: 100%; -} - -.phpdocumentor-column, -.phpdocumentor-columns { - box-sizing: border-box; - float: left; - width: 100%; -} - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .phpdocumentor-section { - padding: 0; - width: 85%; - } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .phpdocumentor-section { - width: 80%; - } - - .phpdocumentor-column, - .phpdocumentor-columns { - margin-left: 4%; - } - - .phpdocumentor-column:first-child, - .phpdocumentor-columns:first-child { - margin-left: 0; - } - - .one.phpdocumentor-column, - .one.phpdocumentor-columns { - width: 4.66666666667%; - } - - .two.phpdocumentor-columns { - width: 13.3333333333%; - } - - .three.phpdocumentor-columns { - width: 22%; - } - - .four.phpdocumentor-columns { - width: 30.6666666667%; - } - - .five.phpdocumentor-columns { - width: 39.3333333333%; - } - - .six.phpdocumentor-columns { - width: 48%; - } - - .seven.phpdocumentor-columns { - width: 56.6666666667%; - } - - .eight.phpdocumentor-columns { - width: 65.3333333333%; - } - - .nine.phpdocumentor-columns { - width: 74.0%; - } - - .ten.phpdocumentor-columns { - width: 82.6666666667%; - } - - .eleven.phpdocumentor-columns { - width: 91.3333333333%; - } - - .twelve.phpdocumentor-columns { - margin-left: 0; - width: 100%; - } - - .one-third.phpdocumentor-column { - width: 30.6666666667%; - } - - .two-thirds.phpdocumentor-column { - width: 65.3333333333%; - } - - .one-half.phpdocumentor-column { - width: 48%; - } - - /* Offsets */ - .offset-by-one.phpdocumentor-column, - .offset-by-one.phpdocumentor-columns { - margin-left: 8.66666666667%; - } - - .offset-by-two.phpdocumentor-column, - .offset-by-two.phpdocumentor-columns { - margin-left: 17.3333333333%; - } - - .offset-by-three.phpdocumentor-column, - .offset-by-three.phpdocumentor-columns { - margin-left: 26%; - } - - .offset-by-four.phpdocumentor-column, - .offset-by-four.phpdocumentor-columns { - margin-left: 34.6666666667%; - } - - .offset-by-five.phpdocumentor-column, - .offset-by-five.phpdocumentor-columns { - margin-left: 43.3333333333%; - } - - .offset-by-six.phpdocumentor-column, - .offset-by-six.phpdocumentor-columns { - margin-left: 52%; - } - - .offset-by-seven.phpdocumentor-column, - .offset-by-seven.phpdocumentor-columns { - margin-left: 60.6666666667%; - } - - .offset-by-eight.phpdocumentor-column, - .offset-by-eight.phpdocumentor-columns { - margin-left: 69.3333333333%; - } - - .offset-by-nine.phpdocumentor-column, - .offset-by-nine.phpdocumentor-columns { - margin-left: 78.0%; - } - - .offset-by-ten.phpdocumentor-column, - .offset-by-ten.phpdocumentor-columns { - margin-left: 86.6666666667%; - } - - .offset-by-eleven.phpdocumentor-column, - .offset-by-eleven.phpdocumentor-columns { - margin-left: 95.3333333333%; - } - - .offset-by-one-third.phpdocumentor-column, - .offset-by-one-third.phpdocumentor-columns { - margin-left: 34.6666666667%; - } - - .offset-by-two-thirds.phpdocumentor-column, - .offset-by-two-thirds.phpdocumentor-columns { - margin-left: 69.3333333333%; - } - - .offset-by-one-half.phpdocumentor-column, - .offset-by-one-half.phpdocumentor-columns { - margin-left: 52%; - } -} - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -body { - color: var(--text-color); - font-family: var(--font-primary); - font-size: var(--text-md); - letter-spacing: var(--letter-spacing--primary); - line-height: var(--line-height--primary); -} - -/* Used for screen readers and such */ -.visually-hidden { - display: none; -} - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor h1, -.phpdocumentor h2, -.phpdocumentor h3, -.phpdocumentor h4, -.phpdocumentor h5, -.phpdocumentor h6 { - margin-bottom: var(--spacing-lg); - margin-top: var(--spacing-lg); - color: #000; -} - -.phpdocumentor h1 { - font-size: var(--text-xxxxl); - letter-spacing: var(--letter-spacing--primary); - line-height: 1.2; - margin-top: 0; -} - -.phpdocumentor h2 { - font-size: var(--text-xxxl); - letter-spacing: var(--letter-spacing--primary); - line-height: 1.25; - margin-top: 0; -} - -.phpdocumentor h3 { - font-size: var(--text-xxl); - letter-spacing: var(--letter-spacing--primary); - line-height: 1.3; -} - -.phpdocumentor h4 { - font-size: var(--text-xl); - letter-spacing: calc(var(--letter-spacing--primary) / 2); - line-height: 1.35; - margin-bottom: var(--spacing-md); -} - -.phpdocumentor h5 { - font-size: var(--text-lg); - letter-spacing: calc(var(--letter-spacing--primary) / 4); - line-height: 1.5; - margin-bottom: var(--spacing-md); - margin-top: var(--spacing-md); -} - -.phpdocumentor h6 { - font-size: var(--text-md); - letter-spacing: 0; - line-height: var(--line-height--primary); - margin-bottom: var(--spacing-md); - margin-top: var(--spacing-md); -} - -.phpdocumentor p { - margin-top: 0; -} - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor a { - color: var(--link-color-primary); -} - -.phpdocumentor a:hover { - color: var(--link-hover-color-primary); -} - -/* Buttons -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-button { - background-color: var(--button-color); - border: 1px solid var(--button-border-color); - border-radius: var(--border-radius-base-size); - box-sizing: border-box; - color: var(--button-text-color); - cursor: pointer; - display: inline-block; - font-size: var(--text-sm); - font-weight: 600; - height: 38px; - letter-spacing: .1rem; - line-height: 38px; - padding: 0 var(--spacing-xxl); - text-align: center; - text-decoration: none; - text-transform: uppercase; - white-space: nowrap; -} - -.phpdocumentor-button--wide { - width: 100%; -} - -.phpdocumentor-button:hover, -.phpdocumentor-button:focus { - border-color: #888; - color: #333; - outline: 0; -} - -.phpdocumentor-button.button-primary { - background-color: var(--button-color-primary); - border-color: var(--button-color-primary); - color: var(--button-text-color-primary); -} - -.phpdocumentor-button.phpdocumentor-button--primary:hover, -.phpdocumentor-button.phpdocumentor-button--primary:focus { - background-color: var(--link-color-primary); - border-color: var(--link-color-primary); - color: var(--button-text-color-primary); -} - -/* Forms -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-field { - background-color: var(--form-field-color); - border: 1px solid var(--form-field-border-color); - border-radius: var(--border-radius-base-size); - box-shadow: none; - box-sizing: border-box; - height: 38px; - padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */ -} - -/* Removes awkward default styles on some inputs for iOS */ -input[type="email"], -input[type="number"], -input[type="search"], -input[type="text"], -input[type="tel"], -input[type="url"], -input[type="password"], -textarea { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -.phpdocumentor-textarea { - min-height: 65px; - padding-bottom: var(--spacing-xxxs); - padding-top: var(--spacing-xxxs); -} - -.phpdocumentor-field:focus { - border: 1px solid var(--button-color-primary); - outline: 0; -} - -.phpdocumentor-label { - display: block; - margin-bottom: var(--spacing-xs); -} - -.phpdocumentor-fieldset { - border-width: 0; - padding: 0; -} - -input[type="checkbox"].phpdocumentor-field, -input[type="radio"].phpdocumentor-field { - display: inline; -} - -.phpdocumentor-label > .phpdocumentor-label--body { - display: inline-block; - font-weight: normal; - margin-left: var(--spacing-xs); -} - -/* Lists -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -div.phpdocumentor-list > ul, -ul.phpdocumentor-list { - list-style: circle inside; -} - -ol.phpdocumentor-list { - list-style: decimal inside; -} - -div.phpdocumentor-list > ul, -ol.phpdocumentor-list, -ul.phpdocumentor-list { - margin-top: 0; - padding-left: 0; -} - -div.phpdocumentor-list > ul ul, -ul.phpdocumentor-list ul.phpdocumentor-list, -ul.phpdocumentor-list ol.phpdocumentor-list, -ol.phpdocumentor-list ol.phpdocumentor-list, -ol.phpdocumentor-list ul.phpdocumentor-list { - font-size: var(--text-sm); - margin: var(--spacing-xs) 0 var(--spacing-xs) calc(var(--spacing-xs) * 2); -} - -li.phpdocumentor-list { - margin-bottom: var(--spacing-md); -} - -ul.phpdocumentor-breadcrumbs { - font-size: var(--text-sm); - list-style: none; - margin: 0; - padding: 0; -} - -ul.phpdocumentor-breadcrumbs > li { - display: inline-block; - margin: 0; -} - -ul.phpdocumentor-breadcrumbs > li + li:before { - color: #ccc; - content: "\\\A0"; - padding: 0 var(--spacing-xxs); -} - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-code { - background: var(--code-background-color); - border: 1px solid var(--code-border-color); - border-radius: var(--border-radius-base-size); - font-size: var(--text-sm); - padding: var(--spacing-xs) var(--spacing-sm); -} - -pre > .phpdocumentor-code { - display: block; - white-space: pre; -} - -/* Tables -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -th.phpdocumentor-heading, -td.phpdocumentor-cell { - padding: var(--spacing-xs) 0; - text-align: left; - display: block; -} - -th.phpdocumentor-heading { - border-bottom: 1px solid var(--table-separator-color); -} - -th.phpdocumentor-heading:first-child, -td.phpdocumentor-cell:first-child { - padding-left: 0; -} - -th.phpdocumentor-heading:last-child, -td.phpdocumentor-cell:last-child { - padding-right: 0; -} - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-button { - margin-bottom: var(--spacing-md); -} - -.phpdocumentor-field { - margin-bottom: var(--spacing-md); -} - -.phpdocumentor pre, -.phpdocumentor blockquote, -.phpdocumentor dl, -.phpdocumentor figure, -.phpdocumentor table, -.phpdocumentor p, -.phpdocumentor ul, -.phpdocumentor ol, -.phpdocumentor form { - margin-bottom: var(--spacing-md); -} - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-full-width { - box-sizing: border-box; - width: 100%; -} - -.phpdocumentor-max-full-width { - box-sizing: border-box; - max-width: 100%; -} - -.phpdocumentor-pull-right { - float: right; -} - -.phpdocumentor-pull-left { - float: left; -} - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.phpdocumentor-line { - border-top: 1px solid #E1E1E1; - border-width: 0; - margin-bottom: var(--spacing-xxl); - margin-top: var(--spacing-xxl); -} - -.phpdocumentor-admonition { - border: 1px solid var(--admonition-border-color); - border-radius: var(--border-radius-base-size); - padding: var(--spacing-sm) var(--spacing-md); -} - -.phpdocumentor-admonition--success { - border-color: var(--admonition-success-color); -} - -/* Clearing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ - -/* Self Clearing Goodness */ -.phpdocumentor-section:after, -.phpdocumentor-row:after, -.phpdocumentor-cf { - clear: both; - content: ""; - display: table; -} - -/* Elements -–––––––––––––––––––––––––––––––––––––––––––––––––– */ - -.phpdocumentor-top-header { - align-items: center; - background: var(--top-header-bg-color); - color: var(--top-header-text-color); - display: flex; - flex-direction: row; - font-size: var(--text-md); - min-height: var(--top-header-height); - padding: 0 var(--spacing-sm); - text-align: right; -} - -.phpdocumentor-top-header a { - color: var(--primary-color-darker); - display: inline-block; - text-decoration: none; -} -.phpdocumentor-top-header a span { - border-bottom: 1px solid transparent; - transition: border-bottom-color .2s ease-in-out; -} -.phpdocumentor-top-header a:hover { - color: var(--text-color); -} -.phpdocumentor-top-header a:hover span { - border-bottom: 1px solid var(--text-color); -} -.phpdocumentor-top-header a:not(:first-of-type):before { - display: inline-block; - color: #ccc; - content: "/"; - padding: 0 var(--spacing-xxs); -} - -.site-branding { - margin: 1.5em 0 1em; - text-align: left; -} - -.site-branding a::after { - content: 'DOCS'; - font-family: var(--font-primary); - color: #000; - font-size: 20px; - font-weight: 700; - line-height: 32.5px; - vertical-align: top; - letter-spacing: -2px; - margin-left: 8px; -} - -.main-navigation ul { - margin-bottom: 1em; - padding-left: 0; - text-align: left; -} - -.main-navigation a { - color: #333; - font-weight: 400; - font-size: .9em; - text-decoration: none; -} - -.main-navigation a:hover { - color: var(--primary-color); -} - -.phpdocumentor-header { - background: var(--header-bg-color); - margin-bottom: var(--spacing-xl); - position: relative; -} - -.phpdocumentor-header p { - color: white; - font-size: var(--text-lg); -} - -.phpdocumentor-title { - color: var(--title-text-color); - letter-spacing: .05rem; - line-height: 1.2; - text-align: center; - padding: 0.67em 0; - margin-top: 0; -} -.phpdocumentor-title small { - text-shadow: none; - font-size: var(--text-xxs); - display: block; - margin: var(--spacing-sm) 0; -} - -.phpdocumentor-summary, -.phpdocumentor-class__summary, -.phpdocumentor-trait__summary, -.phpdocumentor-interface__summary { - font-style: italic; -} - -.phpdocumentor-element__package, -.phpdocumentor-interface__extends, -.phpdocumentor-class__extends, -.phpdocumentor-class__implements { - display: block; - font-size: var(--text-xxs); - font-weight: normal; - opacity: .7; -} - -.phpdocumentor-element__package .phpdocumentor-breadcrumbs { - display: inline; -} - -.phpdocumentor-description { - margin-bottom: var(--spacing-md); -} - -.phpdocumentor-element, -.phpdocumentor-function, -.phpdocumentor-constant, -.phpdocumentor-property, -.phpdocumentor-method { - position: relative; -} - -.phpdocumentor-element--deprecated .phpdocumentor-function__name, -.phpdocumentor-element--deprecated .phpdocumentor-method__name, -.phpdocumentor-element--deprecated .phpdocumentor-constant__name, -.phpdocumentor-element--deprecated .phpdocumentor-property__name, -.phpdocumentor-signature--deprecated .phpdocumentor-signature__name { - text-decoration: line-through; -} - -.phpdocumentor-signature { - display: inline-block; - font-size: var(--text-sm); - margin-bottom: var(--spacing-md); -} - -.phpdocumentor-table_of_contents { - font-size: var(--text-sm); -} - -.phpdocumentor .phpdocumentor-sidebar li { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} - -.phpdocumentor .phpdocumentor-sidebar__category-header { - font-size: var(--text-lg); - margin-bottom: var(--spacing-sm); -} - -.phpdocumentor .phpdocumentor-sidebar__root-package, -.phpdocumentor .phpdocumentor-sidebar__root-namespace { - font-size: var(--text-md); - margin-bottom: var(--spacing-xxs); -} - -.phpdocumentor-constant:not(:last-child), -.phpdocumentor-function:not(:last-child), -.phpdocumentor-method:not(:last-child), -.phpdocumentor-property:not(:last-child) { - border-bottom: 1px solid var(--primary-color-lighten); - padding-bottom: var(--spacing-lg); -} - -.phpdocumentor-functions__header, -.phpdocumentor-constants__header, -.phpdocumentor-properties__header, -.phpdocumentor-methods__header { - border-bottom: 2px solid var(--primary-color-darken); - padding-bottom: var(--spacing-md); -} - -.phpdocumentor-content { - position: relative; -} - -.phpdocumentor-search-results { - backdrop-filter: blur(5px); - background: var(--popover-background-color); - min-height: 100%; - left: calc(var(--spacing-lg) * -1); - position: absolute; - padding: 0 var(--spacing-lg); - opacity: 1; - pointer-events: all; - transition: opacity .3s, background .3s; - z-index: 1000; -} - -.phpdocumentor-search-results--hidden { - background: transparent; - backdrop-filter: blur(0); - opacity: 0; - pointer-events: none; -} - -.phpdocumentor-search-results__entries { - list-style: none; - padding: 0; -} - -.phpdocumentor-search-results__entry { - border-bottom: 1px solid var(--table-separator-color); - padding: var(--spacing-sm) var(--spacing-md); - text-align: left; -} - -.phpdocumentor-search-results__entry a { - color: var(--link-color-primary); - display: block; -} - -.phpdocumentor-search-results__entry a:hover { - color: var(--link-hover-color-primary); -} - -.phpdocumentor-search-results__entry small { - margin-top: var(--spacing-xs); - margin-bottom: var(--spacing-md); - color: var(--primary-color-darker); - display: block; -} -.phpdocumentor-search-results__entry h3 { - line-break: anywhere; - margin: 0; -} - -.phpdocumentor-search { - position: relative; - display: none; /** disable by default for non-js flow */ - opacity: .3; /** white-out default for loading indication */ - transition: opacity .3s, background .3s; - text-align: center; -} -.phpdocumentor-search:before { - content: ''; - background: transparent; - left: calc(-1 * var(--spacing-md)); - height: 100%; - position: absolute; - right: -15px; - z-index: -1; - opacity: 0; - transition: opacity .3s, background .3s; -} - -.phpdocumentor-search--enabled { - display: block; -} - -.phpdocumentor-search--active { - opacity: 1; -} -.phpdocumentor-search--has-results:before { - background: var(--popover-background-color); - opacity: 1; -} - -.phpdocumentor-search input:disabled { - background-color: lightgray; -} - -.phpdocumentor-search__field { - background-color: #fff; - border: 0; - border-radius: 50px; - color: #333; - font-size: 18px; - line-height: 50px; - padding-left: 45px; - width: 80%; - height: 50px; -} - -.phpdocumentor-search__field:focus { - border: none; -} - -.phpdocumentor-element-found-in { - font-size: var(--text-sm); - color: gray; - margin-bottom: var(--spacing-md); -} - -.phpdocumentor-class-graph { - width: 100%; height: 600px; border:1px solid black; overflow: hidden -} - -.phpdocumentor-class-graph__graph { - width: 100%; -} - -/* Other -–––––––––––––––––––––––––––––––––––––––––––––––––– */ - -.phpdocumentor-content h1 .headerlink, -.phpdocumentor-content h2 .headerlink, -.phpdocumentor-content h3 .headerlink, -.phpdocumentor-content h4 .headerlink, -.phpdocumentor-content h5 .headerlink, -.phpdocumentor-content h6 .headerlink { - display: none; - padding-left: 10px; - text-decoration: none; - color: silver; -} - -.phpdocumentor-content h1:hover .headerlink, -.phpdocumentor-content h2:hover .headerlink, -.phpdocumentor-content h3:hover .headerlink, -.phpdocumentor-content h4:hover .headerlink, -.phpdocumentor-content h5:hover .headerlink, -.phpdocumentor-content h6:hover .headerlink { - display: initial; -} - -.phpdocumentor-content th, -.phpdocumentor-content h1, -.phpdocumentor-content h2, -.phpdocumentor-content h3, -.phpdocumentor-content h4, -.phpdocumentor-content h5, -.phpdocumentor-content h6, -.phpdocumentor-sidebar h1, -.phpdocumentor-sidebar h2, -.phpdocumentor-sidebar h3, -.phpdocumentor-sidebar h4, -.phpdocumentor-sidebar h5, -.phpdocumentor-sidebar h6 { - line-break: anywhere; -} - -.phpdocumentor-footer { - background-color: #f7f7f7; - font-size: var(--text-xs); - font-weight: 700; - margin-top: var(--spacing-lg); - padding: var(--spacing-lg); - text-align: center; - text-transform: uppercase; -} - -a.to-top { - -webkit-border-radius: 50%; - border-radius: 50%; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - background: #7f54b3; - display: block; - position: fixed; - bottom: 2em; - right: 2em; - opacity: .7; - width: 2em; - height: 2em; - text-indent: -999em; - z-index: 1100; -} - -a.to-top::before { - content: "⇫"; - font-size: 1em; - font-weight: 400; - line-height: 100%; - width: 1.758em; - color: #fff; - display: block; - position: absolute; - top: 7px; - left: 2px; - right: 0; - bottom: 0; - text-indent: 0; - text-align: center; -} - -abbr[title] { - border-bottom: none; -} - -/* Media Queries -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* -Note: The best way to structure the use of media queries is to create the queries -near the relevant code. For example, if you wanted to change the styles for buttons -on small devices, paste the mobile query code up in the buttons section and style it -there. -*/ - -/* Larger than mobile */ -@media (min-width: 400px) { - .phpdocumentor-top-header .phpdocumentor-section { - display: flex; - } - - .site-branding { - flex: 35%; - } - - .site-branding a::after { - font-size: 26px; - } - - .main-navigation { - flex: 65%; - } - - .main-navigation ul { - display: flex; - list-style: none; - margin: 0; - } - - .main-navigation ul > li:hover { - background: #e6e6e6; - transition: all ease-in-out .2s; - } - - .main-navigation a { - padding: 2.5em .8em; - font-size: .8em; - } - - .main-navigation a:hover { - color: #333; - } - - th.phpdocumentor-heading, - td.phpdocumentor-cell { - border-bottom: 1px solid var(--table-separator-color); - padding: var(--spacing-sm) var(--spacing-md); - text-align: left; - display: table-cell; - } - - th.phpdocumentor-heading { - min-width: 30%; - } - - td.phpdocumentor-cell { - border-bottom: 1px solid var(--table-separator-color); - } - - .phpdocumentor-title { - font-size: var(--text-xxxxl); - } -} - -/* Larger than phablet (also point when grid becomes active) */ -@media (min-width: 550px) { -} - -/* Larger than tablet */ -@media (min-width: 750px) { -} - -/* Larger than desktop */ -@media (min-width: 1000px) { -} - -/* Larger than Desktop HD */ -@media (min-width: 1200px) { -} diff --git a/data/templates/woocommerce/css/template.css.twig b/data/templates/woocommerce/css/template.css.twig new file mode 100644 index 0000000000..cdd9d18730 --- /dev/null +++ b/data/templates/woocommerce/css/template.css.twig @@ -0,0 +1,10 @@ +{% include 'components/summary.css.twig' %} +{% include 'components/description.css.twig' %} +{% include 'components/element.css.twig' %} +{% include 'components/signature.css.twig' %} +{% include 'components/table-of-contents.css.twig' %} +{% include 'components/element-found-in.css.twig' %} +{% include 'components/class-graph.css.twig' %} +{% include 'components/tag-list.css.twig' %} +{% include 'css/custom.css.twig' %} +{% include 'css/prism.css.twig' %} diff --git a/data/templates/woocommerce/css/utilities.css.twig b/data/templates/woocommerce/css/utilities.css.twig new file mode 100644 index 0000000000..08d7607aa4 --- /dev/null +++ b/data/templates/woocommerce/css/utilities.css.twig @@ -0,0 +1,4 @@ +/* Used for screen readers and such */ +.visually-hidden { + display: none; +} diff --git a/data/templates/woocommerce/css/variables.css.twig b/data/templates/woocommerce/css/variables.css.twig new file mode 100644 index 0000000000..05e2b7a25c --- /dev/null +++ b/data/templates/woocommerce/css/variables.css.twig @@ -0,0 +1,75 @@ +:root { + /* Typography */ + --font-primary: 'Source Sans Pro', Helvetica, Arial, sans-serif; + --font-secondary: "proxima-nova", sans-serif; + --line-height--primary: 1.6; + --letter-spacing--primary: .05rem; + --text-base-size: 1em; + --text-scale-ratio: 1.2; + + --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio)); + --text-md: var(--text-base-size); + --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio)); + --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + + /* Colors */ + --primary-color: hsl(267, 38%, 52%); + --primary-color-darken: hsl(267, 38%, 52%); + --primary-color-darker: hsl(267, 57%, 20%); + --primary-color-lighten: hsl(267, 57%, 80%); + --primary-color-lighter: hsl(267, 57%, 97%); + --dark-gray: #d1d1d1; + --light-gray: #f0f0f0; + + --text-color: #333; + + --header-height: var(--spacing-xxxxl); + --top-header-bg-color: hsl(0, 0%, 100%); + --top-header-text-color: var(--text-color); + --header-bg-color: var(--primary-color); + --code-background-color: hsl(208, 56%, 95%); + --code-border-color: hsl(209, 59%, 85%); + --button-border-color: var(--primary-color-darken); + --button-color: transparent; + --button-color-primary: var(--primary-color); + --button-text-color: hsl(0, 0%, 33%); + --button-text-color-primary: white; + --popover-background-color: hsla(285, 29%, 97%, 0.9); + --link-color-primary: var(--primary-color-darken); + --link-hover-color-primary: var(--primary-color-darker); + --form-field-border-color: var(--dark-gray); + --form-field-color: #fff; + --admonition-success-color: var(--primary-color); + --admonition-border-color: silver; + --table-separator-color: var(--primary-color-lighten); + --title-text-color: white; + + --sidebar-border-color: var(--primary-color-lighten); + + /* Grid */ + --container-width: 1400px; + --top-header-height: calc(var(--text-lg) + 2 * var(--spacing-sm)); + + /* Spacing */ + --spacing-base-size: 1rem; + --spacing-scale-ratio: 1.5; + + --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio)); + --spacing-md: var(--spacing-base-size); + --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio)); + --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + + --border-radius-base-size: 3px; +} diff --git a/data/templates/woocommerce/file.html.twig b/data/templates/woocommerce/file.html.twig index ca475f879a..0da268e6b9 100644 --- a/data/templates/woocommerce/file.html.twig +++ b/data/templates/woocommerce/file.html.twig @@ -1,65 +1,28 @@ {% extends 'base.html.twig' %} -{% block content %} - {% include 'breadcrumbs.html.twig' %} - -

{{ node.name }}

- - {% if node.interfaces is not empty or node.classes is not empty %} -

Interfaces, Classes and Traits

-
- {% for interface in node.interfaces %} -
{{ interface|route('class:short') }}
-
{{ interface.summary }}
- {% endfor %} - - {% for class in node.classes %} -
{{ class|route('class:short') }}
-
{{ class.summary }}
- {% endfor %} - - {% for trait in node.traits %} -
{{ trait|route('class:short') }}
-
{{ trait.summary }}
- {% endfor %} -
- {% endif %} - - {% if node.constants is not empty or node.functions is not empty %} -

Table of Contents

- - {% for constant in node.constants %} - - - - - - {% endfor %} - {% for function in node.functions %} - - - - - - {% endfor %} -
{{ constant|route('class:short') }}{{ constant.summary }}{{ constant.value }}
{{ function|route('class:short') }}{{ function.summary }}{{ function.type|route('class:short'|join('|')|raw) }}
- {% endif %} - - {% if node.constants is not empty %} -

Constants

- - {% endif %} +{% block javascripts %} + + +{% endblock %} - {% if node.functions is not empty %} -
-

Functions

- {% for function in node.functions %} - {% include 'function.html.twig' %} - {% endfor %} -
- {% endif %} +{% block content %} + {% include('components/breadcrumbs.html.twig') %} + +
+ {{ include('components/file-title.html.twig') }} + {# {{ include('components/table-of-contents.html.twig') }} #} + {{ include('components/constants.html.twig') }} + {{ include('components/functions.html.twig') }} + {% if project.settings.shouldIncludeSource %} +

+ Source code + +

+
{{ node.source|raw|escape }}
+ {% endif %} +
{% endblock %} diff --git a/data/templates/woocommerce/function.html.twig b/data/templates/woocommerce/function.html.twig deleted file mode 100644 index d390f9c754..0000000000 --- a/data/templates/woocommerce/function.html.twig +++ /dev/null @@ -1,82 +0,0 @@ - -
-

{{ function.name }}()

- - - - {% if function.summary %} -

{{ function.summary }}

- {% endif %} - - {{ function.visibility }} - {% if function.abstract %}abstract{% endif %} - {% if function.final %}final{% endif %} - {% if function.static %}static{% endif %} - {{ function.name }}( - {% for argument in function.arguments %} - - {% if argument.default %}[{% endif %}{% if not loop.first %}, {% endif %} - {% if argument.isVariadic %}...{% endif %} - {%- if argument.byReference -%}&{%- endif -%} - ${{ argument.name }} : - {{ argument.type|route('class:short')|join('|')|raw }} - {% if argument.default %} = {{ argument.default }} ]{% endif %} - - {% endfor %} - ) - : {{ function.response.type|route('class:short')|join('|')|raw }} - - - {% if function.description %} -
{{ function.description|markdown }}
- {% endif %} - - {% if function.arguments|length > 0 %} -
Parameters
-
- {% for argument in function.arguments %} -
- ${{ argument.name }} - : {{ argument.type|route('class:short')|join('|')|raw }} - {% if argument.default %} = {{ argument.default }}{% endif %} -
-
{{ argument.description|default('')|markdown }}
- {% endfor %} -
- {% endif %} - - {% set visibleTags = function.tags|filter((v,k) => k not in ['param', 'return', 'package']) %} - {% if visibleTags|length > 0 %} -
Tags
-
- {% for name,seriesOfTag in visibleTags %} - {% for tag in seriesOfTag %} -
- {{ name }} -
-
{{ tag.description|default('')|markdown }}
- {% endfor %} - {% endfor %} -
- {% endif %} - - {% if (function.response.type and function.response.type != 'void') or function.response.description %} -
Return values
- {{ function.response.type|route('class:short')|join('|')|raw }} - {% if function.response.description %} - — {{ function.response.description|markdown }} - {% endif %} - {% endif %} - -
diff --git a/data/templates/woocommerce/hooks/hooks.html.twig b/data/templates/woocommerce/hooks/hooks.html.twig index f2d310a253..cb5fb7d23b 100644 --- a/data/templates/woocommerce/hooks/hooks.html.twig +++ b/data/templates/woocommerce/hooks/hooks.html.twig @@ -1,10391 +1,9 @@ {% extends 'base.html.twig' %} -{% block stylesheets %} -{% endblock %} - -{% block javascripts %} -{% endblock %} - {% block content %}

Action and Filter Hook Reference

This is simply a list of action and filter hooks found within WooCommerce files. View the source to see supported params and usage.

- -
-

Template Files

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
woocommerce_account_content - actionmy-account.php
woocommerce_account_dashboard - actiondashboard.php
woocommerce_account_downloads_column_$COLUMN_ID - actionorder-downloads.php
woocommerce_account_navigation - actionmy-account.php
woocommerce_account_payment_methods_column_$COLUMN_ID - actionpayment-methods.php
woocommerce_after_account_downloads - actiondownloads.php
woocommerce_after_account_navigation - actionnavigation.php
woocommerce_after_account_orders - actionorders.php
woocommerce_after_account_payment_methods - actionpayment-methods.php
woocommerce_after_available_downloads - actiondownloads.php, my-downloads.php
woocommerce_after_cart - actioncart.php
woocommerce_after_cart_contents - actioncart.php
woocommerce_after_cart_item_name - actioncart.php
woocommerce_after_cart_table - actioncart.php
woocommerce_after_cart_totals - actioncart-totals.php
woocommerce_after_checkout_billing_form - actionform-billing.php
woocommerce_after_checkout_form - actionform-checkout.php
woocommerce_after_checkout_registration_form - actionform-billing.php
woocommerce_after_checkout_shipping_form - actionform-shipping.php
woocommerce_after_customer_login_form - actionform-login.php
woocommerce_after_edit_account_address_form - actionform-edit-address.php
woocommerce_after_edit_account_form - actionform-edit-account.php
woocommerce_after_edit_address_form_$LOAD_ADDRESS - actionform-edit-address.php
woocommerce_after_lost_password_form - actionform-lost-password.php
woocommerce_after_main_content - actionarchive-product.php, single-product.php
woocommerce_after_mini_cart - actionmini-cart.php
woocommerce_after_my_account - actiondashboard.php
woocommerce_after_order_notes - actionform-shipping.php
woocommerce_after_reset_password_form - actionform-reset-password.php
woocommerce_after_shipping_calculator - actionshipping-calculator.php
woocommerce_after_shipping_rate - actioncart-shipping.php
woocommerce_after_shop_loop - actionarchive-product.php
woocommerce_after_shop_loop_item - actioncontent-product.php
woocommerce_after_shop_loop_item_title - actioncontent-product.php
woocommerce_after_single_product - actioncontent-single-product.php
woocommerce_after_single_product_summary - actioncontent-single-product.php
woocommerce_after_subcategory - actioncontent-product_cat.php
woocommerce_after_subcategory_title - actioncontent-product_cat.php
woocommerce_archive_description - actionarchive-product.php
woocommerce_auth_page_footer - actionform-grant-access.php
woocommerce_auth_page_header - actionform-grant-access.php
woocommerce_available_download_count - filtermy-downloads.php
woocommerce_available_download_end - actionmy-downloads.php
woocommerce_available_download_link - filtermy-downloads.php
woocommerce_available_download_start - actionmy-downloads.php
woocommerce_available_downloads - actiondownloads.php
woocommerce_before_account_downloads - actiondownloads.php
woocommerce_before_account_navigation - actionnavigation.php
woocommerce_before_account_orders - actionorders.php
woocommerce_before_account_orders_pagination - actionorders.php
woocommerce_before_account_payment_methods - actionpayment-methods.php
woocommerce_before_available_downloads - actiondownloads.php, my-downloads.php
woocommerce_before_cart - actioncart.php
woocommerce_before_cart_contents - actioncart.php
woocommerce_before_cart_table - actioncart.php
woocommerce_before_cart_totals - actioncart-totals.php
woocommerce_before_checkout_billing_form - actionform-billing.php
woocommerce_before_checkout_form - actionform-checkout.php
woocommerce_before_checkout_registration_form - actionform-billing.php
woocommerce_before_checkout_shipping_form - actionform-shipping.php
woocommerce_before_customer_login_form - actionform-login.php
woocommerce_before_edit_account_address_form - actionform-edit-address.php
woocommerce_before_edit_account_form - actionform-edit-account.php
woocommerce_before_edit_address_form_$LOAD_ADDRESS - actionform-edit-address.php
woocommerce_before_lost_password_form - actionform-lost-password.php
woocommerce_before_main_content - actionarchive-product.php, single-product.php
woocommerce_before_mini_cart - actionmini-cart.php
woocommerce_before_mini_cart_contents - actionmini-cart.php
woocommerce_before_my_account - actiondashboard.php
woocommerce_before_order_notes - actionform-shipping.php
woocommerce_before_reset_password_form - actionform-reset-password.php
woocommerce_before_shipping_calculator - actionshipping-calculator.php
woocommerce_before_shop_loop - actionarchive-product.php
woocommerce_before_shop_loop_item - actioncontent-product.php
woocommerce_before_shop_loop_item_title - actioncontent-product.php
woocommerce_before_single_product - actioncontent-single-product.php
woocommerce_before_single_product_summary - actioncontent-single-product.php
woocommerce_before_subcategory - actioncontent-product_cat.php
woocommerce_before_subcategory_title - actioncontent-product_cat.php
woocommerce_cart_actions - actioncart.php
woocommerce_cart_collaterals - actioncart.php
woocommerce_cart_contents - actioncart.php
woocommerce_cart_coupon - actioncart.php
woocommerce_cart_has_errors - actioncart-errors.php
woocommerce_cart_is_empty - actioncart-empty.php
woocommerce_cart_item_backorder_notification - filtercart.php
woocommerce_cart_item_class - filterreview-order.php, cart.php
woocommerce_cart_item_name - filterreview-order.php, cart.php, mini-cart.php
woocommerce_cart_item_permalink - filtercart.php, mini-cart.php
woocommerce_cart_item_price - filtercart.php, mini-cart.php
woocommerce_cart_item_product - filterreview-order.php, cart.php, mini-cart.php
woocommerce_cart_item_product_id - filtercart.php, mini-cart.php
woocommerce_cart_item_quantity - filtercart.php
woocommerce_cart_item_remove_link - filtercart.php, mini-cart.php
woocommerce_cart_item_subtotal - filterreview-order.php, cart.php
woocommerce_cart_item_thumbnail - filtercart.php, mini-cart.php
woocommerce_cart_item_visible - filtercart.php
woocommerce_cart_no_shipping_available_html - filtercart-shipping.php
woocommerce_cart_totals_after_order_total - actioncart-totals.php
woocommerce_cart_totals_after_shipping - actioncart-totals.php
woocommerce_cart_totals_before_order_total - actioncart-totals.php
woocommerce_cart_totals_before_shipping - actioncart-totals.php
woocommerce_checkout_after_customer_details - actionform-checkout.php
woocommerce_checkout_after_order_review - actionform-checkout.php
woocommerce_checkout_after_terms_and_conditions - actionterms.php
woocommerce_checkout_before_customer_details - actionform-checkout.php
woocommerce_checkout_before_order_review - actionform-checkout.php
woocommerce_checkout_before_order_review_heading - actionform-checkout.php
woocommerce_checkout_before_terms_and_conditions - actionterms.php
woocommerce_checkout_billing - actionform-checkout.php
woocommerce_checkout_cart_item_quantity - filterreview-order.php
woocommerce_checkout_cart_item_visible - filterreview-order.php
woocommerce_checkout_coupon_message - filterform-coupon.php
woocommerce_checkout_must_be_logged_in_message - filterform-checkout.php
woocommerce_checkout_order_review - actionform-checkout.php
woocommerce_checkout_shipping - actionform-checkout.php
woocommerce_checkout_show_terms - filterterms.php
woocommerce_checkout_terms_and_conditions - actionterms.php
woocommerce_comment_pagination_args - filtersingle-product-reviews.php
woocommerce_create_account_default_checked - filterform-billing.php
woocommerce_edit_account_form - actionform-edit-account.php
woocommerce_edit_account_form_end - actionform-edit-account.php
woocommerce_edit_account_form_start - actionform-edit-account.php
woocommerce_edit_account_form_tag - actionform-edit-account.php
woocommerce_email_after_order_table - actionemail-order-details.php
woocommerce_email_before_order_table - actionemail-order-details.php
woocommerce_email_customer_details - actionadmin-cancelled-order.php, admin-failed-order.php, - admin-new-order.php, customer-completed-order.php, customer-invoice.php, customer-note.php, - customer-on-hold-order.php, customer-processing-order.php, customer-refunded-order.php
woocommerce_email_downloads_column_$COLUMN_ID - actionemail-downloads.php
woocommerce_email_footer - actionadmin-cancelled-order.php, admin-failed-order.php, - admin-new-order.php, customer-completed-order.php, customer-invoice.php, - customer-new-account.php, customer-note.php, customer-on-hold-order.php, - customer-processing-order.php, customer-refunded-order.php, customer-reset-password.php
woocommerce_email_footer_text - filteremail-footer.php
woocommerce_email_header - actionadmin-cancelled-order.php, admin-failed-order.php, - admin-new-order.php, customer-completed-order.php, customer-invoice.php, - customer-new-account.php, customer-note.php, customer-on-hold-order.php, - customer-processing-order.php, customer-refunded-order.php, customer-reset-password.php
woocommerce_email_order_details - actionadmin-cancelled-order.php, admin-failed-order.php, - admin-new-order.php, customer-completed-order.php, customer-invoice.php, customer-note.php, - customer-on-hold-order.php, customer-processing-order.php, customer-refunded-order.php
woocommerce_email_order_item_quantity - filteremail-order-items.php
woocommerce_email_order_meta - actionadmin-cancelled-order.php, admin-failed-order.php, - admin-new-order.php, customer-completed-order.php, customer-invoice.php, customer-note.php, - customer-on-hold-order.php, customer-processing-order.php, customer-refunded-order.php
woocommerce_enable_order_notes_field - filterform-shipping.php
woocommerce_login_form - actionform-login.php
woocommerce_login_form_end - actionform-login.php
woocommerce_login_form_start - actionform-login.php
woocommerce_loop_add_to_cart_link - filteradd-to-cart.php
woocommerce_lost_password_confirmation_message - filterlost-password-confirmation.php
woocommerce_lost_password_message - filterform-lost-password.php
woocommerce_lostpassword_form - actionform-lost-password.php
woocommerce_mini_cart_contents - actionmini-cart.php
woocommerce_mini_cart_item_class - filtermini-cart.php
woocommerce_my_account_edit_address_title - filterform-edit-address.php
woocommerce_my_account_get_addresses - filtermy-address.php
woocommerce_my_account_my_address_description - filtermy-address.php
woocommerce_my_account_my_downloads_title - filtermy-downloads.php
woocommerce_my_account_my_orders_column_$COLUMN_ID - actionmy-orders.php, orders.php
woocommerce_my_account_my_orders_columns - filtermy-orders.php
woocommerce_my_account_my_orders_query - filtermy-orders.php
woocommerce_my_account_my_orders_title - filtermy-orders.php
woocommerce_no_available_payment_methods_message - filterform-pay.php, payment.php
woocommerce_no_products_found - actionarchive-product.php
woocommerce_no_shipping_available_html - filtercart-shipping.php
woocommerce_order_button_html - filterpayment.php
woocommerce_order_details_after_customer_details - actionorder-details-customer.php
woocommerce_order_details_after_order_table - actionorder-details.php
woocommerce_order_details_after_order_table_items - actionorder-details.php
woocommerce_order_details_before_order_table - actionorder-details.php
woocommerce_order_details_before_order_table_items - actionorder-details.php
woocommerce_order_item_class - filterorder-details-item.php, email-order-items.php, form-pay.php
woocommerce_order_item_meta_end - actionorder-details-item.php, email-order-items.php, form-pay.php
woocommerce_order_item_meta_start - actionorder-details-item.php, email-order-items.php, form-pay.php
woocommerce_order_item_name - filterorder-details-item.php, email-order-items.php, form-pay.php
woocommerce_order_item_permalink - filterorder-details-item.php
woocommerce_order_item_quantity_html - filterorder-details-item.php, form-pay.php
woocommerce_order_item_thumbnail - filteremail-order-items.php
woocommerce_order_item_visible - filterorder-details-item.php, email-order-items.php, form-pay.php
woocommerce_order_tracking_status - filtertracking.php
woocommerce_pagination_args - filterpagination.php
woocommerce_pay_order_after_submit - actionform-pay.php
woocommerce_pay_order_before_submit - actionform-pay.php
woocommerce_pay_order_button_html - filterform-pay.php
woocommerce_proceed_to_checkout - actioncart-totals.php
woocommerce_product_meta_end - actionmeta.php
woocommerce_product_meta_start - actionmeta.php
woocommerce_product_price_class - filterprice.php
woocommerce_product_review_comment_form_args - filtersingle-product-reviews.php
woocommerce_product_review_list_args - filtersingle-product-reviews.php
woocommerce_product_thumbnails - actionproduct-image.php
woocommerce_product_thumbnails_columns - filterproduct-image.php
woocommerce_purchase_note_order_statuses - filterorder-details.php
woocommerce_purchase_order_item_types - filterorder-details.php
woocommerce_receipt_$ORDER->GET_PAYMENT_METHOD - actionorder-receipt.php
woocommerce_register_form - actionform-login.php
woocommerce_register_form_end - actionform-login.php
woocommerce_register_form_start - actionform-login.php
woocommerce_register_form_tag - actionform-login.php
woocommerce_reset_password_message - filterform-reset-password.php
woocommerce_resetpassword_form - actionform-reset-password.php
woocommerce_return_to_shop_redirect - filterdownloads.php, orders.php, cart-empty.php
woocommerce_review_after_comment_text - actionreview.php
woocommerce_review_before - actionreview.php
woocommerce_review_before_comment_meta - actionreview.php
woocommerce_review_before_comment_text - actionreview.php
woocommerce_review_comment_text - actionreview.php
woocommerce_review_meta - actionreview.php
woocommerce_review_order_after_cart_contents - actionreview-order.php
woocommerce_review_order_after_order_total - actionreview-order.php
woocommerce_review_order_after_payment - actionpayment.php
woocommerce_review_order_after_shipping - actionreview-order.php
woocommerce_review_order_after_submit - actionpayment.php
woocommerce_review_order_before_cart_contents - actionreview-order.php
woocommerce_review_order_before_order_total - actionreview-order.php
woocommerce_review_order_before_payment - actionpayment.php
woocommerce_review_order_before_shipping - actionreview-order.php
woocommerce_review_order_before_submit - actionpayment.php
woocommerce_reviews_title - filtersingle-product-reviews.php
woocommerce_sale_flash - filtersale-flash.php
woocommerce_share - actionshare.php
woocommerce_ship_to_different_address_checked - filterform-shipping.php
woocommerce_shipping_calculator_enable_city - filtershipping-calculator.php
woocommerce_shipping_calculator_enable_country - filtershipping-calculator.php
woocommerce_shipping_calculator_enable_postcode - filtershipping-calculator.php
woocommerce_shipping_calculator_enable_state - filtershipping-calculator.php
woocommerce_shipping_estimate_html - filtercart-shipping.php
woocommerce_shipping_may_be_available_html - filtercart-shipping.php
woocommerce_shop_loop - actionarchive-product.php
woocommerce_shop_loop_item_title - actioncontent-product.php
woocommerce_shop_loop_subcategory_title - actioncontent-product_cat.php
woocommerce_short_description - filtershort-description.php
woocommerce_show_page_title - filterarchive-product.php
woocommerce_sidebar - actionarchive-product.php, single-product.php
woocommerce_single_product_image_gallery_classes - filterproduct-image.php
woocommerce_single_product_image_thumbnail_html - filterproduct-image.php, product-thumbnails.php
woocommerce_single_product_summary - actioncontent-single-product.php
woocommerce_terms_is_checked_default - filterterms.php
woocommerce_thankyou - actionthankyou.php
woocommerce_thankyou_$ORDER->GET_PAYMENT_METHOD - actionthankyou.php
woocommerce_thankyou_order_received_text - filterthankyou.php
woocommerce_view_order - actiontracking.php, view-order.php
woocommerce_widget_cart_item_quantity - filtermini-cart.php
woocommerce_widget_cart_item_visible - filtermini-cart.php
woocommerce_widget_product_item_end - actioncontent-widget-product.php
woocommerce_widget_product_item_start - actioncontent-widget-product.php
woocommerce_widget_product_review_item_end - actioncontent-widget-reviews.php
woocommerce_widget_product_review_item_start - actioncontent-widget-reviews.php
woocommerce_widget_shopping_cart_before_buttons - actionmini-cart.php
woocommerce_widget_shopping_cart_buttons - actionmini-cart.php
- - -

Template Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
get_product_search_form - filterwc-template-functions.php
loop_shop_columns - filterwc-template-functions.php
post_class - filterwc-template-functions.php
pre_get_product_search_form - actionwc-template-functions.php
product_cat_class - filterwc-template-functions.php
single_product_archive_thumbnail_size - filterwc-template-functions.php
subcategory_archive_thumbnail_size - filterwc-template-functions.php
wc_empty_cart_message - filterwc-template-functions.php
wc_product_enable_dimensions_display - filterwc-template-functions.php
woocommerce_$PRODUCT->GET_TYPE_add_to_cart - actionwc-template-functions.php
woocommerce_account_$KEY_endpoint - actionwc-template-functions.php
woocommerce_after_output_product_categories - filterwc-template-functions.php
woocommerce_after_shop_loop - actionwc-template-functions.php
woocommerce_ajax_variation_threshold - filterwc-template-functions.php
woocommerce_archive_description - actionwc-template-functions.php
woocommerce_attribute - filterwc-template-functions.php
woocommerce_before_output_product_categories - filterwc-template-functions.php
woocommerce_before_shop_loop - actionwc-template-functions.php
woocommerce_breadcrumb - actionwc-template-functions.php
woocommerce_breadcrumb_defaults - filterwc-template-functions.php
woocommerce_breadcrumb_home_url - filterwc-template-functions.php
woocommerce_catalog_orderby - filterwc-template-functions.php
woocommerce_checkout_redirect_empty_cart - filterwc-template-functions.php
woocommerce_cross_sells_columns - filterwc-template-functions.php
woocommerce_cross_sells_order - filterwc-template-functions.php
woocommerce_cross_sells_orderby - filterwc-template-functions.php
woocommerce_cross_sells_total - filterwc-template-functions.php
woocommerce_default_catalog_orderby - filterwc-template-functions.php
woocommerce_demo_store - filterwc-template-functions.php
woocommerce_display_item_downloads - filterwc-template-functions.php
woocommerce_display_item_meta - filterwc-template-functions.php
woocommerce_display_product_attributes - filterwc-template-functions.php
woocommerce_dropdown_variation_attribute_options_args - filterwc-template-functions.php
woocommerce_dropdown_variation_attribute_options_html - filterwc-template-functions.php
woocommerce_email_order_items_args - filterwc-template-functions.php
woocommerce_email_order_items_table - filterwc-template-functions.php
woocommerce_form_field - filterwc-template-functions.php
woocommerce_form_field_$ARGS[type] - filterwc-template-functions.php
woocommerce_form_field_args - filterwc-template-functions.php
woocommerce_gallery_full_size - filterwc-template-functions.php
woocommerce_gallery_image_html_attachment_image_params - filterwc-template-functions.php
woocommerce_gallery_image_size - filterwc-template-functions.php
woocommerce_gallery_thumbnail_size - filterwc-template-functions.php
woocommerce_get_item_data - filterwc-template-functions.php
woocommerce_get_price_html_from_text - filterwc-template-functions.php
woocommerce_get_privacy_policy_text - filterwc-template-functions.php
woocommerce_get_product_class_include_taxonomies - filterwc-template-functions.php
woocommerce_get_product_subcategories_cache_key - filterwc-template-functions.php
woocommerce_get_remove_url - filterwc-template-functions.php
woocommerce_get_star_rating_html - filterwc-template-functions.php
woocommerce_get_stock_html - filterwc-template-functions.php
woocommerce_get_terms_and_conditions_checkbox_text - filterwc-template-functions.php
woocommerce_get_undo_url - filterwc-template-functions.php
woocommerce_loop_add_to_cart_args - filterwc-template-functions.php
woocommerce_loop_product_link - filterwc-template-functions.php
woocommerce_my_account_my_orders_query - filterwc-template-functions.php
woocommerce_no_products_found - actionwc-template-functions.php
woocommerce_order_button_text - filterwc-template-functions.php
woocommerce_output_related_products_args - filterwc-template-functions.php
woocommerce_page_title - filterwc-template-functions.php
woocommerce_privacy_policy_page_id - filterwc-template-functions.php
woocommerce_product_get_rating_html - filterwc-template-functions.php
woocommerce_product_loop_end - filterwc-template-functions.php
woocommerce_product_loop_start - filterwc-template-functions.php
woocommerce_product_loop_title_classes - filterwc-template-functions.php
woocommerce_product_subcategories_args - filterwc-template-functions.php
woocommerce_product_subcategories_hide_empty - filterwc-template-functions.php
woocommerce_product_thumbnails_large_size - filterwc-template-functions.php
woocommerce_quantity_input_args - filterwc-template-functions.php
woocommerce_quantity_input_classes - filterwc-template-functions.php
woocommerce_quantity_input_inputmode - filterwc-template-functions.php
woocommerce_quantity_input_max - filterwc-template-functions.php
woocommerce_quantity_input_min - filterwc-template-functions.php
woocommerce_quantity_input_pattern - filterwc-template-functions.php
woocommerce_quantity_input_step - filterwc-template-functions.php
woocommerce_redirect_single_search_result - filterwc-template-functions.php
woocommerce_related_products_columns - filterwc-template-functions.php
woocommerce_review_gravatar_size - filterwc-template-functions.php
woocommerce_show_page_title - filterwc-template-functions.php
woocommerce_single_product_flexslider_enabled - filterwc-template-functions.php
woocommerce_stock_html - filterwc-template-functions.php
woocommerce_subcategory_count_html - filterwc-template-functions.php
woocommerce_terms_and_conditions_page_id - filterwc-template-functions.php
woocommerce_theme_slug_for_templates - filterwc-template-functions.php
woocommerce_upsell_display_args - filterwc-template-functions.php
woocommerce_upsells_columns - filterwc-template-functions.php
woocommerce_upsells_orderby - filterwc-template-functions.php
woocommerce_upsells_total - filterwc-template-functions.php
woocommerce_valid_order_statuses_for_order_again - filterwc-template-functions.php
woocommerce_variation_option_name - filterwc-template-functions.php
- -

Shortcodes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
after_woocommerce_add_payment_method - actionclass-wc-shortcode-my-account.php
after_woocommerce_payactionclass-wc-shortcode-checkout.php
allow_password_resetfilterclass-wc-shortcode-my-account.php
before_woocommerce_add_payment_method - actionclass-wc-shortcode-my-account.php
before_woocommerce_payactionclass-wc-shortcode-checkout.php
lostpassword_postactionclass-wc-shortcode-my-account.php
password_resetactionclass-wc-shortcode-my-account.php
retrieve_passwordactionclass-wc-shortcode-my-account.php
woocommerce_account_$KEY_endpoint - actionclass-wc-shortcode-my-account.php
woocommerce_address_to_edit - filterclass-wc-shortcode-my-account.php
woocommerce_after_shop_loop - actionclass-wc-shortcode-products.php
woocommerce_before_checkout_form_cart_notices - actionclass-wc-shortcode-checkout.php
woocommerce_before_shop_loop - actionclass-wc-shortcode-products.php
woocommerce_calculated_shipping - actionclass-wc-shortcode-cart.php
woocommerce_cart_calculate_shipping_address - filterclass-wc-shortcode-cart.php
woocommerce_check_cart_itemsactionclass-wc-shortcode-cart.php, class-wc-shortcode-checkout.php
woocommerce_checkout_redirect_empty_cart - filterclass-wc-shortcode-checkout.php
woocommerce_get_username_from_email - filterclass-wc-shortcode-my-account.php
woocommerce_my_account_edit_address_field_value - filterclass-wc-shortcode-my-account.php
woocommerce_my_account_message - filterclass-wc-shortcode-my-account.php
woocommerce_pay_order_button_text - filterclass-wc-shortcode-checkout.php
woocommerce_pay_order_product_in_stock - filterclass-wc-shortcode-checkout.php
woocommerce_product_query_max_rand_cache_count - filterclass-wc-shortcode-products.php
woocommerce_reset_password_notification - actionclass-wc-shortcode-my-account.php
woocommerce_shortcode_$THIS->TYPE_loop_no_results - actionclass-wc-shortcode-products.php
woocommerce_shortcode_after_$THIS->TYPE_loop - actionclass-wc-shortcode-products.php
woocommerce_shortcode_before_$THIS->TYPE_loop - actionclass-wc-shortcode-products.php
woocommerce_shortcode_order_tracking_order_id - filterclass-wc-shortcode-order-tracking.php
woocommerce_shortcode_products_query - filterclass-wc-shortcode-products.php
woocommerce_thankyou_order_id - filterclass-wc-shortcode-checkout.php
woocommerce_thankyou_order_key - filterclass-wc-shortcode-checkout.php
woocommerce_track_order - actionclass-wc-shortcode-order-tracking.php
- -

Widgets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
woocommerce_after_widget_product_list - filterclass-wc-widget-products.php, class-wc-widget-recently-viewed.php, - class-wc-widget-top-rated-products.php
woocommerce_after_widget_product_review_list - filterclass-wc-widget-recent-reviews.php
woocommerce_before_widget_product_list - filterclass-wc-widget-products.php, class-wc-widget-recently-viewed.php, - class-wc-widget-top-rated-products.php
woocommerce_before_widget_product_review_list - filterclass-wc-widget-recent-reviews.php
woocommerce_get_filtered_term_product_counts_query - filterclass-wc-widget-layered-nav.php
woocommerce_layered_nav_any_label - filterclass-wc-widget-layered-nav.php
woocommerce_layered_nav_count - filterclass-wc-widget-layered-nav.php
woocommerce_layered_nav_count_maybe_cache - filterclass-wc-widget-layered-nav.php
woocommerce_layered_nav_link - filterclass-wc-widget-layered-nav.php
woocommerce_layered_nav_term_html - filterclass-wc-widget-layered-nav.php
woocommerce_price_filter_post_type - filterclass-wc-widget-price-filter.php
woocommerce_price_filter_sql - filterclass-wc-widget-price-filter.php
woocommerce_price_filter_widget_max_amount - filterclass-wc-widget-price-filter.php
woocommerce_price_filter_widget_min_amount - filterclass-wc-widget-price-filter.php
woocommerce_price_filter_widget_step - filterclass-wc-widget-price-filter.php
woocommerce_price_filter_widget_tax_class - filterclass-wc-widget-price-filter.php
woocommerce_product_categories_widget_args - filterclass-wc-widget-product-categories.php
woocommerce_product_categories_widget_dropdown_args - filterclass-wc-widget-product-categories.php
woocommerce_product_categories_widget_main_term - filterclass-wc-widget-product-categories.php
woocommerce_product_categories_widget_product_terms_args - filterclass-wc-widget-product-categories.php
woocommerce_product_tag_cloud_widget_args - filterclass-wc-widget-product-tag-cloud.php
woocommerce_products_widget_query_args - filterclass-wc-widget-products.php
woocommerce_rating_filter_count - filterclass-wc-widget-rating-filter.php
woocommerce_rating_filter_link - filterclass-wc-widget-rating-filter.php
woocommerce_recently_viewed_products_widget_query_args - filterclass-wc-widget-recently-viewed.php
woocommerce_widget_cart_is_hiddenfilterclass-wc-widget-cart.php
- -

Data Stores

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
product_variation_linked - actionclass-wc-product-data-store-cpt.php
woocommerce_before_delete_$POST_TYPE - actionclass-wc-product-data-store-cpt.php
woocommerce_before_delete_order_item - actionabstract-wc-order-item-type-data-store.php
woocommerce_coupon_loaded - actionclass-wc-coupon-data-store-cpt.php
woocommerce_coupon_object_updated_props - actionclass-wc-coupon-data-store-cpt.php
woocommerce_customer_get_total_spent - filterclass-wc-customer-data-store.php
woocommerce_customer_get_total_spent_query - filterclass-wc-customer-data-store.php
woocommerce_customer_loaded - actionclass-wc-customer-data-store.php
woocommerce_customer_object_updated_props - actionclass-wc-customer-data-store.php
woocommerce_customer_pre_search_customers - filterclass-wc-customer-data-store.php
woocommerce_customer_search_customers - filterclass-wc-customer-data-store.php
woocommerce_data_store_wp_$THIS->META_TYPE_read_meta - filterclass-wc-data-store-wp.php
woocommerce_decrease_coupon_usage_count - actionclass-wc-coupon-data-store-cpt.php
woocommerce_default_order_status - filterabstract-wc-order-data-store-cpt.php
woocommerce_delete_$POST_TYPE - actionclass-wc-product-data-store-cpt.php
woocommerce_delete_coupon - actionclass-wc-coupon-data-store-cpt.php
woocommerce_delete_customer - actionclass-wc-customer-data-store.php
woocommerce_delete_order - actionabstract-wc-order-data-store-cpt.php
woocommerce_delete_order_item - actionabstract-wc-order-item-type-data-store.php
woocommerce_delete_order_refund - actionclass-wc-order-refund-data-store-cpt.php
woocommerce_delete_shipping_zone - actionclass-wc-shipping-zone-data-store.php
woocommerce_delete_shipping_zone_method - actionclass-wc-shipping-zone-data-store.php
woocommerce_downloadable_file_permission_data - filterclass-wc-customer-download-data-store.php
woocommerce_downloadable_file_permission_format - filterclass-wc-customer-download-data-store.php
woocommerce_downloadable_product_download_log_insert - actionclass-wc-customer-download-log-data-store.php
woocommerce_downloadable_product_download_log_insert_data - filterclass-wc-customer-download-log-data-store.php
woocommerce_downloadable_product_download_log_insert_format - filterclass-wc-customer-download-log-data-store.php
woocommerce_file_download_path - filterclass-wc-product-data-store-cpt.php
woocommerce_get_product_id_by_sku - filterclass-wc-product-data-store-cpt.php
woocommerce_get_variation_prices_hash - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_get_wp_query_argsfilterclass-wc-data-store-wp.php
woocommerce_grant_product_download_access - actionclass-wc-customer-download-data-store.php
woocommerce_increase_coupon_usage_count - actionclass-wc-coupon-data-store-cpt.php
woocommerce_new_couponactionclass-wc-coupon-data-store-cpt.php
woocommerce_new_coupon_data - filterclass-wc-coupon-data-store-cpt.php
woocommerce_new_customeractionclass-wc-customer-data-store.php
woocommerce_new_orderactionclass-wc-order-data-store-cpt.php
woocommerce_new_order_data - filterabstract-wc-order-data-store-cpt.php
woocommerce_new_order_item - actionabstract-wc-order-item-type-data-store.php
woocommerce_new_payment_token - actionclass-wc-payment-token-data-store.php
woocommerce_new_product - actionclass-wc-product-data-store-cpt.php
woocommerce_new_product_data - filterclass-wc-product-data-store-cpt.php
woocommerce_new_product_variation - actionclass-wc-product-variation-data-store-cpt.php
woocommerce_new_product_variation_data - filterclass-wc-product-variation-data-store-cpt.php
woocommerce_new_webhookactionclass-wc-webhook-data-store.php
woocommerce_order_data_store_cpt_get_orders_query - filterclass-wc-order-data-store-cpt.php
woocommerce_order_object_updated_props - actionabstract-wc-order-data-store-cpt.php, - class-wc-order-data-store-cpt.php
woocommerce_order_refund_object_updated_props - actionclass-wc-order-refund-data-store-cpt.php
woocommerce_payment_complete_order_status - filterclass-wc-order-data-store-cpt.php
woocommerce_payment_token_deleted - actionclass-wc-payment-token-data-store.php
woocommerce_payment_token_loaded - actionclass-wc-payment-token-data-store.php
woocommerce_payment_token_object_updated_props - actionclass-wc-payment-token-data-store.php
woocommerce_payment_token_updated - actionclass-wc-payment-token-data-store.php
woocommerce_process_product_file_download_paths - actionclass-wc-product-data-store-cpt.php
woocommerce_product_data_store_cpt_get_products_query - filterclass-wc-product-data-store-cpt.php
woocommerce_product_object_updated_props - actionclass-wc-product-data-store-cpt.php
woocommerce_product_pre_search_products - filterclass-wc-product-data-store-cpt.php
woocommerce_product_related_posts_query - filterclass-wc-product-data-store-cpt.php
woocommerce_product_set_stock - actionclass-wc-product-data-store-cpt.php
woocommerce_product_set_stock_status - actionclass-wc-product-data-store-cpt.php
woocommerce_product_set_visibility - actionclass-wc-product-data-store-cpt.php
woocommerce_product_type_changed - actionclass-wc-product-data-store-cpt.php
woocommerce_product_variation_title - filterclass-wc-product-variation-data-store-cpt.php
woocommerce_product_variation_title_attributes_separator - filterclass-wc-product-variation-data-store-cpt.php
woocommerce_product_variation_title_include_attributes - filterclass-wc-product-variation-data-store-cpt.php
woocommerce_shipping_zone_loaded - actionclass-wc-shipping-zone-data-store.php
woocommerce_shop_order_search_fields - filterclass-wc-order-data-store-cpt.php
woocommerce_shop_order_search_results - filterclass-wc-order-data-store-cpt.php
woocommerce_trash_$POST_TYPE - actionclass-wc-product-data-store-cpt.php
woocommerce_trash_coupon - actionclass-wc-coupon-data-store-cpt.php
woocommerce_trash_order - actionabstract-wc-order-data-store-cpt.php
woocommerce_update_coupon - actionclass-wc-coupon-data-store-cpt.php
woocommerce_update_customer - actionclass-wc-customer-data-store.php
woocommerce_update_customer_args - filterclass-wc-customer-data-store.php
woocommerce_update_orderactionclass-wc-order-data-store-cpt.php
woocommerce_update_order_item - actionabstract-wc-order-item-type-data-store.php
woocommerce_update_product - actionclass-wc-product-data-store-cpt.php
woocommerce_update_product_stock_query - filterclass-wc-product-data-store-cpt.php
woocommerce_update_product_variation - actionclass-wc-product-variation-data-store-cpt.php
woocommerce_updated_product_price - actionclass-wc-product-grouped-data-store-cpt.php, - class-wc-product-variable-data-store-cpt.php
woocommerce_updated_product_sales - actionclass-wc-product-data-store-cpt.php
woocommerce_updated_product_stock - actionclass-wc-product-data-store-cpt.php
woocommerce_variable_children_args - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_prices - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_prices_array - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_prices_price - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_prices_regular_price - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_prices_sale_price - filterclass-wc-product-variable-data-store-cpt.php
woocommerce_variation_set_stock - actionclass-wc-product-data-store-cpt.php
woocommerce_variation_set_stock_status - actionclass-wc-product-data-store-cpt.php
woocommerce_webhook_deleted - actionclass-wc-webhook-data-store.php
woocommerce_webhook_loadedactionclass-wc-webhook-data-store.php
woocommerce_webhook_updated - actionclass-wc-webhook-data-store.php
wp_search_stopwordsfilterclass-wc-data-store-wp.php
- -

Core Classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HookTypeFile(s)
$SHORTCODE_shortcode_tagfilterclass-wc-shortcodes.php
$name - filterclass-wc-frontend-scripts.php
$old_hookactionclass-wc-deprecated-action-hooks.php
WC_BACKGROUND_PROCESS->IDENTIFIER_cron_interval - filterclass-wc-background-process.php
WC_CUSTOMER->GET_HOOK_PREFIX$ADDRESS_$PROP - filterclass-wc-customer.php
WC_DATA->GET_HOOK_PREFIX$KEYfilterabstract-wc-data.php
WC_DATA->GET_HOOK_PREFIX$PROPfilterabstract-wc-data.php
WC_ORDER->GET_HOOK_PREFIX$ADDRESS_$PROPfilterclass-wc-order.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXbackorders - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXcatalog_visibility - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXheight - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXimage_id - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXlength - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXpurchase_note - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXshipping_class_id - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXsku - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXstock_quantity - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXtax_class - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXweight - filterclass-wc-product-variation.php
WC_PRODUCT_VARIATION->GET_HOOK_PREFIXwidth - filterclass-wc-product-variation.php
WP_BACKGROUND_PROCESS->IDENTIFIER_cron_interval - filterwp-background-process.php
WP_BACKGROUND_PROCESS->IDENTIFIER_default_time_limit - filterwp-background-process.php
WP_BACKGROUND_PROCESS->IDENTIFIER_memory_exceeded - filterwp-background-process.php
WP_BACKGROUND_PROCESS->IDENTIFIER_queue_lock_time - filterwp-background-process.php
WP_BACKGROUND_PROCESS->IDENTIFIER_time_exceeded - filterwp-background-process.php
admin_enqueue_scriptsactionclass-wc-admin-setup-wizard.php
admin_headactionclass-wc-admin-setup-wizard.php
admin_print_stylesactionclass-wc-admin-setup-wizard.php
before_woocommerce_initactionclass-woocommerce.php
default_checkout_$INPUTfilterclass-wc-checkout.php
deprecated_argument_run - actionwc-deprecated-functions.php
deprecated_function_run - actionwc-deprecated-functions.php
deprecated_hook_run - actionwc-deprecated-functions.php
doing_it_wrong_run - actionwc-deprecated-functions.php
formatted_woocommerce_price - filterwc-formatting-functions.php
https_local_ssl_verifyfilterclass-wc-background-emailer.php, wp-async-request.php
is_woocommerce - filterwc-conditional-functions.php
list_product_catsfilterclass-wc-product-cat-dropdown-walker.php, - class-wc-product-cat-list-walker.php
login_errorsfilterclass-wc-form-handler.php
loop_shop_per_page - filterclass-wc-query.php
loop_shop_post_in - filterclass-wc-query.php
media_upload_fileactionclass-wc-admin-post-types.php
plugin_locale - filterclass-woocommerce.php
product_attributes_type_selector - filterwc-attribute-functions.php
product_type_selector - filterwc-product-functions.php
query_varsfilterabstract-wc-rest-posts-controller.php
raw_woocommerce_price - filterwc-formatting-functions.php
rest_$THIS->POST_TYPE_collection_params - filterabstract-wc-rest-crud-controller.php
rest_api_init - actionclass-wc-cli-runner.php
sanitize_taxonomy_name - filterwc-formatting-functions.php
twentynineteen_custom_colors_lightness - filterclass-wc-twenty-nineteen.php
validate_password_resetactionclass-wc-form-handler.php
wc_add_to_cart_message - filterwc-cart-functions.php
wc_add_to_cart_message_html - filterwc-cart-functions.php
wc_admin_reports_pathfilterclass-wc-admin-reports.php
wc_after_products_ending_sales - actionwc-product-functions.php
wc_after_products_starting_sales - actionwc-product-functions.php
wc_ajax_$ACTION - actionclass-wc-ajax.php
wc_before_products_ending_sales - actionwc-product-functions.php
wc_before_products_starting_sales - actionwc-product-functions.php
wc_get_price_decimal_separator - filterwc-formatting-functions.php
wc_get_price_decimals - filterwc-formatting-functions.php
wc_get_price_thousand_separator - filterwc-formatting-functions.php
wc_get_template - filterwc-core-functions.php
wc_get_template_part - filterwc-core-functions.php
wc_order_is_editablefilterclass-wc-order.php
wc_order_statuses - filterwc-order-functions.php
wc_order_types - filterwc-order-functions.php
wc_payment_gateway_form_saved_payment_methods_html - filterabstract-wc-payment-gateway.php
wc_pricefilterwc-formatting-functions.php
wc_price_argsfilterwc-formatting-functions.php
wc_privacy_policy_contentfilterclass-wc-privacy.php
wc_product_dimensions_enabled - filterwc-product-functions.php
wc_product_enable_dimensions_display - filterabstract-wc-legacy-product.php
wc_product_has_unique_sku - filterwc-product-functions.php
wc_product_post_type_link_product_cat - filterwc-product-functions.php
wc_product_sku_enabled - filterwc-product-functions.php
wc_product_weight_enabled - filterwc-product-functions.php
wc_round_tax_total - filterwc-formatting-functions.php
wc_session_expirationfilterclass-wc-session-handler.php
wc_session_expiringfilterclass-wc-session-handler.php
wc_session_use_secure_cookiefilterclass-wc-session-handler.php
wc_shipping_enabled - filterwc-conditional-functions.php
wc_tax_enabled - filterwc-conditional-functions.php
webhook_row_actionsfilterclass-wc-admin-webhooks-table-list.php
widget_titlefilterabstract-wc-widget.php
woocommerce_$OBJECT_TYPE_data_store - filterclass-wc-data-store.php
woocommerce_$THIS->EXPORT_TYPE_export_batch_limit - filterabstract-wc-csv-exporter.php
woocommerce_$THIS->EXPORT_TYPE_export_column_names - filterabstract-wc-csv-exporter.php
woocommerce_$THIS->EXPORT_TYPE_export_get_filename - filterabstract-wc-csv-exporter.php
woocommerce_$THIS->EXPORT_TYPE_export_rows - filterabstract-wc-csv-exporter.php
woocommerce_$TYPEfieldsfilterclass-wc-countries.php
woocommerce_account_downloads_columns - filterwc-account-functions.php
woocommerce_account_menu_item_classes - filterwc-account-functions.php
woocommerce_account_menu_items - filterwc-account-functions.php
woocommerce_account_orders_columns - filterwc-account-functions.php
woocommerce_account_payment_methods_columns - filterwc-account-functions.php
woocommerce_add_$NOTICE_TYPE - filterwc-notice-functions.php
woocommerce_add_cart_itemfilterclass-wc-cart.php
woocommerce_add_cart_item_datafilterclass-wc-cart.php
woocommerce_add_message - filterwc-notice-functions.php
woocommerce_add_order_again_cart_item - filterclass-wc-cart-session.php
woocommerce_add_to_cartactionclass-wc-cart.php
woocommerce_add_to_cart_fragmentsfilterclass-wc-ajax.php
woocommerce_add_to_cart_handlerfilterclass-wc-form-handler.php
woocommerce_add_to_cart_handler_$ADD_TO_CART_HANDLER - actionclass-wc-form-handler.php
woocommerce_add_to_cart_item_name_in_quotes - filterwc-cart-functions.php
woocommerce_add_to_cart_product_idfilterclass-wc-ajax.php, class-wc-cart-session.php, - class-wc-form-handler.php
woocommerce_add_to_cart_qty_html - filterwc-cart-functions.php
woocommerce_add_to_cart_quantityfilterclass-wc-cart.php
woocommerce_add_to_cart_redirectfilterclass-wc-form-handler.php, class-wc-frontend-scripts.php
woocommerce_add_to_cart_sold_individually_found_in_cart - filterclass-wc-cart.php
woocommerce_add_to_cart_sold_individually_quantity - filterclass-wc-cart.php
woocommerce_add_to_cart_validationfilterclass-wc-ajax.php, class-wc-cart-session.php, - class-wc-form-handler.php
woocommerce_addons_section_datafilterclass-wc-admin-addons.php
woocommerce_addons_sectionsfilterclass-wc-admin-addons.php
woocommerce_adjust_non_base_location_prices - filterclass-wc-cart-totals.php, wc-product-functions.php
woocommerce_admin_attribute_types - actionclass-wc-admin-attributes.php
woocommerce_admin_cssactionclass-wc-admin-assets.php
woocommerce_admin_dashboard_recent_reviews - filterclass-wc-admin-dashboard.php
woocommerce_admin_field_$VALUE[type] - actionclass-wc-admin-settings.php
woocommerce_admin_meta_boxes_variations_per_page - filterclass-wc-admin-assets.php
woocommerce_admin_reportsfilterclass-wc-admin-reports.php
woocommerce_admin_settings_sanitize_option - filterclass-wc-admin-settings.php
woocommerce_admin_settings_sanitize_option_$OPTION_NAME - filterclass-wc-admin-settings.php
woocommerce_after_add_attribute_fields - actionclass-wc-admin-attributes.php
woocommerce_after_calculate_totalsactionclass-wc-cart.php
woocommerce_after_cart_item_quantity_update - actionclass-wc-cart.php
woocommerce_after_checkout_validation - actionclass-wc-checkout.php
woocommerce_after_dashboard_status_widget - actionclass-wc-admin-dashboard.php
woocommerce_after_edit_attribute_fields - actionclass-wc-admin-attributes.php
woocommerce_after_pay_actionactionclass-wc-form-handler.php
woocommerce_after_product_orderingactionclass-wc-ajax.php
woocommerce_after_register_post_type - actionclass-wc-post-types.php
woocommerce_after_register_taxonomy - actionclass-wc-post-types.php
woocommerce_after_save_address_validation - actionclass-wc-form-handler.php
woocommerce_after_set_term_order - actionwc-term-functions.php
woocommerce_after_single_product_ordering - actionclass-wc-ajax.php
woocommerce_after_template_part - actionwc-core-functions.php
woocommerce_ajax_add_order_item_metaactionclass-wc-ajax.php
woocommerce_ajax_added_to_cartactionclass-wc-ajax.php
woocommerce_ajax_get_customer_detailsfilterclass-wc-ajax.php
woocommerce_ajax_get_endpointfilterclass-wc-ajax.php
woocommerce_ajax_order_itemfilterclass-wc-ajax.php
woocommerce_ajax_order_items_addedactionclass-wc-ajax.php
woocommerce_ajax_revoke_access_to_product_download - actionclass-wc-ajax.php
woocommerce_ajax_save_product_variationsactionclass-wc-ajax.php
woocommerce_allow_send_queued_transactional_email - filterclass-wc-emails.php
woocommerce_anonymize_completed_orders_query_args - filterclass-wc-privacy.php
woocommerce_api_$API_REQUESTactionclass-wc-api.php
woocommerce_api_classesfilterclass-wc-legacy-api.php
woocommerce_api_key_last_access_datetime - filterclass-wc-admin-api-keys-table-list.php
woocommerce_api_loadedactionclass-wc-legacy-api.php
woocommerce_api_permissions_in_scopefilterclass-wc-auth.php
woocommerce_api_requestactionclass-wc-api.php
woocommerce_api_request_urlfilterclass-woocommerce.php
woocommerce_api_wc_gateway_paypal - actionwc-deprecated-functions.php
woocommerce_apidocs_urlfilterclass-wc-install.php
woocommerce_applied_couponactionclass-wc-cart.php
woocommerce_apply_base_tax_for_local_pickup - filterclass-wc-customer.php
woocommerce_apply_individual_use_couponfilterclass-wc-cart.php
woocommerce_apply_trackingfilterclass-wc-tracks.php
woocommerce_apply_user_trackingfilterclass-wc-site-tracking.php
woocommerce_apply_with_individual_use_coupon - filterclass-wc-cart.php
woocommerce_attribute_added - actionwc-attribute-functions.php
woocommerce_attribute_default_is_variation - filterclass-wc-ajax.php
woocommerce_attribute_default_visibilityfilterclass-wc-ajax.php
woocommerce_attribute_deleted - actionwc-attribute-functions.php
woocommerce_attribute_label - filterwc-attribute-functions.php
woocommerce_attribute_orderby - filterwc-attribute-functions.php
woocommerce_attribute_show_in_nav_menus - filterclass-wc-post-types.php
woocommerce_attribute_taxonomies - filterwc-attribute-functions.php
woocommerce_attribute_updated - actionwc-attribute-functions.php
woocommerce_available_payment_gateways - filterclass-wc-payment-gateways.php
woocommerce_available_variation - filterclass-wc-product-variable.php
woocommerce_background_image_regeneration - filterclass-wc-regenerate-images.php, class-wc-shop-customizer.php
woocommerce_backordered_item_meta_name - filterclass-wc-order-item-product.php, abstract-wc-legacy-order.php
woocommerce_base_tax_ratesfilterclass-wc-tax.php
woocommerce_before_$THIS->OBJECT_TYPE_object_save - actionclass-wc-customer-download.php, class-wc-order.php, - class-wc-product-variable.php, class-wc-shipping-zone.php, abstract-wc-data.php, - abstract-wc-order.php, abstract-wc-product.php
woocommerce_before_add_attribute_fields - actionclass-wc-admin-attributes.php
woocommerce_before_attribute_delete - actionwc-attribute-functions.php
woocommerce_before_calculate_totalsactionclass-wc-cart.php
woocommerce_before_cart_emptiedactionclass-wc-cart.php
woocommerce_before_cart_item_quantity_zero - actionclass-wc-cart.php
woocommerce_before_checkout_processactionclass-wc-checkout.php
woocommerce_before_delete_order_item - actionwc-order-item-functions.php
woocommerce_before_edit_attribute_fields - actionclass-wc-admin-attributes.php
woocommerce_before_pay_actionactionclass-wc-form-handler.php
woocommerce_before_save_order_item - actionwc-admin-functions.php
woocommerce_before_save_order_items - actionwc-admin-functions.php
woocommerce_before_template_part - actionwc-core-functions.php
woocommerce_breadcrumb_main_termfilterclass-wc-breadcrumb.php
woocommerce_breadcrumb_product_terms_args - filterclass-wc-breadcrumb.php
woocommerce_bulk_edit_save_price_product_types - filterclass-wc-admin-post-types.php
woocommerce_bulk_edit_variationsactionclass-wc-ajax.php
woocommerce_bulk_edit_variations_defaultactionclass-wc-ajax.php
woocommerce_bulk_edit_variations_need_children - filterclass-wc-ajax.php
woocommerce_cached_widget_idfilterabstract-wc-widget.php
woocommerce_calc_shipping_taxfilterclass-wc-tax.php
woocommerce_calc_tax - filterclass-wc-tax.php
woocommerce_calculate_item_totals_taxes - filterclass-wc-cart-totals.php
woocommerce_calculate_totalsactionclass-wc-cart-totals.php
woocommerce_calculated_totalfilterclass-wc-cart-totals.php
woocommerce_can_reduce_order_stock - filterwc-stock-functions.php
woocommerce_can_restore_order_stock - filterwc-stock-functions.php
woocommerce_cancel_unpaid_order - filterwc-order-functions.php
woocommerce_cancelled_orderactionclass-wc-form-handler.php
woocommerce_cart___FUNCTION__filterclass-wc-cart.php
woocommerce_cart_calculate_feesactionclass-wc-cart.php
woocommerce_cart_contents_changed - filterclass-wc-cart-session.php, class-wc-cart.php
woocommerce_cart_contents_countfilterclass-wc-cart.php
woocommerce_cart_contents_totalfilterclass-wc-cart.php
woocommerce_cart_contents_weightfilterclass-wc-cart.php
woocommerce_cart_coupon_types - filterwc-coupon-functions.php
woocommerce_cart_crosssell_idsfilterclass-wc-cart.php
woocommerce_cart_discounts_before_tax - filterclass-wc-legacy-cart.php
woocommerce_cart_emptiedactionclass-wc-cart.php
woocommerce_cart_fragment_name - filterclass-wc-frontend-scripts.php
woocommerce_cart_get_taxesfilterclass-wc-cart.php
woocommerce_cart_hashfilterclass-wc-cart.php
woocommerce_cart_hash_keyfilterclass-wc-frontend-scripts.php
woocommerce_cart_hide_zero_taxesfilterclass-wc-cart.php
woocommerce_cart_id - filterclass-wc-cart.php
woocommerce_cart_item_data_to_validate - filterwc-cart-functions.php
woocommerce_cart_item_removedactionclass-wc-cart.php
woocommerce_cart_item_removed_title - filterclass-wc-form-handler.php
woocommerce_cart_item_restoredactionclass-wc-cart.php
woocommerce_cart_loaded_from_session - actionclass-wc-cart-session.php
woocommerce_cart_needs_paymentfilterclass-wc-cart.php
woocommerce_cart_needs_shippingfilterclass-wc-cart.php
woocommerce_cart_needs_shipping_addressfilterclass-wc-cart.php
woocommerce_cart_product_pricefilterclass-wc-cart.php
woocommerce_cart_product_subtotalfilterclass-wc-cart.php
woocommerce_cart_ready_to_calc_shippingfilterclass-wc-cart.php
woocommerce_cart_redirect_after_errorfilterclass-wc-ajax.php
woocommerce_cart_remove_taxes_zero_rate_id - filterclass-wc-cart.php, class-wc-checkout.php
woocommerce_cart_resetactionclass-wc-cart.php
woocommerce_cart_shipping_method_full_label - filterwc-cart-functions.php
woocommerce_cart_shipping_packagesfilterclass-wc-cart.php
woocommerce_cart_shipping_totalfilterclass-wc-cart.php
woocommerce_cart_shortcode_tagfilterclass-wc-install.php
woocommerce_cart_subtotalfilterclass-wc-cart.php
woocommerce_cart_tax_totalsfilterclass-wc-cart.php
woocommerce_cart_taxes_totalfilterclass-wc-cart.php
woocommerce_cart_totalfilterclass-wc-cart.php
woocommerce_cart_total_discountfilterclass-wc-cart.php
woocommerce_cart_total_ex_taxfilterclass-wc-cart.php
woocommerce_cart_totals_coupon_html - filterwc-cart-functions.php
woocommerce_cart_totals_coupon_label - filterwc-cart-functions.php
woocommerce_cart_totals_fee_html - filterwc-cart-functions.php
woocommerce_cart_totals_get_fees_from_cart_taxes - filterclass-wc-cart-totals.php
woocommerce_cart_totals_get_item_tax_rates - filterclass-wc-cart-totals.php
woocommerce_cart_totals_order_total_html - filterwc-cart-functions.php
woocommerce_cart_totals_taxes_total_html - filterwc-cart-functions.php
woocommerce_cart_updatedactionclass-wc-cart-session.php
woocommerce_caught_exception - actionwc-deprecated-functions.php
woocommerce_change_term_counts - filterwc-term-functions.php
woocommerce_check_cart_itemsactionclass-wc-checkout.php
woocommerce_checkout_create_orderactionclass-wc-checkout.php
woocommerce_checkout_create_order_coupon_item - actionclass-wc-checkout.php
woocommerce_checkout_create_order_fee_item - actionclass-wc-checkout.php
woocommerce_checkout_create_order_line_item - actionclass-wc-checkout.php
woocommerce_checkout_create_order_line_item_object - filterclass-wc-checkout.php
woocommerce_checkout_create_order_shipping_item - actionclass-wc-checkout.php
woocommerce_checkout_create_order_tax_item - actionclass-wc-checkout.php
woocommerce_checkout_customer_idfilterclass-wc-checkout.php
woocommerce_checkout_fieldsfilterclass-wc-checkout.php
woocommerce_checkout_get_valuefilterclass-wc-checkout.php
woocommerce_checkout_initactionclass-wc-checkout.php
woocommerce_checkout_no_payment_needed_redirect - filterclass-wc-checkout.php
woocommerce_checkout_order_processedactionclass-wc-checkout.php
woocommerce_checkout_postcode_validation_notice - filterclass-wc-checkout.php
woocommerce_checkout_posted_datafilterclass-wc-checkout.php
woocommerce_checkout_processactionclass-wc-checkout.php
woocommerce_checkout_registration_enabled - filterclass-wc-checkout.php
woocommerce_checkout_registration_required - filterclass-wc-checkout.php
woocommerce_checkout_required_field_notice - filterclass-wc-checkout.php
woocommerce_checkout_shortcode_tagfilterclass-wc-install.php
woocommerce_checkout_update_customeractionclass-wc-checkout.php
woocommerce_checkout_update_customer_data - filterclass-wc-checkout.php
woocommerce_checkout_update_order_meta - actionclass-wc-checkout.php
woocommerce_checkout_update_order_reviewactionclass-wc-ajax.php
woocommerce_checkout_update_order_review_expired - filterclass-wc-ajax.php
woocommerce_checkout_update_user_meta - actionclass-wc-checkout.php
woocommerce_components_settingsfilterclass-wc-block-library.php
woocommerce_continentsfilterclass-wc-countries.php
woocommerce_continue_shopping_redirect - filterwc-cart-functions.php
woocommerce_cookiefilterclass-wc-session-handler.php
woocommerce_cookie_httponly - filterwc-core-functions.php
woocommerce_copy_email_templateactionclass-wc-email.php
woocommerce_countriesfilterclass-wc-countries.php
woocommerce_countries_allowed_countries - filterclass-wc-countries.php
woocommerce_countries_allowed_country_states - filterclass-wc-countries.php
woocommerce_countries_base_addressfilterclass-wc-countries.php
woocommerce_countries_base_address_2 - filterclass-wc-countries.php
woocommerce_countries_base_cityfilterclass-wc-countries.php
woocommerce_countries_base_countryfilterclass-wc-countries.php
woocommerce_countries_base_postcodefilterclass-wc-countries.php
woocommerce_countries_base_statefilterclass-wc-countries.php
woocommerce_countries_estimated_for_prefix - filterclass-wc-countries.php
woocommerce_countries_ex_tax_or_vatfilterclass-wc-countries.php
woocommerce_countries_inc_tax_or_vat - filterclass-wc-countries.php
woocommerce_countries_shipping_countries - filterclass-wc-countries.php
woocommerce_countries_shipping_country_states - filterclass-wc-countries.php
woocommerce_countries_shipping_to_prefix - filterclass-wc-countries.php
woocommerce_countries_tax_or_vatfilterclass-wc-countries.php
woocommerce_country_locale_field_selectors - filterclass-wc-countries.php
woocommerce_coupon_code - filterwc-formatting-functions.php
woocommerce_coupon_custom_discounts_array - filterclass-wc-discounts.php
woocommerce_coupon_discount_amount_html - filterwc-cart-functions.php
woocommerce_coupon_discount_types - filterwc-coupon-functions.php
woocommerce_coupon_errorfilterclass-wc-coupon.php, class-wc-discounts.php
woocommerce_coupon_get_apply_quantity - filterclass-wc-discounts.php
woocommerce_coupon_get_discount_amountfilterclass-wc-coupon.php, class-wc-discounts.php
woocommerce_coupon_get_items_to_validate - filterclass-wc-discounts.php
woocommerce_coupon_is_validfilterclass-wc-discounts.php
woocommerce_coupon_is_valid_for_cartfilterclass-wc-coupon.php
woocommerce_coupon_is_valid_for_product - filterclass-wc-coupon.php
woocommerce_coupon_messagefilterclass-wc-coupon.php
woocommerce_coupon_sortfilterclass-wc-cart-totals.php
woocommerce_coupon_validate_expiry_date - filterclass-wc-discounts.php
woocommerce_coupon_validate_maximum_amount - filterclass-wc-discounts.php
woocommerce_coupon_validate_minimum_amount - filterclass-wc-discounts.php
woocommerce_coupon_validate_user_usage_limit - filterclass-wc-discounts.php
woocommerce_coupons_enabled - filterwc-coupon-functions.php
woocommerce_create_orderfilterclass-wc-checkout.php
woocommerce_create_page_id - filterwc-admin-functions.php
woocommerce_create_pagesfilterclass-wc-install.php
woocommerce_create_refund - actionwc-order-functions.php
woocommerce_created_customer - actionwc-user-functions.php
woocommerce_credit_card_form_end - actionclass-wc-payment-gateway-cc.php
woocommerce_credit_card_form_fields - filterclass-wc-payment-gateway-cc.php
woocommerce_credit_card_form_start - actionclass-wc-payment-gateway-cc.php
woocommerce_credit_card_type_labels - filterwc-core-functions.php
woocommerce_currencies - filterwc-core-functions.php
woocommerce_currency - filterwc-core-functions.php
woocommerce_currency_symbol - filterwc-core-functions.php
woocommerce_currency_symbols - filterwc-core-functions.php
woocommerce_current_user_can_edit_customer_meta_fields - filterclass-wc-admin-profile.php
woocommerce_custom_nav_menu_items - filterclass-wc-admin-customize.php, class-wc-admin-menus.php
woocommerce_customer_available_downloads - filterwc-user-functions.php
woocommerce_customer_default_location - filterwc-core-functions.php
woocommerce_customer_default_location_array - filterwc-core-functions.php
woocommerce_customer_edit_account_url - filterwc-account-functions.php
woocommerce_customer_get_downloadable_products - filterclass-wc-customer.php
woocommerce_customer_meta_fields - filterclass-wc-admin-profile.php
woocommerce_customer_reset_password - actionclass-wc-form-handler.php
woocommerce_customer_save_address - actionclass-wc-form-handler.php
woocommerce_customer_taxable_addressfilterclass-wc-customer.php
woocommerce_dashboard_status_widget_top_seller_query - filterclass-wc-admin-dashboard.php
woocommerce_data_storesfilterclass-wc-data-store.php
woocommerce_date_format - filterwc-formatting-functions.php
woocommerce_default_address_fieldsfilterclass-wc-countries.php
woocommerce_default_catalog_orderbyfilterclass-wc-query.php
woocommerce_default_catalog_orderby_options - filterclass-wc-shop-customizer.php
woocommerce_default_order_status - filterabstract-wc-order.php
woocommerce_defer_transactional_emailsfilterclass-wc-emails.php
woocommerce_delete_email_templateactionclass-wc-email.php
woocommerce_delete_inactive_account_roles - filterclass-wc-privacy.php
woocommerce_delete_order_downloadable_permissions - actionclass-wc-post-data.php
woocommerce_delete_order_item - actionwc-order-item-functions.php
woocommerce_delete_order_itemsactionclass-wc-post-data.php
woocommerce_delete_product_transients - actionwc-product-functions.php
woocommerce_delete_shop_order_transients - actionwc-order-functions.php
woocommerce_delete_version_transients_limit - filterclass-wc-cache-helper.php
woocommerce_deleted_order_downloadable_permissions - actionclass-wc-post-data.php
woocommerce_deleted_order_itemsactionclass-wc-post-data.php
woocommerce_disable_admin_bar - filterwc-user-functions.php, class-wc-admin.php
woocommerce_display_admin_footer_textfilterclass-wc-admin.php
woocommerce_docs_urlfilterclass-wc-install.php
woocommerce_download_file_$FILE_DOWNLOAD_METHOD - actionclass-wc-download-handler.php
woocommerce_download_productactionclass-wc-download-handler.php
woocommerce_downloadable_file_allowed_mime_types - filterclass-wc-product-download.php
woocommerce_downloadable_file_exists - filterclass-wc-product-download.php
woocommerce_downloadable_file_permission - filterwc-order-functions.php
woocommerce_downloadable_product_name - filterwc-user-functions.php
woocommerce_duplicate_product_capability - filterclass-wc-admin-duplicate-product.php
woocommerce_duplicate_product_exclude_children - filterclass-wc-admin-duplicate-product.php
woocommerce_duplicate_product_exclude_meta - filterclass-wc-admin-duplicate-product.php
woocommerce_echeck_form_end - actionclass-wc-payment-gateway-echeck.php
woocommerce_echeck_form_fields - filterclass-wc-payment-gateway-echeck.php
woocommerce_echeck_form_start - actionclass-wc-payment-gateway-echeck.php
woocommerce_edit_address_slugs - filterwc-account-functions.php
woocommerce_email - actionclass-wc-emails.php
woocommerce_email_actionsfilterclass-wc-emails.php
woocommerce_email_attachmentsfilterclass-wc-emails.php, class-wc-email.php
woocommerce_email_classesfilterclass-wc-emails.php
woocommerce_email_content_backorderfilterclass-wc-emails.php
woocommerce_email_content_low_stockfilterclass-wc-emails.php
woocommerce_email_content_no_stockfilterclass-wc-emails.php
woocommerce_email_customer_details_fields - filterclass-wc-emails.php
woocommerce_email_descriptionfilterclass-wc-email.php
woocommerce_email_downloads_columnsfilterclass-wc-emails.php
woocommerce_email_enabled_$THIS->IDfilterclass-wc-email.php
woocommerce_email_footeractionclass-wc-emails.php
woocommerce_email_format_stringfilterclass-wc-email.php
woocommerce_email_format_string_findfilterclass-wc-email.php
woocommerce_email_format_string_replacefilterclass-wc-email.php
woocommerce_email_from_addressfilterclass-wc-email.php
woocommerce_email_from_namefilterclass-wc-email.php
woocommerce_email_get_optionfilterclass-wc-email.php
woocommerce_email_headeractionclass-wc-emails.php
woocommerce_email_headersfilterclass-wc-emails.php, class-wc-email.php
woocommerce_email_heading_$THIS->IDfilterclass-wc-email.php
woocommerce_email_heading_customer_invoice - filterclass-wc-email-customer-invoice.php
woocommerce_email_heading_customer_invoice_paid - filterclass-wc-email-customer-invoice.php
woocommerce_email_heading_customer_refunded_order - filterclass-wc-email-customer-refunded-order.php
woocommerce_email_order_item_quantity - filterclass-wc-structured-data.php
woocommerce_email_order_meta_fieldsfilterclass-wc-emails.php
woocommerce_email_order_meta_keysfilterclass-wc-emails.php
woocommerce_email_recipient_$THIS->IDfilterclass-wc-email.php
woocommerce_email_recipient_backorderfilterclass-wc-emails.php
woocommerce_email_recipient_low_stockfilterclass-wc-emails.php
woocommerce_email_recipient_no_stockfilterclass-wc-emails.php
woocommerce_email_restore_localefilterclass-wc-email.php
woocommerce_email_settings_afteractionclass-wc-email.php
woocommerce_email_settings_beforeactionclass-wc-email.php
woocommerce_email_setup_localefilterclass-wc-email.php
woocommerce_email_stylesfilterclass-wc-email.php
woocommerce_email_subject_$THIS->IDfilterclass-wc-email.php
woocommerce_email_subject_backorderfilterclass-wc-emails.php
woocommerce_email_subject_customer_invoice - filterclass-wc-email-customer-invoice.php
woocommerce_email_subject_customer_invoice_paid - filterclass-wc-email-customer-invoice.php
woocommerce_email_subject_customer_refunded_order - filterclass-wc-email-customer-refunded-order.php
woocommerce_email_subject_low_stockfilterclass-wc-emails.php
woocommerce_email_subject_no_stockfilterclass-wc-emails.php
woocommerce_email_titlefilterclass-wc-email.php
woocommerce_empty_cart_when_order_again - filterclass-wc-cart-session.php
woocommerce_empty_price_htmlfilterabstract-wc-product.php
woocommerce_enable_admin_help_tabfilterclass-wc-admin.php
woocommerce_enable_auto_update_dbfilterclass-wc-install.php
woocommerce_enable_setup_wizardfilterclass-wc-install.php, class-wc-admin-setup-wizard.php, - class-wc-admin.php
woocommerce_endpoint_$ENDPOINT_titlefilterclass-wc-query.php
woocommerce_enqueue_stylesfilterclass-wc-frontend-scripts.php
woocommerce_export_get_ajax_query_args - filterclass-wc-admin-exporters.php
woocommerce_file_download_filename - filterclass-wc-download-handler.php
woocommerce_file_download_method - filterclass-wc-download-handler.php
woocommerce_find_ratesfilterclass-wc-tax.php
woocommerce_flush_rewrite_rulesactionclass-wc-install.php, wc-core-functions.php
woocommerce_force_ssl_checkoutfilterclass-wc-https.php
woocommerce_format_content - filterwc-formatting-functions.php
woocommerce_format_dimensions - filterwc-formatting-functions.php
woocommerce_format_localized_decimal - filterwc-formatting-functions.php
woocommerce_format_localized_price - filterwc-formatting-functions.php
woocommerce_format_log_entryfilterabstract-wc-log-handler.php
woocommerce_format_postcode - filterwc-formatting-functions.php
woocommerce_format_price_range - filterwc-formatting-functions.php
woocommerce_format_sale_price - filterwc-formatting-functions.php
woocommerce_format_stock_quantity - filterwc-formatting-functions.php
woocommerce_format_weight - filterwc-formatting-functions.php
woocommerce_formatted_address_force_country_display - filterclass-wc-countries.php
woocommerce_formatted_address_replacements - filterclass-wc-countries.php
woocommerce_formatted_refund_amount - filterclass-wc-order-refund.php
woocommerce_gallery_full_size - filterwc-product-functions.php
woocommerce_gallery_image_size - filterwc-product-functions.php
woocommerce_gallery_thumbnail_size - filterwc-product-functions.php
woocommerce_gateway_description - filterabstract-wc-payment-gateway.php
woocommerce_gateway_iconfilterabstract-wc-payment-gateway.php
woocommerce_gateway_method_description - filterabstract-wc-payment-gateway.php
woocommerce_gateway_method_title - filterabstract-wc-payment-gateway.php
woocommerce_gateway_titlefilterabstract-wc-payment-gateway.php
woocommerce_generate_order_key - filterwc-order-functions.php
woocommerce_geolocate_ipfilterclass-wc-geolocation.php
woocommerce_geolocation_ajax_get_location_hash - filterclass-wc-cache-helper.php
woocommerce_geolocation_geoip_apis - filterclass-wc-geolocation.php
woocommerce_geolocation_geoip_response_$SERVICE_NAME - filterclass-wc-geolocation.php
woocommerce_geolocation_ip_lookup_api_response - filterclass-wc-geolocation.php
woocommerce_geolocation_ip_lookup_apis - filterclass-wc-geolocation.php
woocommerce_geolocation_local_database_path - filterclass-wc-geolocation.php
woocommerce_geolocation_update_database_periodically - filterclass-wc-geolocation.php
woocommerce_get_$PAGE_page_id - filterwc-page-functions.php
woocommerce_get_$PAGE_page_permalink - filterwc-page-functions.php
woocommerce_get_asset_urlfilterclass-wc-frontend-scripts.php
woocommerce_get_availabilityfilterabstract-wc-product.php
woocommerce_get_availability_classfilterabstract-wc-product.php
woocommerce_get_availability_textfilterabstract-wc-product.php
woocommerce_get_base_location - filterwc-core-functions.php
woocommerce_get_breadcrumbfilterclass-wc-breadcrumb.php
woocommerce_get_cancel_order_urlfilterclass-wc-order.php
woocommerce_get_cancel_order_url_rawfilterclass-wc-order.php
woocommerce_get_cart_contentsfilterclass-wc-cart.php
woocommerce_get_cart_item_from_session - filterclass-wc-cart-session.php
woocommerce_get_cart_taxfilterclass-wc-cart.php
woocommerce_get_cart_url - filterwc-core-functions.php
woocommerce_get_catalog_ordering_argsfilterclass-wc-query.php
woocommerce_get_checkout_order_received_url - filterclass-wc-order.php
woocommerce_get_checkout_payment_urlfilterclass-wc-order.php
woocommerce_get_checkout_url - filterwc-core-functions.php
woocommerce_get_childrenfilterclass-wc-product-variable.php
woocommerce_get_country_localefilterclass-wc-countries.php
woocommerce_get_country_locale_basefilterclass-wc-countries.php
woocommerce_get_country_locale_default - filterclass-wc-countries.php
woocommerce_get_coupon_id_from_code - filterwc-coupon-functions.php
woocommerce_get_credit_card_type_label - filterwc-core-functions.php
woocommerce_get_customer_payment_tokens - filterclass-wc-payment-tokens.php
woocommerce_get_discounted_pricefilterclass-wc-cart-totals.php
woocommerce_get_edit_order_urlfilterclass-wc-order.php
woocommerce_get_endpoint_url - filterwc-page-functions.php
woocommerce_get_formatted_order_totalfilterclass-wc-order.php, abstract-wc-order.php
woocommerce_get_image_size_$IMAGE_SIZE - filterwc-core-functions.php
woocommerce_get_item_countfilterabstract-wc-order.php
woocommerce_get_item_count_refundedfilterclass-wc-order.php
woocommerce_get_item_downloads - filterclass-wc-order-item-product.php
woocommerce_get_items_keyfilterabstract-wc-order.php
woocommerce_get_min_max_price_meta_query - filterwc-deprecated-functions.php
woocommerce_get_order_addressfilterclass-wc-order.php
woocommerce_get_order_currency - filterabstract-wc-legacy-order.php
woocommerce_get_order_item_classname - filterclass-wc-order-factory.php
woocommerce_get_order_item_totalsfilterclass-wc-order.php, abstract-wc-order.php
woocommerce_get_order_item_totals_excl_free_fees - filterabstract-wc-order.php
woocommerce_get_order_note - filterwc-order-functions.php
woocommerce_get_order_payment_tokens - filterclass-wc-payment-tokens.php
woocommerce_get_price_excluding_tax - filterwc-product-functions.php
woocommerce_get_price_htmlfilterclass-wc-product-grouped.php, class-wc-product-variable.php, - abstract-wc-product.php
woocommerce_get_price_html_from_to - filterabstract-wc-legacy-product.php
woocommerce_get_price_including_tax - filterwc-product-functions.php
woocommerce_get_price_suffixfilterclass-wc-product-variable.php, abstract-wc-product.php
woocommerce_get_product_from_item - filterclass-wc-order-item-product.php, abstract-wc-legacy-order.php
woocommerce_get_product_terms - filterwc-term-functions.php
woocommerce_get_query_varsfilterclass-wc-query.php
woocommerce_get_related_product_cat_terms - filterwc-product-functions.php
woocommerce_get_related_product_tag_terms - filterwc-product-functions.php
woocommerce_get_return_urlfilterabstract-wc-payment-gateway.php
woocommerce_get_script_datafilterclass-wc-frontend-scripts.php
woocommerce_get_settings_pagesfilterclass-wc-admin-settings.php
woocommerce_get_shipping_classesfilterclass-wc-shipping.php
woocommerce_get_shipping_taxfilterclass-wc-shipping-rate.php
woocommerce_get_shop_coupon_datafilterclass-wc-coupon.php
woocommerce_get_tax_locationfilterclass-wc-tax.php
woocommerce_get_transaction_url - filterabstract-wc-payment-gateway.php
woocommerce_get_variation_price - filterclass-wc-product-variable.php
woocommerce_get_variation_regular_price - filterclass-wc-product-variable.php
woocommerce_get_variation_sale_price - filterclass-wc-product-variable.php
woocommerce_get_view_order_urlfilterclass-wc-order.php
woocommerce_grant_product_download_permissions - actionwc-order-functions.php
woocommerce_grouped_empty_price_html - filterclass-wc-product-grouped.php
woocommerce_grouped_free_price_html - filterclass-wc-product-grouped.php
woocommerce_grouped_price_html - filterclass-wc-product-grouped.php
woocommerce_helper_outputactionclass-wc-admin-addons.php
woocommerce_hide_$HIDE_NOTICE_notice - actionclass-wc-admin-notices.php
woocommerce_hide_invisible_variations - filterclass-wc-product-variable.php
woocommerce_image_sizes_to_resize - filterclass-wc-regenerate-images.php
woocommerce_include_processing_order_count_in_menu - filterclass-wc-admin-menus.php
woocommerce_initactionclass-woocommerce.php
woocommerce_install_get_tablesfilterclass-wc-install.php
woocommerce_install_skip_create_filesfilterclass-wc-install.php
woocommerce_installedactionclass-wc-install.php
woocommerce_integration_description - filterabstract-wc-integration.php
woocommerce_integration_titlefilterabstract-wc-integration.php
woocommerce_integrationsfilterclass-wc-integrations.php
woocommerce_integrations_initactionclass-wc-integrations.php
woocommerce_is_account_page - filterwc-conditional-functions.php
woocommerce_is_attribute_in_product_name - filterwc-attribute-functions.php
woocommerce_is_checkout - filterwc-conditional-functions.php
woocommerce_is_downloadablefilterabstract-wc-product.php
woocommerce_is_filtered - filterwc-conditional-functions.php
woocommerce_is_order_received_page - filterwc-conditional-functions.php
woocommerce_is_purchasablefilterclass-wc-product-external.php, class-wc-product-grouped.php, - abstract-wc-product.php
woocommerce_is_rest_api_requestfilterclass-woocommerce.php
woocommerce_is_sold_individuallyfilterabstract-wc-product.php
woocommerce_is_virtualfilterabstract-wc-product.php
woocommerce_json_search_found_categoriesfilterclass-wc-ajax.php
woocommerce_json_search_found_customersfilterclass-wc-ajax.php
woocommerce_json_search_found_productsfilterclass-wc-ajax.php
woocommerce_json_search_limitfilterclass-wc-ajax.php
woocommerce_layered_nav_default_query_type - filterclass-wc-query.php
woocommerce_load_cart_from_session - actionclass-wc-cart-session.php
woocommerce_load_shipping_methodsactionclass-wc-shipping.php
woocommerce_load_webhooks_limitfilterclass-woocommerce.php
woocommerce_loadedactionclass-woocommerce.php
woocommerce_local_pickup_methodsfilterclass-wc-customer.php
woocommerce_localisation_address_formats - filterclass-wc-countries.php
woocommerce_locate_core_templatefilterclass-wc-email.php
woocommerce_locate_template - filterwc-core-functions.php
woocommerce_log_clearactionclass-wc-log-handler-file.php
woocommerce_log_file_size_limit - filterclass-wc-log-handler-file.php
woocommerce_log_removeactionclass-wc-log-handler-file.php
woocommerce_logger_add_messagefilterclass-wc-logger.php, class-wc-log-handler-file.php
woocommerce_logger_days_to_retain_logsfilterclass-wc-logger.php
woocommerce_logger_log_messagefilterclass-wc-logger.php
woocommerce_logging_class - filterwc-core-functions.php
woocommerce_login_credentialsfilterclass-wc-form-handler.php
woocommerce_login_failedactionclass-wc-form-handler.php
woocommerce_login_redirectfilterclass-wc-form-handler.php
woocommerce_low_stock - actionwc-stock-functions.php
woocommerce_mail_callbackfilterclass-wc-email.php
woocommerce_mail_callback_paramsfilterclass-wc-email.php
woocommerce_mail_contentfilterclass-wc-email.php, class-wc-admin.php
woocommerce_matched_ratesfilterclass-wc-tax.php
woocommerce_matched_tax_ratesfilterclass-wc-tax.php
woocommerce_max_webhook_delivery_failures - filterclass-wc-webhook.php
woocommerce_min_password_strength - filterclass-wc-frontend-scripts.php
woocommerce_my_account_my_address_formatted_address - filterwc-account-functions.php
woocommerce_my_account_my_orders_actions - filterwc-account-functions.php
woocommerce_my_account_my_orders_columns - filterwc-account-functions.php
woocommerce_my_account_shortcode_tagfilterclass-wc-install.php
woocommerce_new_customer_data - filterwc-user-functions.php
woocommerce_new_customer_noteactionclass-wc-order.php
woocommerce_new_order_item - actionwc-order-item-functions.php
woocommerce_new_order_note_datafilterclass-wc-order.php
woocommerce_no_stock - actionwc-stock-functions.php
woocommerce_notice_types - filterwc-notice-functions.php
woocommerce_order_after_calculate_totals - actionabstract-wc-order.php
woocommerce_order_again_cart_item_data - filterclass-wc-cart-session.php
woocommerce_order_amount_item_subtotal - filterabstract-wc-order.php
woocommerce_order_amount_item_tax - filterabstract-wc-order.php
woocommerce_order_amount_item_total - filterabstract-wc-order.php
woocommerce_order_amount_line_subtotal - filterabstract-wc-order.php
woocommerce_order_amount_line_tax - filterabstract-wc-order.php
woocommerce_order_amount_line_total - filterabstract-wc-order.php
woocommerce_order_before_calculate_taxes - actionabstract-wc-order.php
woocommerce_order_before_calculate_totals - actionabstract-wc-order.php
woocommerce_order_cancelled_notice - filterclass-wc-form-handler.php
woocommerce_order_cancelled_notice_type - filterclass-wc-form-handler.php
woocommerce_order_classfilterclass-wc-order-factory.php
woocommerce_order_discount_to_display - filterabstract-wc-order.php
woocommerce_order_edit_product - actionabstract-wc-legacy-order.php
woocommerce_order_edit_statusactionclass-wc-ajax.php, class-wc-order.php
woocommerce_order_formatted_billing_address - filterclass-wc-order.php
woocommerce_order_formatted_line_subtotal - filterabstract-wc-order.php
woocommerce_order_formatted_shipping_address - filterclass-wc-order.php
woocommerce_order_fully_refunded - actionwc-order-functions.php
woocommerce_order_fully_refunded_status - filterwc-order-functions.php
woocommerce_order_get_downloadable_items - filterclass-wc-order.php
woocommerce_order_get_itemsfilterabstract-wc-order.php
woocommerce_order_get_subtotalfilterabstract-wc-order.php
woocommerce_order_get_tax_totals - filterabstract-wc-order.php
woocommerce_order_get_total_discount - filterabstract-wc-order.php
woocommerce_order_has_statusfilterabstract-wc-order.php
woocommerce_order_hide_shipping_addressfilterclass-wc-order.php
woocommerce_order_hide_zero_taxes - filterabstract-wc-order.php
woocommerce_order_is_download_permittedfilterclass-wc-order.php
woocommerce_order_is_paidfilterclass-wc-order.php
woocommerce_order_is_paid_statuses - filterwc-order-functions.php
woocommerce_order_is_pending_statuses - filterwc-order-functions.php
woocommerce_order_is_vat_exempt - filterabstract-wc-order.php
woocommerce_order_item_after_calculate_taxes - actionclass-wc-order-item.php
woocommerce_order_item_display_meta_key - filterclass-wc-order-item.php
woocommerce_order_item_display_meta_value - filterclass-wc-order-item-meta.php, class-wc-order-item.php
woocommerce_order_item_fee_after_calculate_taxes - actionclass-wc-order-item-fee.php
woocommerce_order_item_get_formatted_meta_data - filterclass-wc-order-item.php
woocommerce_order_item_namefilterclass-wc-structured-data.php
woocommerce_order_item_needs_processingfilterclass-wc-order.php
woocommerce_order_item_product - filterclass-wc-order-item-product.php
woocommerce_order_item_quantity - filterwc-stock-functions.php
woocommerce_order_item_shipping_after_calculate_taxes - actionclass-wc-order-item-shipping.php
woocommerce_order_item_visible - filterclass-wc-structured-data.php
woocommerce_order_items_meta_display - filterclass-wc-order-item-meta.php
woocommerce_order_items_meta_get_formatted - filterclass-wc-order-item-meta.php
woocommerce_order_needs_paymentfilterclass-wc-order.php
woocommerce_order_needs_shipping_address - filterclass-wc-order.php
woocommerce_order_note_classfilterclass-wc-ajax.php
woocommerce_order_numberfilterclass-wc-order.php
woocommerce_order_partially_refunded - actionwc-order-functions.php
woocommerce_order_queryfilterclass-wc-order-query.php
woocommerce_order_query_argsfilterclass-wc-order-query.php
woocommerce_order_recalculate_coupons_coupon_object - filterabstract-wc-order.php
woocommerce_order_refunded - actionwc-order-functions.php
woocommerce_order_shipping_method - filterabstract-wc-order.php
woocommerce_order_shipping_to_display - filterabstract-wc-order.php
woocommerce_order_shipping_to_display_shipped_via - filterabstract-wc-order.php
woocommerce_order_shipping_to_display_tax_label - filterabstract-wc-order.php
woocommerce_order_status_$STATUS_TRANSITION[from]_to_$STATUS_TRANSITION[to] - actionclass-wc-order.php
woocommerce_order_status_$STATUS_TRANSITION[to] - actionclass-wc-order.php
woocommerce_order_status_changedactionclass-wc-order.php
woocommerce_order_subtotal_to_display - filterabstract-wc-order.php
woocommerce_order_type_to_group - filterabstract-wc-order.php
woocommerce_order_update_coupon - actionabstract-wc-legacy-order.php
woocommerce_order_update_fee - actionabstract-wc-legacy-order.php
woocommerce_order_update_shipping - actionabstract-wc-legacy-order.php
woocommerce_order_update_tax - actionabstract-wc-legacy-order.php
woocommerce_package_ratesfilterclass-wc-shipping.php
woocommerce_payment_completeactionclass-wc-order.php
woocommerce_payment_complete_order_status - filterclass-wc-order.php
woocommerce_payment_complete_order_status_$THIS->GET_STATUS - actionclass-wc-order.php
woocommerce_payment_complete_reduce_order_stock - filterwc-stock-functions.php
woocommerce_payment_gateway_get_new_payment_method_option_html - filterabstract-wc-payment-gateway.php
woocommerce_payment_gateway_get_new_payment_method_option_html_label - filterabstract-wc-payment-gateway.php
woocommerce_payment_gateway_get_saved_payment_method_option_html - filterabstract-wc-payment-gateway.php
woocommerce_payment_gateway_save_new_payment_method_option_html - filterabstract-wc-payment-gateway.php
woocommerce_payment_gateway_supports - filterabstract-wc-payment-gateway.php
woocommerce_payment_gatewaysfilterclass-wc-payment-gateways.php
woocommerce_payment_methods_list_item - filterwc-account-functions.php
woocommerce_payment_methods_types - filterwc-account-functions.php
woocommerce_payment_successful_result - filterclass-wc-checkout.php, class-wc-form-handler.php
woocommerce_payment_token_added_to_order - actionabstract-wc-order.php
woocommerce_payment_token_set_default - actionclass-wc-payment-tokens.php
woocommerce_permission_list - filterwc-user-functions.php
woocommerce_persistent_cart_enabled - filterclass-wc-cart-session.php, wc-cart-functions.php
woocommerce_placeholder_img - filterwc-product-functions.php
woocommerce_placeholder_img_src - filterwc-product-functions.php
woocommerce_pre_customer_bought_product - filterwc-user-functions.php
woocommerce_pre_payment_completeactionclass-wc-order.php
woocommerce_pre_remove_cart_item_from_session - filterclass-wc-cart-session.php
woocommerce_prevent_admin_accessfilterclass-wc-admin.php
woocommerce_prevent_automatic_wizard_redirect - filterclass-wc-admin.php
woocommerce_price_ex_tax_amountfilterclass-wc-tax.php
woocommerce_price_filter_widget_tax_class - filterclass-wc-query.php
woocommerce_price_format - filterwc-formatting-functions.php
woocommerce_price_inc_tax_amountfilterclass-wc-tax.php
woocommerce_price_trim_zeros - filterwc-formatting-functions.php
woocommerce_print_r_alternatives - filterwc-core-functions.php
woocommerce_privacy_before_remove_order_personal_data - actionclass-wc-privacy-erasers.php
woocommerce_privacy_erase_customer_personal_data_prop - filterclass-wc-privacy-erasers.php
woocommerce_privacy_erase_customer_personal_data_props - filterclass-wc-privacy-erasers.php
woocommerce_privacy_erase_download_personal_data - filterclass-wc-privacy-erasers.php
woocommerce_privacy_erase_order_personal_data - filterclass-wc-privacy-erasers.php
woocommerce_privacy_erase_personal_data_customer - filterclass-wc-privacy-erasers.php
woocommerce_privacy_erase_personal_data_tokens - filterclass-wc-privacy-erasers.php
woocommerce_privacy_export_customer_personal_data - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_customer_personal_data_prop_value - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_customer_personal_data_props - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_download_personal_data - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_order_personal_data - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_order_personal_data_meta - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_order_personal_data_meta_value - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_order_personal_data_prop - filterclass-wc-privacy-exporters.php
woocommerce_privacy_export_order_personal_data_props - filterclass-wc-privacy-exporters.php
woocommerce_privacy_remove_order_personal_data - actionclass-wc-privacy-erasers.php
woocommerce_privacy_remove_order_personal_data_meta - filterclass-wc-privacy-erasers.php
woocommerce_privacy_remove_order_personal_data_meta_value - filterclass-wc-privacy-erasers.php
woocommerce_privacy_remove_order_personal_data_prop_value - filterclass-wc-privacy-erasers.php
woocommerce_privacy_remove_order_personal_data_props - filterclass-wc-privacy-erasers.php
woocommerce_process_$POST->POST_TYPE_meta - actionclass-wc-admin-meta-boxes.php
woocommerce_process_checkout_$TYPE_field - filterclass-wc-checkout.php
woocommerce_process_checkout_field_$KEY - filterclass-wc-checkout.php
woocommerce_process_login_errorsfilterclass-wc-form-handler.php
woocommerce_process_myaccount_field_$KEY - filterclass-wc-form-handler.php
woocommerce_process_registration_errors - filterclass-wc-form-handler.php
woocommerce_process_shop_order_meta - actionclass-wc-admin-meta-boxes.php
woocommerce_product_add_to_cart_description - filterclass-wc-product-external.php, class-wc-product-grouped.php, - class-wc-product-simple.php, class-wc-product-variable.php, abstract-wc-product.php
woocommerce_product_add_to_cart_text - filterclass-wc-product-external.php, class-wc-product-grouped.php, - class-wc-product-simple.php, class-wc-product-variable.php, abstract-wc-product.php
woocommerce_product_add_to_cart_url - filterclass-wc-product-external.php, class-wc-product-simple.php, - class-wc-product-variation.php, abstract-wc-product.php
woocommerce_product_backorders_allowed - filterabstract-wc-product.php
woocommerce_product_backorders_require_notification - filterabstract-wc-product.php
woocommerce_product_bulk_and_quick_edit - actionclass-wc-admin-post-types.php
woocommerce_product_bulk_edit_save - actionclass-wc-admin-post-types.php
woocommerce_product_categoriesfilterclass-wc-shortcodes.php
woocommerce_product_classfilterclass-wc-product-factory.php
woocommerce_product_coupon_types - filterwc-coupon-functions.php
woocommerce_product_crosssell_ids - filterabstract-wc-legacy-product.php
woocommerce_product_default_attributes - filterabstract-wc-legacy-product.php
woocommerce_product_dimensionsfilterabstract-wc-product.php
woocommerce_product_duplicate - actionclass-wc-admin-duplicate-product.php
woocommerce_product_duplicate_before_save - actionclass-wc-admin-duplicate-product.php
woocommerce_product_export_$THIS->EXPORT_TYPE_column_$COLUMN_ID - filterclass-wc-product-csv-exporter.php
woocommerce_product_export_$THIS->EXPORT_TYPE_default_columns - filterclass-wc-product-csv-exporter.php
woocommerce_product_export_$THIS->EXPORT_TYPE_query_args - filterclass-wc-product-csv-exporter.php
woocommerce_product_export_meta_value - filterclass-wc-product-csv-exporter.php
woocommerce_product_export_row_data - filterclass-wc-product-csv-exporter.php
woocommerce_product_export_skip_meta_keys - filterclass-wc-product-csv-exporter.php
woocommerce_product_filefilterabstract-wc-product.php
woocommerce_product_file_download_path - filterabstract-wc-product.php
woocommerce_product_get_imagefilterabstract-wc-product.php
woocommerce_product_import_batch_size - filterclass-wc-admin-importers.php
woocommerce_product_import_before_import - actionclass-wc-product-csv-importer.php
woocommerce_product_import_before_process_item - actionabstract-wc-product-importer.php
woocommerce_product_import_get_product_object - filterabstract-wc-product-importer.php
woocommerce_product_import_inserted_product_object - actionabstract-wc-product-importer.php
woocommerce_product_import_pre_insert_product_object - filterabstract-wc-product-importer.php
woocommerce_product_importer_before_set_parsed_data - actionclass-wc-product-csv-importer.php
woocommerce_product_importer_default_time_limit - filterabstract-wc-product-importer.php
woocommerce_product_importer_formatting_callbacks - filterclass-wc-product-csv-importer.php
woocommerce_product_importer_memory_exceeded - filterabstract-wc-product-importer.php
woocommerce_product_importer_parsed_data - filterabstract-wc-product-importer.php, class-wc-product-csv-importer.php -
woocommerce_product_importer_pre_expand_data - filterclass-wc-product-csv-importer.php
woocommerce_product_importer_time_exceeded - filterabstract-wc-product-importer.php
woocommerce_product_is_in_stockfilterabstract-wc-product.php
woocommerce_product_is_on_sale - filterclass-wc-product-grouped.php, class-wc-product-variable.php, - abstract-wc-product.php
woocommerce_product_is_taxablefilterabstract-wc-product.php
woocommerce_product_is_visiblefilterabstract-wc-product.php
woocommerce_product_needs_shippingfilterabstract-wc-product.php
woocommerce_product_object_query - filterclass-wc-product-query.php
woocommerce_product_object_query_args - filterclass-wc-product-query.php
woocommerce_product_on_backorder - actionwc-stock-functions.php
woocommerce_product_parent - filterabstract-wc-legacy-product.php
woocommerce_product_queryactionclass-wc-query.php
woocommerce_product_query_meta_queryfilterclass-wc-query.php
woocommerce_product_query_tax_queryfilterclass-wc-query.php
woocommerce_product_quick_edit_save - actionclass-wc-admin-post-types.php
woocommerce_product_related_posts_force_display - filterwc-product-functions.php
woocommerce_product_related_posts_relate_by_category - filterwc-product-functions.php
woocommerce_product_related_posts_relate_by_tag - filterwc-product-functions.php
woocommerce_product_set_stock - actionwc-stock-functions.php
woocommerce_product_single_add_to_cart_text - filterclass-wc-product-external.php, abstract-wc-product.php
woocommerce_product_stock_status_options - filterwc-product-functions.php
woocommerce_product_supportsfilterabstract-wc-product.php
woocommerce_product_thumbnails_large_size - filterwc-product-functions.php
woocommerce_product_titlefilterclass-wc-product-variation.php, abstract-wc-product.php
woocommerce_product_type_query - filterclass-wc-product-factory.php
woocommerce_product_upsell_ids - filterabstract-wc-legacy-product.php
woocommerce_product_visibility_options - filterwc-product-functions.php
woocommerce_queue_classfilterclass-wc-queue.php
woocommerce_queued_js - filterwc-core-functions.php
woocommerce_rate_codefilterclass-wc-tax.php
woocommerce_rate_compoundfilterclass-wc-tax.php
woocommerce_rate_labelfilterclass-wc-tax.php
woocommerce_rate_percentfilterclass-wc-tax.php
woocommerce_recorded_sales - actionwc-order-functions.php
woocommerce_reduce_order_stock - actionwc-stock-functions.php
woocommerce_refund_created - actionwc-order-functions.php
woocommerce_refund_deletedactionclass-wc-ajax.php
woocommerce_regenerate_images_intermediate_image_sizes - filterclass-wc-regenerate-images-request.php
woocommerce_register_log_handlersfilterclass-wc-logger.php
woocommerce_register_post - actionwc-user-functions.php
woocommerce_register_post_typeactionclass-wc-post-types.php
woocommerce_register_post_type_product - filterclass-wc-post-types.php
woocommerce_register_post_type_product_variation - filterclass-wc-post-types.php
woocommerce_register_post_type_shop_coupon - filterclass-wc-post-types.php
woocommerce_register_post_type_shop_order - filterclass-wc-post-types.php
woocommerce_register_post_type_shop_order_refund - filterclass-wc-post-types.php
woocommerce_register_shop_order_post_statuses - filterclass-wc-post-types.php
woocommerce_register_taxonomyactionclass-wc-post-types.php
woocommerce_registration_auth_new_customer - filterclass-wc-form-handler.php
woocommerce_registration_error_email_exists - filterwc-user-functions.php
woocommerce_registration_errors - filterwc-user-functions.php
woocommerce_registration_redirect - filterclass-wc-form-handler.php
woocommerce_related_products - filterwc-product-functions.php
woocommerce_remove_cart_itemactionclass-wc-cart.php
woocommerce_remove_cart_item_from_session - actionclass-wc-cart-session.php
woocommerce_removed_couponactionclass-wc-cart.php
woocommerce_report_recent_reviews_query_from - filterclass-wc-admin-dashboard.php
woocommerce_reports_chartsfilterclass-wc-admin-reports.php
woocommerce_reports_order_statuses - filterclass-wc-admin-dashboard.php
woocommerce_reports_screen_idsfilterclass-wc-admin-assets.php
woocommerce_resize_imagesfilterclass-wc-regenerate-images.php
woocommerce_rest_$OBJECT_TYPE_schema - filterabstract-wc-rest-controller.php
woocommerce_rest_$TAXONOMY_query - filterabstract-wc-rest-terms-controller.php
woocommerce_rest_$THIS->POST_TYPE_object_query - filterabstract-wc-rest-crud-controller.php
woocommerce_rest_$THIS->POST_TYPE_object_trashable - filterabstract-wc-rest-crud-controller.php
woocommerce_rest_$THIS->POST_TYPE_query - filterabstract-wc-rest-posts-controller.php
woocommerce_rest_$THIS->POST_TYPE_trashable - filterabstract-wc-rest-posts-controller.php
woocommerce_rest_allowed_image_mime_types - filterwc-rest-functions.php
woocommerce_rest_api_uploaded_image_from_url - actionwc-rest-functions.php
woocommerce_rest_batch_items_limit - filterabstract-wc-rest-controller.php
woocommerce_rest_check_permissions - filterwc-rest-functions.php
woocommerce_rest_delete_$TAXONOMY - actionabstract-wc-rest-terms-controller.php
woocommerce_rest_delete_$THIS->POST_TYPE - actionabstract-wc-rest-posts-controller.php
woocommerce_rest_delete_$THIS->POST_TYPE_object - actionabstract-wc-rest-crud-controller.php
woocommerce_rest_delete_review - actionclass-wc-rest-product-reviews-controller.php
woocommerce_rest_insert_$TAXONOMY - actionabstract-wc-rest-terms-controller.php
woocommerce_rest_insert_$THIS->POST_TYPE - actionabstract-wc-rest-posts-controller.php
woocommerce_rest_insert_$THIS->POST_TYPE_object - actionabstract-wc-rest-crud-controller.php
woocommerce_rest_insert_order_note - actionclass-wc-rest-order-notes-controller.php
woocommerce_rest_insert_product_review - actionclass-wc-rest-product-reviews-controller.php
woocommerce_rest_is_request_to_rest_api - filterclass-wc-rest-authentication.php
woocommerce_rest_pre_insert_$THIS->POST_TYPE_object - filterclass-wc-rest-order-refunds-controller.php, - class-wc-rest-orders-controller.php, class-wc-rest-product-variations-controller.php, - class-wc-rest-products-controller.php
woocommerce_rest_pre_insert_product_review - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_prepare_$THIS->POST_TYPE_object - filterclass-wc-rest-product-variations-controller.php
woocommerce_rest_prepare_$THIS->TAXONOMY - filterclass-wc-rest-product-categories-controller.php
woocommerce_rest_prepare_data_continent - filterclass-wc-rest-data-continents-controller.php
woocommerce_rest_prepare_data_country - filterclass-wc-rest-data-countries-controller.php
woocommerce_rest_prepare_data_currency - filterclass-wc-rest-data-currencies-controller.php
woocommerce_rest_prepare_order_note - filterclass-wc-rest-order-notes-controller.php
woocommerce_rest_prepare_payment_gateway - filterclass-wc-rest-payment-gateways-controller.php
woocommerce_rest_prepare_product_review - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_prepare_report_coupons_count - filterclass-wc-rest-report-coupons-totals-controller.php
woocommerce_rest_prepare_report_customers_count - filterclass-wc-rest-report-customers-totals-controller.php
woocommerce_rest_prepare_report_orders_count - filterclass-wc-rest-report-orders-totals-controller.php
woocommerce_rest_prepare_report_products_count - filterclass-wc-rest-report-products-totals-controller.php
woocommerce_rest_prepare_report_reviews_count - filterclass-wc-rest-report-reviews-totals-controller.php
woocommerce_rest_preprocess_product_review - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_private_query_vars - filterabstract-wc-rest-posts-controller.php
woocommerce_rest_product_review_collection_params - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_product_review_query - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_product_review_trashable - filterclass-wc-rest-product-reviews-controller.php
woocommerce_rest_query_var-$VAR - filterabstract-wc-rest-posts-controller.php
woocommerce_rest_query_vars - filterabstract-wc-rest-posts-controller.php
woocommerce_rest_suppress_image_upload_error - filterclass-wc-rest-product-variations-controller.php, - class-wc-rest-products-controller.php
woocommerce_restock_refunded_item - actionwc-order-functions.php
woocommerce_restore_cart_itemactionclass-wc-cart.php
woocommerce_restore_order_stock - actionwc-stock-functions.php
woocommerce_resume_orderactionclass-wc-checkout.php
woocommerce_save_account_detailsactionclass-wc-form-handler.php
woocommerce_save_account_details_required_fields - filterclass-wc-form-handler.php
woocommerce_save_settings_$CURRENT_TAB - filterclass-wc-admin-menus.php
woocommerce_save_settings_$CURRENT_TAB_$CURRENT_SECTION - filterclass-wc-admin-menus.php
woocommerce_saved_order_items - actionwc-admin-functions.php
woocommerce_saved_payment_methods_list - filterwc-user-functions.php
woocommerce_screen_ids - filterwc-admin-functions.php
woocommerce_session_handlerfilterclass-woocommerce.php, wc-core-functions.php
woocommerce_set_cart_cookiesactionclass-wc-cart-session.php
woocommerce_settings-$GROUP_ID - filterclass-wc-rest-setting-options-controller.php
woocommerce_settings_api_form_fields_$THIS->ID - filterabstract-wc-settings-api.php
woocommerce_settings_api_sanitized_fields_$THIS->ID - filterabstract-wc-settings-api.php
woocommerce_settings_page_initactionclass-wc-admin-menus.php
woocommerce_settings_sanitize_title$VALUE[id] - actionclass-wc-admin-settings.php
woocommerce_settings_sanitize_title$VALUE[id]_after - actionclass-wc-admin-settings.php
woocommerce_settings_sanitize_title$VALUE[id]_end - actionclass-wc-admin-settings.php
woocommerce_settings_save_$CURRENT_TAB - actionclass-wc-admin-settings.php
woocommerce_settings_savedactionclass-wc-admin-settings.php
woocommerce_settings_startactionclass-wc-admin-settings.php
woocommerce_settings_tabs_array - filterclass-wc-admin-settings.php
woocommerce_setup_footeractionclass-wc-admin-setup-wizard.php
woocommerce_setup_wizard_steps - filterclass-wc-admin-setup-wizard.php
woocommerce_shipping_$THIS->ID_instance_option - filterabstract-wc-shipping-method.php
woocommerce_shipping_$THIS->ID_instance_settings_values - filterabstract-wc-shipping-method.php
woocommerce_shipping_$THIS->ID_is_available - filterabstract-wc-shipping-method.php
woocommerce_shipping_$THIS->ID_option - filterabstract-wc-shipping-method.php
woocommerce_shipping_address_map_urlfilterclass-wc-order.php
woocommerce_shipping_address_map_url_parts - filterclass-wc-order.php
woocommerce_shipping_chosen_method - filterwc-cart-functions.php
woocommerce_shipping_classes_save_classactionclass-wc-ajax.php
woocommerce_shipping_initactionclass-wc-shipping.php
woocommerce_shipping_instance_form_fields_$THIS->ID - filterabstract-wc-shipping-method.php
woocommerce_shipping_method_add_rate - filterabstract-wc-shipping-method.php
woocommerce_shipping_method_add_rate_args - filterabstract-wc-shipping-method.php
woocommerce_shipping_method_chosen - actionwc-cart-functions.php
woocommerce_shipping_method_description - filterabstract-wc-shipping-method.php
woocommerce_shipping_method_supports - filterabstract-wc-shipping-method.php
woocommerce_shipping_method_title - filterabstract-wc-shipping-method.php
woocommerce_shipping_methodsfilterclass-wc-shipping.php
woocommerce_shipping_package_details_array - filterwc-cart-functions.php
woocommerce_shipping_package_name - filterwc-cart-functions.php
woocommerce_shipping_packagesfilterclass-wc-shipping.php
woocommerce_shipping_rate_costfilterclass-wc-shipping-rate.php
woocommerce_shipping_rate_idfilterclass-wc-shipping-rate.php
woocommerce_shipping_rate_instance_id - filterclass-wc-shipping-rate.php
woocommerce_shipping_rate_labelfilterclass-wc-shipping-rate.php
woocommerce_shipping_rate_method_id - filterclass-wc-shipping-rate.php
woocommerce_shipping_rate_taxesfilterclass-wc-shipping-rate.php
woocommerce_shipping_zone_method_added - actionclass-wc-shipping-zone.php
woocommerce_shipping_zone_method_deletedactionclass-wc-ajax.php, class-wc-shipping-zone.php
woocommerce_shipping_zone_method_status_toggled - actionclass-wc-ajax.php
woocommerce_shipping_zone_shipping_methods - filterclass-wc-shipping-zone.php
woocommerce_shop_manager_editable_roles - filterwc-rest-functions.php, wc-user-functions.php
woocommerce_short_description - filterwc-formatting-functions.php, class-wc-block-featured-product.php
woocommerce_show_addons_pagefilterclass-wc-admin-menus.php
woocommerce_show_admin_bar_visit_store - filterclass-wc-admin-menus.php
woocommerce_show_admin_noticefilterclass-wc-admin-notices.php
woocommerce_show_variation_price - filterclass-wc-product-variable.php
woocommerce_shutdown_erroractionclass-woocommerce.php
woocommerce_single_product_carousel_options - filterclass-wc-frontend-scripts.php
woocommerce_single_product_flexslider_enabled - filterclass-wc-frontend-scripts.php
woocommerce_single_product_photoswipe_enabled - filterclass-wc-frontend-scripts.php
woocommerce_single_product_photoswipe_options - filterclass-wc-frontend-scripts.php
woocommerce_single_product_zoom_enabled - filterclass-wc-frontend-scripts.php
woocommerce_single_product_zoom_options - filterclass-wc-frontend-scripts.php
woocommerce_sort_countriesfilterclass-wc-countries.php
woocommerce_sortable_taxonomies - filterwc-term-functions.php, class-wc-admin-assets.php
woocommerce_statesfilterclass-wc-countries.php
woocommerce_stock_amount - filterwc-formatting-functions.php
woocommerce_stock_amount_cart_item - filterclass-wc-form-handler.php
woocommerce_structured_data_breadcrumblist - filterclass-wc-structured-data.php
woocommerce_structured_data_context - filterclass-wc-structured-data.php
woocommerce_structured_data_order - filterclass-wc-structured-data.php
woocommerce_structured_data_product - filterclass-wc-structured-data.php
woocommerce_structured_data_product_offer - filterclass-wc-structured-data.php
woocommerce_structured_data_review - filterclass-wc-structured-data.php
woocommerce_structured_data_type_for_page - filterclass-wc-structured-data.php
woocommerce_structured_data_website - filterclass-wc-structured-data.php
woocommerce_style_smallscreen_breakpoint - filterclass-wc-frontend-scripts.php
woocommerce_support_urlfilterclass-wc-install.php
woocommerce_system_status_tool_executed - actionclass-wc-admin-status.php
woocommerce_tax_rate_addedactionclass-wc-tax.php
woocommerce_tax_rate_deletedactionclass-wc-tax.php
woocommerce_tax_rate_updatedactionclass-wc-tax.php
woocommerce_tax_roundfilterclass-wc-tax.php
woocommerce_taxonomy_args_$NAMEfilterclass-wc-post-types.php
woocommerce_taxonomy_args_$TAXONOMY_NAME - filterabstract-wc-product-importer.php
woocommerce_taxonomy_args_$TERM[domain] - filterclass-wc-admin-importers.php
woocommerce_taxonomy_args_product_cat - filterclass-wc-post-types.php
woocommerce_taxonomy_args_product_shipping_class - filterclass-wc-post-types.php
woocommerce_taxonomy_args_product_tag - filterclass-wc-post-types.php
woocommerce_taxonomy_args_product_type - filterclass-wc-post-types.php
woocommerce_taxonomy_args_product_visibility - filterclass-wc-post-types.php
woocommerce_taxonomy_objects_$NAMEfilterclass-wc-post-types.php
woocommerce_taxonomy_objects_$TAXONOMY_NAME - filterabstract-wc-product-importer.php
woocommerce_taxonomy_objects_$TERM[domain] - filterclass-wc-admin-importers.php
woocommerce_taxonomy_objects_product_cat - filterclass-wc-post-types.php
woocommerce_taxonomy_objects_product_shipping_class - filterclass-wc-post-types.php
woocommerce_taxonomy_objects_product_tag - filterclass-wc-post-types.php
woocommerce_taxonomy_objects_product_type - filterclass-wc-post-types.php
woocommerce_taxonomy_objects_product_visibility - filterclass-wc-post-types.php
woocommerce_template_directoryfilterclass-wc-email.php
woocommerce_template_loader_files - filterclass-wc-template-loader.php
woocommerce_template_overrides_scan_paths - filterclass-wc-tracker.php
woocommerce_template_pathfilterclass-woocommerce.php
woocommerce_thumbnail_size - filterwc-product-functions.php
woocommerce_time_format - filterwc-formatting-functions.php
woocommerce_tracker_admin_emailfilterclass-wc-tracker.php
woocommerce_tracker_datafilterclass-wc-tracker.php
woocommerce_tracker_event_recurrencefilterclass-wc-install.php
woocommerce_tracker_last_send_interval - filterclass-wc-tracker.php
woocommerce_tracker_last_send_timefilterclass-wc-tracker.php
woocommerce_tracker_send_overridefilterclass-wc-tracker.php
woocommerce_trash_cancelled_orders_query_args - filterclass-wc-privacy.php
woocommerce_trash_failed_orders_query_args - filterclass-wc-privacy.php
woocommerce_trash_pending_orders_query_args - filterclass-wc-privacy.php
woocommerce_twenty_nineteen_styles - filterclass-wc-twenty-nineteen.php
woocommerce_twenty_seventeen_styles - filterclass-wc-twenty-seventeen.php
woocommerce_unforce_ssl_checkoutfilterclass-wc-https.php
woocommerce_update_cart_action_cart_updated - filterclass-wc-form-handler.php
woocommerce_update_cart_validation - filterclass-wc-form-handler.php
woocommerce_update_new_customer_past_order - actionwc-user-functions.php
woocommerce_update_optionactionclass-wc-admin-settings.php
woocommerce_update_option_sanitize_title$OPTION[type] - actionclass-wc-admin-settings.php
woocommerce_update_optionsactionclass-wc-admin-settings.php
woocommerce_update_options_$CURRENT_TAB - actionclass-wc-admin-settings.php
woocommerce_update_order_item - actionwc-order-item-functions.php
woocommerce_update_order_review_fragments - filterclass-wc-ajax.php
woocommerce_updatedactionclass-wc-install.php
woocommerce_updated_instance_ids - actionwc-update-functions.php
woocommerce_user_last_update_fields - filterwc-user-functions.php
woocommerce_valid_location_types - filterclass-wc-shipping-zone.php
woocommerce_valid_order_statuses_for_cancel - filterclass-wc-form-handler.php, wc-account-functions.php
woocommerce_valid_order_statuses_for_order_again - filterclass-wc-cart-session.php
woocommerce_valid_order_statuses_for_payment - filterclass-wc-order.php
woocommerce_valid_order_statuses_for_payment_complete - filterclass-wc-order.php
woocommerce_valid_webhook_events - filterwc-webhook-functions.php
woocommerce_valid_webhook_resources - filterwc-webhook-functions.php
woocommerce_validate_postcodefilterclass-wc-validation.php
woocommerce_variable_empty_price_html - filterclass-wc-product-variable.php
woocommerce_variable_price_html - filterclass-wc-product-variable.php
woocommerce_variable_product_sync_data - actionclass-wc-product-variable.php
woocommerce_variation_is_active - filterclass-wc-product-variation.php
woocommerce_variation_is_purchasable - filterclass-wc-product-variation.php
woocommerce_variation_is_visible - filterclass-wc-product-variation.php
woocommerce_variation_set_stock - actionwc-stock-functions.php
woocommerce_webhook_deliver_async - filterwc-webhook-functions.php
woocommerce_webhook_deliveryactionclass-wc-webhook.php
woocommerce_webhook_delivery_urlfilterclass-wc-webhook.php
woocommerce_webhook_disabled_due_delivery_failures - actionclass-wc-webhook.php
woocommerce_webhook_eventfilterclass-wc-webhook.php
woocommerce_webhook_hash_algorithmfilterclass-wc-webhook.php
woocommerce_webhook_hooksfilterclass-wc-webhook.php
woocommerce_webhook_http_argsfilterclass-wc-webhook.php
woocommerce_webhook_namefilterclass-wc-webhook.php
woocommerce_webhook_options_save - actionclass-wc-admin-webhooks.php
woocommerce_webhook_order_payload_filters - filterclass-wc-webhook.php
woocommerce_webhook_payloadfilterclass-wc-webhook.php
woocommerce_webhook_process_deliveryactionclass-wc-webhook.php
woocommerce_webhook_resourcefilterclass-wc-webhook.php
woocommerce_webhook_secretfilterclass-wc-webhook.php
woocommerce_webhook_should_deliverfilterclass-wc-webhook.php
woocommerce_webhook_statusfilterclass-wc-webhook.php
woocommerce_webhook_statuses - filterwc-webhook-functions.php
woocommerce_webhook_topicfilterclass-wc-webhook.php
woocommerce_webhook_topic_hooksfilterclass-wc-webhook.php
woocommerce_widget_field_$SETTING[type] - actionabstract-wc-widget.php
woocommerce_widget_get_current_page_url - filterabstract-wc-widget.php
woocommerce_widget_settings_sanitize_option - filterabstract-wc-widget.php
-
+
{% endblock %} diff --git a/data/templates/woocommerce/icons/constant.svg.twig b/data/templates/woocommerce/icons/constant.svg.twig new file mode 100644 index 0000000000..28f9bb48da --- /dev/null +++ b/data/templates/woocommerce/icons/constant.svg.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/icons/method.svg.twig b/data/templates/woocommerce/icons/method.svg.twig new file mode 100644 index 0000000000..5b839e1926 --- /dev/null +++ b/data/templates/woocommerce/icons/method.svg.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/icons/private.svg.twig b/data/templates/woocommerce/icons/private.svg.twig new file mode 100644 index 0000000000..0e82c10858 --- /dev/null +++ b/data/templates/woocommerce/icons/private.svg.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/icons/protected.svg.twig b/data/templates/woocommerce/icons/protected.svg.twig new file mode 100644 index 0000000000..b411a4b56f --- /dev/null +++ b/data/templates/woocommerce/icons/protected.svg.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/icons/wp.svg.twig b/data/templates/woocommerce/icons/wp.svg.twig new file mode 100644 index 0000000000..dd623967c7 --- /dev/null +++ b/data/templates/woocommerce/icons/wp.svg.twig @@ -0,0 +1 @@ + diff --git a/data/templates/woocommerce/index.html.twig b/data/templates/woocommerce/index.html.twig index a9359b6b8c..c7be5ef8e3 100644 --- a/data/templates/woocommerce/index.html.twig +++ b/data/templates/woocommerce/index.html.twig @@ -3,79 +3,18 @@ {% block content %}

Documentation

- {% if usesNamespaces or not usePackages %} -

Namespaces

-
- {% for namespace in project.namespace.children %} -
{{ namespace|route('class:short') }}
- {% endfor %} -
- {% endif %} - - {% if usesPackages %} -

Packages

-
- {% for package in project.package.children %} -
{{ package|route('class:short') }}
- {% endfor %} -
- {% endif %} - - {% if project.namespace.interfaces is not empty or project.namespace.classes is not empty %} -

Interfaces, Classes and Traits

-
- {% for interface in project.namespace.interfaces %} -
{{ interface|route('class:short') }}
-
{{ interface.summary }}
- {% endfor %} - - {% for class in project.namespace.classes %} -
{{ class|route('class:short') }}
-
{{ class.summary }}
- {% endfor %} - - {% for trait in project.namespace.traits %} -
{{ trait|route('class:short') }}
-
{{ trait.summary }}
- {% endfor %} -
- {% endif %} - - {% if project.namespace.constants is not empty or project.namespace.functions is not empty %} -

Table of Contents

- - {% for constant in project.namespace.constants %} - - - - - - {% endfor %} - {% for function in project.namespace.functions %} - - - - - - {% endfor %} -
{{ constant|route('class:short') }}{{ constant.summary }}{{ constant.value }}
{{ function|route('class:short') }}{{ function.summary }}{{ function.type|route('class:short'|join('|')|raw) }}
- {% endif %} - - {% if project.namespace.constants is not empty %} -

Constants

- - {% endif %} - - {% if project.namespace.functions is not empty %} -
-

Functions

- {% for function in project.namespace.functions %} - {% include 'function.html.twig' %} - {% endfor %} -
- {% endif %} + {% set node = project.namespace %} + + {{ + include( + 'components/table-of-contents.html.twig', + { + 'node': project.namespace, + 'namespaces': usesNamespaces or not usesPackages ? node.children : [], + 'packages': usesPackages ? project.package.children : [] + } + ) + }} + {{ include('components/constants.html.twig', {'node': project.namespace}) }} + {{ include('components/functions.html.twig', {'node': project.namespace}) }} {% endblock %} diff --git a/data/templates/woocommerce/indices/files.html.twig b/data/templates/woocommerce/indices/files.html.twig new file mode 100644 index 0000000000..af8bd6090d --- /dev/null +++ b/data/templates/woocommerce/indices/files.html.twig @@ -0,0 +1,18 @@ +{% extends 'base.html.twig' %} + +{% block content %} + {% set orderedFiles = project.files|sort((a,b) => a.name <=> b.name) %} + +

Files

+ {% for letter in range('a', 'z') %} + {% set filesStartingWith = orderedFiles|filter(v => v.name|first|lower == letter) %} + {% if filesStartingWith is not empty %} +

{{ letter|upper }}

+ + {% endif %} + {% endfor %} +{% endblock %} diff --git a/data/templates/woocommerce/interface.html.twig b/data/templates/woocommerce/interface.html.twig index 04062cdb57..ffa57ee23b 100644 --- a/data/templates/woocommerce/interface.html.twig +++ b/data/templates/woocommerce/interface.html.twig @@ -1,131 +1,14 @@ {% extends 'base.html.twig' %} {% block content %} - {% include 'breadcrumbs.html.twig' %} -
-

- {{ node.name }} - {% if node.parent is not empty %} - - extends - {% for interface in node.parent %} - {{ interface|route('class:short') }}{% if not loop.last %}, {% endif %} - {% endfor %} - - {% endif %} - {% if usesPackages %} -
- in - -
- {% endif %} -

- + {% include 'components/breadcrumbs.html.twig' %} -

{{ node.summary }}

-
{{ node.description|markdown }}
+
+ {{ include('components/interface-title.html.twig') }} + {{ include('components/element-found-in.html.twig') }} + {{ include('components/element-header.html.twig') }} -

Table of Contents

- - {% for constant in node.constants %} - - - - - - {% endfor %} - {% for property in node.properties %} - - - - - - {% endfor %} - {% for property in node.magicProperties %} - - - - - - {% endfor %} - {% for property in node.inheritedProperties %} - - - - - - {% endfor %} - {% for method in node.methods %} - - - - - - {% endfor %} - {% for method in node.magicMethods %} - - - - - - {% endfor %} - {% for method in node.inheritedMethods %} - - - - - - {% endfor %} -
{{ constant.name }}{{ constant.summary }}{{ constant.value }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('class:short')|join('|')|raw }}
- - {% if node.constants is not empty %} -
-

Constants

- {% for constant in node.constants %} - {% include 'constant.html.twig' %} - {% endfor %} - {% for constant in node.inheritedConstants %} - {% include 'constant.html.twig' %} - {% endfor %} -
- {% endif %} - - {% if node.properties is not empty or node.magicProperties is not empty or node.inheritedProperties is not empty %} -
-

Properties

- {% for property in node.properties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.magicProperties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.inheritedProperties %} - {% include 'property.html.twig' %} - {% endfor %} -
- {% endif %} - - {% if node.methods is not empty or node.magicMethods is not empty or node.inheritedMethods is not empty %} -
-

Methods

- {% for method in node.methods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.magicMethods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.inheritedMethods %} - {% include 'method.html.twig' %} - {% endfor %} -
- {% endif %} + {{ include('components/constants.html.twig') }} + {{ include('components/methods.html.twig') }}
{% endblock %} diff --git a/data/templates/woocommerce/js/prism.js b/data/templates/woocommerce/js/prism.js new file mode 100644 index 0000000000..18f6020b0f --- /dev/null +++ b/data/templates/woocommerce/js/prism.js @@ -0,0 +1,14 @@ +/* PrismJS 1.21.0 +https://prismjs.com/download.html#themes=prism-coy&languages=markup+css+clike+javascript+javadoclike+markup-templating+php+phpdoc+php-extras&plugins=line-highlight+line-numbers */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=l.reach);k+=y.value.length,y=y.next){var b=y.value;if(t.length>n.length)return;if(!(b instanceof W)){var x=1;if(h&&y!=t.tail.prev){m.lastIndex=k;var w=m.exec(n);if(!w)break;var A=w.index+(f&&w[1]?w[1].length:0),P=w.index+w[0].length,S=k;for(S+=y.value.length;S<=A;)y=y.next,S+=y.value.length;if(S-=y.value.length,k=S,y.value instanceof W)continue;for(var E=y;E!==t.tail&&(Sl.reach&&(l.reach=j);var C=y.prev;L&&(C=I(t,C,L),k+=L.length),z(t,C,x);var _=new W(o,g?M.tokenize(O,g):O,v,O);y=I(t,C,_),N&&I(t,y,N),1"+a.content+""},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(M.highlight(r,M.languages[t],t)),a&&u.close()},!1)),M;var e=M.util.currentScript();function t(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var r=document.readyState;"loading"===r||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",t):window.requestAnimationFrame?window.requestAnimationFrame(t):window.setTimeout(t,16)}return M}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[^]*?>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(e){var s=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+s.source+")*?(?=\\s*\\{)"),string:{pattern:s,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var t=e.languages.markup;t&&(t.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:t.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},t.tag))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; +!function(h){function v(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(h.languages["markup-templating"]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if("function"==typeof o&&!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&&p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t=d.length);t++){var a=n[t];if("string"==typeof a||a.content&&"string"==typeof a.content){var r=d[m],o=p.tokenStack[r],c="string"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1$|^<\?(?:php(?=\s)|=)?/i,alias:"important"}}),n.languages.insertBefore("php","keyword",{variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),n.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var e={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/,lookbehind:!0,inside:n.languages.php};n.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:e}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:e}}}),delete n.languages.php.string,n.hooks.add("before-tokenize",function(e){if(/<\?/.test(e.code)){n.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi)}}),n.hooks.add("after-tokenize",function(e){n.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(Prism); +!function(p){var a=p.languages.javadoclike={parameter:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(a,"addSupport",{value:function(a,e){"string"==typeof a&&(a=[a]),a.forEach(function(a){!function(a,e){var n="doc-comment",t=p.languages[a];if(t){var r=t[n];if(!r){var o={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}};r=(t=p.languages.insertBefore(a,"comment",o))[n]}if(r instanceof RegExp&&(r=t[n]={pattern:r}),Array.isArray(r))for(var i=0,s=r.length;i ",document.body.appendChild(e),t=38===e.offsetHeight,document.body.removeChild(e)}return t},l=!0,a=0;Prism.hooks.add("before-sanity-check",function(e){var t=e.element.parentNode,n=t&&t.getAttribute("data-line");if(t&&n&&/pre/i.test(t.nodeName)){var i=0;g(".line-highlight",t).forEach(function(e){i+=e.textContent.length,e.parentNode.removeChild(e)}),i&&/^( \n)+$/.test(e.code.slice(-i))&&(e.code=e.code.slice(0,-i))}}),Prism.hooks.add("complete",function e(t){var n=t.element.parentNode,i=n&&n.getAttribute("data-line");if(n&&i&&/pre/i.test(n.nodeName)){clearTimeout(a);var r=Prism.plugins.lineNumbers,o=t.plugins&&t.plugins.lineNumbers;if(b(n,"line-numbers")&&r&&!o)Prism.hooks.add("line-numbers",e);else u(n,i)(),a=setTimeout(c,1)}}),window.addEventListener("hashchange",c),window.addEventListener("resize",function(){g("pre[data-line]").map(function(e){return u(e)}).forEach(v)})}function g(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function b(e,t){return t=" "+t+" ",-1<(" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(t)}function v(e){e()}function u(u,e,c){var t=(e="string"==typeof e?e:u.getAttribute("data-line")).replace(/\s+/g,"").split(",").filter(Boolean),d=+u.getAttribute("data-line-offset")||0,f=(s()?parseInt:parseFloat)(getComputedStyle(u).lineHeight),m=b(u,"line-numbers"),p=m?u:u.querySelector("code")||u,h=[];t.forEach(function(e){var t=e.split("-"),n=+t[0],i=+t[1]||n,r=u.querySelector('.line-highlight[data-range="'+e+'"]')||document.createElement("div");if(h.push(function(){r.setAttribute("aria-hidden","true"),r.setAttribute("data-range",e),r.className=(c||"")+" line-highlight"}),m&&Prism.plugins.lineNumbers){var o=Prism.plugins.lineNumbers.getLine(u,n),a=Prism.plugins.lineNumbers.getLine(u,i);if(o){var s=o.offsetTop+"px";h.push(function(){r.style.top=s})}if(a){var l=a.offsetTop-o.offsetTop+a.offsetHeight+"px";h.push(function(){r.style.height=l})}}else h.push(function(){r.setAttribute("data-start",n),n span",u).forEach(function(e,t){var n=t+a;e.onclick=function(){var e=i+"."+n;l=!1,location.hash=e,setTimeout(function(){l=!0},1)}})}}return function(){h.forEach(v)}}function c(){var e=location.hash.slice(1);g(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)});var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var n=e.slice(0,e.lastIndexOf(".")),i=document.getElementById(n);if(i)i.hasAttribute("data-line")||i.setAttribute("data-line",""),u(i,t,"temporary ")(),l&&document.querySelector(".temporary.line-highlight").scrollIntoView()}}}(); +!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var o="line-numbers",a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if("PRE"===e.tagName&&e.classList.contains(o)){var t=e.querySelector(".line-numbers-rows"),i=parseInt(e.getAttribute("data-start"),10)||1,r=i+(t.children.length-1);n");(i=document.createElement("span")).setAttribute("aria-hidden","true"),i.className="line-numbers-rows",i.innerHTML=l,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run("line-numbers",e)}}}),Prism.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)["white-space"];return"pre-wrap"===n||"pre-line"===n})).length){var n=e.map(function(e){var n=e.querySelector("code"),t=e.querySelector(".line-numbers-rows");if(n&&t){var i=e.querySelector(".line-numbers-sizer"),r=n.textContent.split(a);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var s=i.getBoundingClientRect().height;return i.innerHTML="",{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&&1 + + + + {% block title %}{{ project.name }}{% endblock %} + + + + + + + + + + + {% block stylesheets %} + {% endblock %} + + + + {% block javascripts %} + {% endblock %} + + + {% include 'components/header.html.twig' %} + +
+
+ {% include 'components/sidebar.html.twig' %} + +
+ {% block content %}{% endblock %} +
+
+ {{ include('components/back-to-top.html.twig') }} +
+ + {% include 'components/footer.html.twig' %} + + + + + + + diff --git a/data/templates/woocommerce/method.html.twig b/data/templates/woocommerce/method.html.twig deleted file mode 100644 index c85ae01469..0000000000 --- a/data/templates/woocommerce/method.html.twig +++ /dev/null @@ -1,82 +0,0 @@ - -
-

{{ method.name }}()

- - {% if method.summary %} -

{{ method.summary }}

- {% endif %} - - {{ method.visibility }} - {% if method.abstract %}abstract{% endif %} - {% if method.final %}final{% endif %} - {% if method.static %}static{% endif %} - {{ method.name }}( - {% for argument in method.arguments %} - - {% if argument.default %}[{% endif %}{% if not loop.first %}, {% endif %} - {% if argument.isVariadic %}...{% endif %} - {%- if argument.byReference -%}&{%- endif -%} - ${{ argument.name }} : - {{ argument.type|route('class:short')|join('|')|raw }} - {% if argument.default %} = {{ argument.default }} ]{% endif %} - - {% endfor %} - ) - : {{ method.response.type|route('class:short')|join('|')|raw }} - - - {% if method.description %} -
{{ method.description|markdown }}
- {% endif %} - - {% if method.arguments|length > 0 %} -
Parameters
-
- {% for argument in method.arguments %} -
- ${{ argument.name }} - : {{ argument.type|route('class:short')|join('|')|raw }} - {% if argument.default %} = {{ argument.default }}{% endif %} -
-
{{ argument.description|default('')|markdown }}
- {% endfor %} -
- {% endif %} - - {% set visibleTags = method.tags|filter((v,k) => k not in ['param', 'return']) %} - {% if visibleTags|length > 0 %} -
Tags
-
- {% for name,seriesOfTag in visibleTags %} - {% for tag in seriesOfTag %} -
- {{ name }} -
-
{{ tag.description|default('')|markdown }}
- {% endfor %} - {% endfor %} -
- {% endif %} - - {% if (method.response.type and method.response.type != 'void') or method.response.description %} -
Return values
- {{ method.response.type|route('class:short')|join('|')|raw }} - {% if method.response.description %} - — {{ method.response.description|markdown }} - {% endif %} - {% endif %} - -
diff --git a/data/templates/woocommerce/namespace.html.twig b/data/templates/woocommerce/namespace.html.twig index ef6f83e9ec..8f57944208 100644 --- a/data/templates/woocommerce/namespace.html.twig +++ b/data/templates/woocommerce/namespace.html.twig @@ -1,74 +1,12 @@ {% extends 'base.html.twig' %} {% block content %} - {% include 'breadcrumbs.html.twig' %} - -

{{ node.name == '\\' ? 'API Documentation' : node.name }}

- - {% if node.children is not empty %} -

Namespaces

-
- {% for namespace in node.children %} -
{{ namespace|route('class:short') }}
- {% endfor %} -
- {% endif %} - - {% if node.interfaces is not empty or node.classes is not empty %} -

Interfaces, Classes and Traits

-
- {% for interface in node.interfaces %} -
{{ interface|route('class:short') }}
-
{{ interface.summary }}
- {% endfor %} - - {% for class in node.classes %} -
{{ class|route('class:short') }}
-
{{ class.summary }}
- {% endfor %} - - {% for trait in node.traits %} -
{{ trait|route('class:short') }}
-
{{ trait.summary }}
- {% endfor %} -
- {% endif %} - - {% if node.constants is not empty or node.functions is not empty %} -

Table of Contents

- - {% for constant in node.constants %} - - - - - - {% endfor %} - {% for function in node.functions %} - - - - - - {% endfor %} -
{{ constant|route('class:short') }}{{ constant.summary }}{{ constant.value }}
{{ function|route('class:short') }}{{ function.summary }}{{ function.type|route('class:short'|join('|')|raw) }}
- {% endif %} - - {% if node.constants is not empty %} -

Constants

- - {% endif %} - - {% if node.functions is not empty %} -
-

Functions

- {% for function in node.functions %} - {% include 'function.html.twig' %} - {% endfor %} -
- {% endif %} + {% include 'components/breadcrumbs.html.twig' %} + +
+ {{ include('components/namespace-title.html.twig') }} + {{ include('components/table-of-contents.html.twig', {'namespaces': node.children}) }} + {{ include('components/constants.html.twig') }} + {{ include('components/functions.html.twig') }} +
{% endblock %} diff --git a/data/templates/woocommerce/objects/blockquote.css.twig b/data/templates/woocommerce/objects/blockquote.css.twig new file mode 100644 index 0000000000..23fa42742d --- /dev/null +++ b/data/templates/woocommerce/objects/blockquote.css.twig @@ -0,0 +1,3 @@ +.phpdocumentor blockquote { + margin-bottom: var(--spacing-md); +} diff --git a/data/templates/woocommerce/objects/buttons.css.twig b/data/templates/woocommerce/objects/buttons.css.twig new file mode 100644 index 0000000000..f40ab1c43e --- /dev/null +++ b/data/templates/woocommerce/objects/buttons.css.twig @@ -0,0 +1,44 @@ +.phpdocumentor-button { + background-color: var(--button-color); + border: 1px solid var(--button-border-color); + border-radius: var(--border-radius-base-size); + box-sizing: border-box; + color: var(--button-text-color); + cursor: pointer; + display: inline-block; + font-size: var(--text-sm); + font-weight: 600; + height: 38px; + letter-spacing: .1rem; + line-height: 38px; + padding: 0 var(--spacing-xxl); + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-button .-wide { + width: 100%; +} + +.phpdocumentor-button:hover, +.phpdocumentor-button:focus { + border-color: #888; + color: #333; + outline: 0; +} + +.phpdocumentor-button.-primary { + background-color: var(--button-color-primary); + border-color: var(--button-color-primary); + color: var(--button-text-color-primary); +} + +.phpdocumentor-button.-primary:hover, +.phpdocumentor-button.-primary:focus { + background-color: var(--link-color-primary); + border-color: var(--link-color-primary); + color: var(--button-text-color-primary); +} diff --git a/data/templates/woocommerce/objects/code.css.twig b/data/templates/woocommerce/objects/code.css.twig new file mode 100644 index 0000000000..9a7cdb26bc --- /dev/null +++ b/data/templates/woocommerce/objects/code.css.twig @@ -0,0 +1,18 @@ +.phpdocumentor pre { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-code { + background: var(--code-background-color); + border: 1px solid var(--code-border-color); + border-radius: var(--border-radius-base-size); + font-size: var(--text-sm); + padding: var(--spacing-sm) var(--spacing-md); + width: 100%; + box-sizing: border-box; +} + +pre > .phpdocumentor-code { + display: block; + white-space: pre; +} diff --git a/data/templates/woocommerce/objects/forms.css.twig b/data/templates/woocommerce/objects/forms.css.twig new file mode 100644 index 0000000000..c013777d9a --- /dev/null +++ b/data/templates/woocommerce/objects/forms.css.twig @@ -0,0 +1,54 @@ +.phpdocumentor form { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-field { + background-color: var(--form-field-color); + border: 1px solid var(--form-field-border-color); + border-radius: var(--border-radius-base-size); + box-shadow: none; + box-sizing: border-box; + height: 38px; + padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: var(--spacing-md); +} + +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} + +.phpdocumentor-textarea { + min-height: 65px; + padding-bottom: var(--spacing-xxxs); + padding-top: var(--spacing-xxxs); +} + +.phpdocumentor-field:focus { + border: 1px solid var(--button-color-primary); + outline: 0; +} + +.phpdocumentor-label { + display: block; + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor-fieldset { + border-width: 0; + padding: 0; +} + +input[type="checkbox"].phpdocumentor-field, +input[type="radio"].phpdocumentor-field { + display: inline; +} diff --git a/data/templates/woocommerce/objects/grid.css.twig b/data/templates/woocommerce/objects/grid.css.twig new file mode 100644 index 0000000000..a101166a58 --- /dev/null +++ b/data/templates/woocommerce/objects/grid.css.twig @@ -0,0 +1,133 @@ +.phpdocumentor-column { + box-sizing: border-box; + float: left; + width: 100%; +} + +@media (min-width: {{ breakpoints['md'] }}) { + .phpdocumentor-column { + margin-left: 4%; + } + + .phpdocumentor-column:first-child { + margin-left: 0; + } + + .-one.phpdocumentor-column { + width: 4.66666666667%; + } + + .-two.phpdocumentor-column { + width: 13.3333333333%; + } + + .-three.phpdocumentor-column { + width: 22%; + } + + .-four.phpdocumentor-column { + width: 30.6666666667%; + } + + .-five.phpdocumentor-column { + width: 39.3333333333%; + } + + .-six.phpdocumentor-column { + width: 48%; + } + + .-seven.phpdocumentor-column { + width: 56.6666666667%; + } + + .-eight.phpdocumentor-column { + width: 65.3333333333%; + } + + .-nine.phpdocumentor-column { + width: 74.0%; + } + + .-ten.phpdocumentor-column { + width: 82.6666666667%; + } + + .-eleven.phpdocumentor-column { + width: 91.3333333333%; + } + + .-twelve.phpdocumentor-column { + margin-left: 0; + width: 100%; + } + + .-one-third.phpdocumentor-column { + width: 30.6666666667%; + } + + .-two-thirds.phpdocumentor-column { + width: 65.3333333333%; + } + + .-one-half.phpdocumentor-column { + width: 48%; + } + + /* Offsets */ + .-offset-by-one.phpdocumentor-column { + margin-left: 8.66666666667%; + } + + .-offset-by-two.phpdocumentor-column { + margin-left: 17.3333333333%; + } + + .-offset-by-three.phpdocumentor-column { + margin-left: 26%; + } + + .-offset-by-four.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-five.phpdocumentor-column { + margin-left: 43.3333333333%; + } + + .-offset-by-six.phpdocumentor-column { + margin-left: 52%; + } + + .-offset-by-seven.phpdocumentor-column { + margin-left: 60.6666666667%; + } + + .-offset-by-eight.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-nine.phpdocumentor-column { + margin-left: 78.0%; + } + + .-offset-by-ten.phpdocumentor-column { + margin-left: 86.6666666667%; + } + + .-offset-by-eleven.phpdocumentor-column { + margin-left: 95.3333333333%; + } + + .-offset-by-one-third.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-two-thirds.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-one-half.phpdocumentor-column { + margin-left: 52%; + } +} diff --git a/data/templates/woocommerce/objects/headings.css.twig b/data/templates/woocommerce/objects/headings.css.twig new file mode 100644 index 0000000000..263500669b --- /dev/null +++ b/data/templates/woocommerce/objects/headings.css.twig @@ -0,0 +1,77 @@ +.phpdocumentor h1, +.phpdocumentor h2, +.phpdocumentor h3, +.phpdocumentor h4, +.phpdocumentor h5, +.phpdocumentor h6 { + margin-bottom: var(--spacing-lg); + margin-top: var(--spacing-lg); + font-weight: 600; +} + +.phpdocumentor h1 { + font-size: var(--text-xxxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.2; + margin-top: 0; +} + +.phpdocumentor h2 { + font-size: var(--text-xxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.25; + margin-top: 0; +} + +.phpdocumentor h3 { + font-size: var(--text-xxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.3; +} + +.phpdocumentor h4 { + font-size: var(--text-xl); + letter-spacing: calc(var(--letter-spacing--primary) / 2); + line-height: 1.35; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor h5 { + font-size: var(--text-lg); + letter-spacing: calc(var(--letter-spacing--primary) / 4); + line-height: 1.5; + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h6 { + font-size: var(--text-md); + letter-spacing: 0; + line-height: var(--line-height--primary); + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h1 .headerlink, +.phpdocumentor h2 .headerlink, +.phpdocumentor h3 .headerlink, +.phpdocumentor h4 .headerlink, +.phpdocumentor h5 .headerlink, +.phpdocumentor h6 .headerlink +{ + transition: all .3s ease-in-out; + opacity: 0; + text-decoration: none; + color: silver; + font-size: 80%; +} + +.phpdocumentor h1:hover .headerlink, +.phpdocumentor h2:hover .headerlink, +.phpdocumentor h3:hover .headerlink, +.phpdocumentor h4:hover .headerlink, +.phpdocumentor h5:hover .headerlink, +.phpdocumentor h6:hover .headerlink +{ + opacity: 1; +} diff --git a/data/templates/woocommerce/objects/images.css.twig b/data/templates/woocommerce/objects/images.css.twig new file mode 100644 index 0000000000..d60887da9b --- /dev/null +++ b/data/templates/woocommerce/objects/images.css.twig @@ -0,0 +1,3 @@ +.phpdocumentor figure { + margin-bottom: var(--spacing-md); +} diff --git a/data/templates/woocommerce/objects/line.css.twig b/data/templates/woocommerce/objects/line.css.twig new file mode 100644 index 0000000000..3f44e231e5 --- /dev/null +++ b/data/templates/woocommerce/objects/line.css.twig @@ -0,0 +1,6 @@ +.phpdocumentor-line { + border-top: 1px solid #E1E1E1; + border-width: 0; + margin-bottom: var(--spacing-xxl); + margin-top: var(--spacing-xxl); +} diff --git a/data/templates/woocommerce/objects/links.css.twig b/data/templates/woocommerce/objects/links.css.twig new file mode 100644 index 0000000000..ff85d6c91f --- /dev/null +++ b/data/templates/woocommerce/objects/links.css.twig @@ -0,0 +1,7 @@ +.phpdocumentor a { + color: var(--link-color-primary); +} + +.phpdocumentor a:hover { + color: var(--link-hover-color-primary); +} diff --git a/data/templates/woocommerce/objects/lists.css.twig b/data/templates/woocommerce/objects/lists.css.twig new file mode 100644 index 0000000000..3f74e934bd --- /dev/null +++ b/data/templates/woocommerce/objects/lists.css.twig @@ -0,0 +1,33 @@ +div.phpdocumentor-list > ul, +ul.phpdocumentor-list { + list-style: circle inside; +} + +ol.phpdocumentor-list { + list-style: decimal inside; +} + +div.phpdocumentor-list > ul, +ol.phpdocumentor-list, +ul.phpdocumentor-list { + margin-top: 0; + padding-left: 0; + margin-bottom: var(--spacing-md); +} + +dl { + margin-bottom: var(--spacing-md); +} + +div.phpdocumentor-list > ul ul, +ul.phpdocumentor-list ul.phpdocumentor-list, +ul.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ul.phpdocumentor-list { + font-size: var(--text-sm); + margin: var(--spacing-xs) 0 var(--spacing-xs) calc(var(--spacing-xs) * 2); +} + +li.phpdocumentor-list { + margin-bottom: var(--spacing-md); +} diff --git a/data/templates/woocommerce/objects/paragraph.css.twig b/data/templates/woocommerce/objects/paragraph.css.twig new file mode 100644 index 0000000000..5b6695604a --- /dev/null +++ b/data/templates/woocommerce/objects/paragraph.css.twig @@ -0,0 +1,4 @@ +.phpdocumentor p { + margin-top: 0; + margin-bottom: var(--spacing-md); +} diff --git a/data/templates/woocommerce/objects/section.css.twig b/data/templates/woocommerce/objects/section.css.twig new file mode 100644 index 0000000000..34dd372a09 --- /dev/null +++ b/data/templates/woocommerce/objects/section.css.twig @@ -0,0 +1,21 @@ +.phpdocumentor-section { + box-sizing: border-box; + margin: 0 auto; + max-width: var(--container-width); + padding: 0 var(--spacing-lg); + position: relative; + width: 100%; +} + +@media (min-width: {{ breakpoints['xxl'] }}) { + .phpdocumentor-section { + padding: 0; + width: 95%; + } +} + +@media (min-width: {{ breakpoints['xl'] }}) { + .phpdocumentor-section { + width: 85%; + } +} diff --git a/data/templates/woocommerce/objects/tables.css.twig b/data/templates/woocommerce/objects/tables.css.twig new file mode 100644 index 0000000000..ddf8c0b745 --- /dev/null +++ b/data/templates/woocommerce/objects/tables.css.twig @@ -0,0 +1,20 @@ +.phpdocumentor table { + margin-bottom: var(--spacing-md); +} + +th.phpdocumentor-heading, +td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; +} + +th.phpdocumentor-heading:first-child, +td.phpdocumentor-cell:first-child { + padding-left: 0; +} + +th.phpdocumentor-heading:last-child, +td.phpdocumentor-cell:last-child { + padding-right: 0; +} diff --git a/data/templates/woocommerce/package.html.twig b/data/templates/woocommerce/package.html.twig index 8c9e1140a0..2b021f1e85 100644 --- a/data/templates/woocommerce/package.html.twig +++ b/data/templates/woocommerce/package.html.twig @@ -1,74 +1,12 @@ {% extends 'base.html.twig' %} {% block content %} - {% include 'breadcrumbs.html.twig' %} - -

{{ node.name == '\\' ? 'API Documentation' : node.name }}

- - {% if node.children is not empty %} -

Packages

-
- {% for package in node.children %} -
{{ package|route('class:short') }}
- {% endfor %} -
- {% endif %} - - {% if node.interfaces is not empty or node.classes is not empty %} -

Interfaces, Classes and Traits

-
- {% for interface in node.interfaces %} -
{{ interface|route('class:short') }}
-
{{ interface.summary }}
- {% endfor %} - - {% for class in node.classes %} -
{{ class|route('class:short') }}
-
{{ class.summary }}
- {% endfor %} - - {% for trait in node.traits %} -
{{ trait|route('class:short') }}
-
{{ trait.summary }}
- {% endfor %} -
- {% endif %} - - {% if node.constants is not empty or node.functions is not empty %} -

Table of Contents

- - {% for constant in node.constants %} - - - - - - {% endfor %} - {% for function in node.functions %} - - - - - - {% endfor %} -
{{ constant|route('class:short') }}{{ constant.summary }}{{ constant.value }}
{{ function|route('class:short') }}{{ function.summary }}{{ function.type|route('class:short'|join('|')|raw) }}
- {% endif %} - - {% if node.constants is not empty %} -

Constants

- - {% endif %} - - {% if node.functions is not empty %} -
-

Functions

- {% for function in node.functions %} - {% include 'function.html.twig' %} - {% endfor %} -
- {% endif %} + {% include 'components/breadcrumbs.html.twig' %} + +
+ {{ include('components/namespace-title.html.twig') }} + {{ include('components/table-of-contents.html.twig', {'packages': node.children}) }} + {{ include('components/constants.html.twig') }} + {{ include('components/functions.html.twig') }} +
{% endblock %} diff --git a/data/templates/woocommerce/property.html.twig b/data/templates/woocommerce/property.html.twig deleted file mode 100644 index 8de6086b77..0000000000 --- a/data/templates/woocommerce/property.html.twig +++ /dev/null @@ -1,29 +0,0 @@ - -
-

${{ property.name }}

- - {% if property.summary %} -

{{ property.summary }}

- {% endif %} - - {{ property.visibility }} - {% if property.static %}static{% endif %} - {{ not property.type ? "mixed" : property.type|route('class:short')|join('|')|raw }} - ${{ property.name }} - {% if property.default is not null %} = {{ property.default ?: '""' }}{% endif %} - - {% if property.description %} -
{{ property.description }}
- {% endif %} -
diff --git a/data/templates/woocommerce/search.js.twig b/data/templates/woocommerce/search.js.twig index db34ecc340..5ea2a19b69 100644 --- a/data/templates/woocommerce/search.js.twig +++ b/data/templates/woocommerce/search.js.twig @@ -1,150 +1,64 @@ -// Search module for phpDocumentor -// -// This module is a wrapper around fuse.js that will use a given index and attach itself to a -// search form and to a search results pane identified by the following data attributes: -// -// 1. data-search-form -// 2. data-search-results -// -// The data-search-form is expected to have a single input element of type 'search' that will trigger searching for -// a series of results, were the data-search-results pane is expected to have a direct UL child that will be populated -// with rendered results. -// -// The search has various stages, upon loading this stage the data-search-form receives the CSS class -// 'phpdocumentor-search--enabled'; this indicates that JS is allowed and indices are being loaded. It is recommended -// to hide the form by default and show it when it receives this class to achieve progressive enhancement for this -// feature. -// -// After loading this module, it is expected to load a search index asynchronously, for example: -// -// -// -// In this script the generated index should attach itself to the search module using the `appendIndex` function. By -// doing it like this the page will continue loading, unhindered by the loading of the search. -// -// After the page has fully loaded, and all these deferred indexes loaded, the initialization of the search module will -// be called and the form will receive the class 'phpdocumentor-search--active', indicating search is ready. At this -// point, the input field will also have it's 'disabled' attribute removed. -var Search = (function () { - var fuse; - var index = []; - var options = { - shouldSort: true, - threshold: 0.6, - location: 0, - distance: 100, - maxPatternLength: 32, - minMatchCharLength: 1, - keys: [ - "fqsen", - "name", - "summary", - "url" - ] - }; - - // Credit David Walsh (https://davidwalsh.name/javascript-debounce-function) - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - function debounce(func, wait, immediate) { - var timeout; - - return function executedFunction() { - var context = this; - var args = arguments; - - var later = function () { - timeout = null; - if (!immediate) func.apply(context, args); - }; - - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) func.apply(context, args); - }; - } - - function close() { - var form = document.querySelector('[data-search-form]'); - var searchResults = document.querySelector('[data-search-results]'); - - form.classList.toggle('phpdocumentor-search--has-results', false); - searchResults.classList.add('phpdocumentor-search-results--hidden'); - } - - function search(event) { - // prevent enter's from autosubmitting - event.stopPropagation(); - - var form = document.querySelector('[data-search-form]'); - var searchResults = document.querySelector('[data-search-results]'); - var searchResultEntries = document.querySelector('[data-search-results] > ul'); - - searchResultEntries.innerHTML = ''; - - if (!event.target.value) { - close(); - return; - } - - form.classList.toggle('phpdocumentor-search--has-results', true); - searchResults.classList.remove('phpdocumentor-search-results--hidden'); - var results = fuse.search(event.target.value); - - results.forEach(function (result) { - var entry = document.createElement("li"); - entry.classList.add("phpdocumentor-search-results__entry"); - entry.innerHTML += '

' + result.name + "

\n"; - entry.innerHTML += '' + result.fqsen + "\n"; - entry.innerHTML += '
' + result.summary + '
'; - searchResultEntries.appendChild(entry) - }); - } - - function appendIndex(added) { - index = index.concat(added); - - // re-initialize search engine when appending an index after initialisation - if (typeof fuse !== 'undefined') { - fuse = new Fuse(index, options); - } - } - - function init() { - fuse = new Fuse(index, options); - - var form = document.querySelector('[data-search-form]'); - var searchField = document.querySelector('[data-search-form] input[type="search"'); - - form.classList.add('phpdocumentor-search--active'); - - searchField.setAttribute('placeholder', 'Search'); - searchField.removeAttribute('disabled'); - searchField.addEventListener('keyup', debounce(search, 300)); - - window.addEventListener('keyup', function (event) { - if (event.code === 'Escape') { - close(); +var form = document.querySelector('.phpdocumentor-search'), + searchField = document.querySelector('.phpdocumentor-search input[type="search"'); + +// Init autoComplete. +var autoCompletejs = new autoComplete({ + data: { + src: searchIndex, + key: ['name'], + cache: true + }, + placeHolder: 'Search', + selector: '#autoComplete', + highlight: true, + threshold: 1, + searchEngine: 'strict', + maxResults: 100, + resultsList: { + render: true, + container: function(source) { + source.classList.add('phpdocumentor-search-results__entries'); + }, + destination: document.querySelector('.phpdocumentor-search-results'), + position: 'afterend', + element: 'ul' + }, + resultItem: { + content: function(data, source) { + source.classList.add('phpdocumentor-search-results__entry'); + var name = 'name' === data.key ? data.match : data.value.name, + fqsen = 'fqsen' === data.key ? data.match : data.value.fqsen; + + source.innerHTML += '
' + name + "\n"; + if (fqsen){ + source.innerHTML += '' + fqsen + "\n"; } - }); - } - - return { - appendIndex, - init + source.innerHTML += '' + data.value.summary + ''; + }, + element: 'li' + }, + noResults: function() { + var result = document.createElement('li'); + result.setAttribute('class', 'no-result'); + result.setAttribute('tabindex', '1'); + result.innerHTML = 'No results were found. Please try a different search term.'; + document.querySelector('#autoComplete_list').appendChild(result); } -})(); +}); -window.addEventListener('DOMContentLoaded', function () { - var form = document.querySelector('[data-search-form]'); +// Display search field. +form.classList.add('phpdocumentor-search--enabled'); +form.classList.add('phpdocumentor-search--active'); +searchField.setAttribute('placeholder', 'Search'); +searchField.removeAttribute('disabled'); - // When JS is supported; show search box. Must be before including the search for it to take effect immediately - form.classList.add('phpdocumentor-search--enabled'); -}); +// Close search results with ESC. +window.addEventListener('keyup', function(event) { + if (event.code === 'Escape') { + document + .querySelector('.phpdocumentor-search-results__entries') + .innerHTML = ''; -window.addEventListener('load', function () { - Search.init(); + searchField.value = ''; + } }); diff --git a/data/templates/woocommerce/searchIndex.js.twig b/data/templates/woocommerce/searchIndex.js.twig index 8d0e534fe9..0b25af2ec9 100644 --- a/data/templates/woocommerce/searchIndex.js.twig +++ b/data/templates/woocommerce/searchIndex.js.twig @@ -1,12 +1,8 @@ -Search.appendIndex( - [ - {% for element in project.indexes.elements %} - { - "fqsen": "{{ element.fullyQualifiedStructuralElementName|e('js') }}", - "name": "{{ element.name|e('js') }}", - "summary": "{{ element.summary|e('js') }}", - "url": "{{ link(element)|replace({'../': 'https://woocommerce.github.io/code-reference/'}) }}" - }{% if not loop.last %},{% endif %} - {% endfor %} - ] -); +var searchIndex = [ + {% for element in project.indexes.elements %}{ + fqsen: "{{ element.fullyQualifiedStructuralElementName|e('js') }}", + name: "{{ element.name|e('js') }}", + summary: "{{ element.summary|e('js') }}", + url: "{{ link(element)|replace({'../': 'https://woocommerce.github.io/code-reference/'}) }}" + }{% if not loop.last %},{% endif %}{% endfor %} +]; diff --git a/data/templates/woocommerce/sidebar.html.twig b/data/templates/woocommerce/sidebar.html.twig deleted file mode 100644 index 0fd835629b..0000000000 --- a/data/templates/woocommerce/sidebar.html.twig +++ /dev/null @@ -1,35 +0,0 @@ - diff --git a/data/templates/woocommerce/template.xml b/data/templates/woocommerce/template.xml index 7a46e24199..b7604378d9 100644 --- a/data/templates/woocommerce/template.xml +++ b/data/templates/woocommerce/template.xml @@ -2,11 +2,11 @@ diff --git a/data/templates/woocommerce/trait.html.twig b/data/templates/woocommerce/trait.html.twig index 713b97ed18..faa2c15483 100644 --- a/data/templates/woocommerce/trait.html.twig +++ b/data/templates/woocommerce/trait.html.twig @@ -1,101 +1,14 @@ {% extends 'base.html.twig' %} {% block content %} - {% include 'breadcrumbs.html.twig' %} + {% include 'components/breadcrumbs.html.twig' %} -

- {{ node.name }} - {% if node.usedTraits is not empty %} - - Uses - {% for trait in node.usedTraits %} - {{ trait|route('trait:short') }}{% if not loop.last %}, {% endif %} - {% endfor %} - - {% endif %} -

- +
+ {{ include('components/trait-title.html.twig') }} + {{ include('components/element-found-in.html.twig') }} + {{ include('components/element-header.html.twig') }} -

{{ node.summary }}

-
{{ node.description|markdown }}
- -

Table of Contents

- - {% for property in node.properties %} - - - - - - {% endfor %} - {% for property in node.magicProperties %} - - - - - - {% endfor %} - {% for property in node.inheritedProperties %} - - - - - - {% endfor %} - {% for method in node.methods %} - - - - - - {% endfor %} - {% for method in node.magicMethods %} - - - - - - {% endfor %} - {% for method in node.inheritedMethods %} - - - - - - {% endfor %} -
${{ property.name }}{{ property.summary }}{{ property.type|route('trait:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('trait:short')|join('|')|raw }}
${{ property.name }}{{ property.summary }}{{ property.type|route('trait:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('trait:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('trait:short')|join('|')|raw }}
{{ method.name }}(){{ method.summary }}{{ method.response.type|route('trait:short')|join('|')|raw }}
- - {% if node.properties|length > 0 or node.magicProperties|length > 0 or node.inheritedProperties|length > 0 %} -
-

Properties

- {% for property in node.properties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.magicProperties %} - {% include 'property.html.twig' %} - {% endfor %} - {% for property in node.inheritedProperties %} - {% include 'property.html.twig' %} - {% endfor %} -
- {% endif %} - - {% if node.methods|length > 0 or node.magicMethods|length > 0 or node.inheritedMethods|length > 0 %} -
-

Methods

- {% for method in node.methods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.magicMethods %} - {% include 'method.html.twig' %} - {% endfor %} - {% for method in node.inheritedMethods %} - {% include 'method.html.twig' %} - {% endfor %} -
- {% endif %} + {{ include('components/properties.html.twig') }} + {{ include('components/methods.html.twig') }} +
{% endblock %} diff --git a/deploy.sh b/deploy.sh index eeab14c5cc..0bfa4ea396 100755 --- a/deploy.sh +++ b/deploy.sh @@ -13,6 +13,8 @@ Options: -s, --source-version Source version to build and deploy. -r, --github-repo GitHub repo with username, default to \"woocommerce/woocommerce\". + -p, --default-package Default package name, + default to \"WooCommerce\". -e, --allow-empty Allow deployment of an empty directory. -m, --message Specify the message used when committing on the deploy branch. @@ -20,6 +22,7 @@ Options: deploy commit's message. --build-only Only build but not push. --push-only Only push but not build. + --no-download Skip download. " banner="\ @@ -65,6 +68,9 @@ parse_args() { elif [[ $1 = "-r" || $1 = "--github-repo" ]]; then github_repo=$2 shift 2 + elif [[ $1 = "-p" || $1 = "--default-package" ]]; then + default_package=$2 + shift 2 elif [[ $1 = "-e" || $1 = "--allow-empty" ]]; then allow_empty=true shift @@ -80,6 +86,9 @@ parse_args() { elif [[ $1 = "--push-only" ]]; then push_only=true shift + elif [[ $1 = "--no-download" ]]; then + run_download=false + shift else break fi @@ -99,6 +108,14 @@ parse_args() { github_repo="woocommerce/woocommerce" fi + if [[ -z $default_package ]]; then + default_package="WooCommerce" + fi + + if [[ -z $run_download ]]; then + run_download=true + fi + # Set internal option vars from the environment and arg flags. All internal # vars should be declared here, with sane defaults if applicable. @@ -121,8 +138,7 @@ parse_args() { download_source() { # Bootstrap rm -f ./${project_name}.zip - rm -rf ./build ./${project_name} - mkdir -p ./build + rm -rf ./${project_name} # Install dependencies if [ ! -f "vendor/bin/phpdoc" ]; then @@ -147,11 +163,17 @@ download_source() { } run_build() { - download_source + rm -rf ./build + mkdir -p ./build + + if $run_download; then + download_source + fi echo output 2 "Generating API docs..." echo - ./vendor/bin/phpdoc run --template="data/templates/${project_name}" --setting=graphs.enabled=true + ./vendor/bin/phpdoc run --template="data/templates/${project_name}" --sourcecode --defaultpackagename=${default_package} + php generate-hook-docs.php } main() { diff --git a/generate-hook-docs.php b/generate-hook-docs.php new file mode 100644 index 0000000000..b719e307e4 --- /dev/null +++ b/generate-hook-docs.php @@ -0,0 +1,349 @@ +' . basename($file['path']) . ''; + } + + /** + * Get files. + * + * @param string $pattern Search pattern. + * @param int $flags Glob flags. + * @param string $path Directory path. + * @return array + */ + protected static function getFiles($pattern, $flags = 0, $path = '') + { + if (! $path && ( $dir = dirname($pattern) ) != '.') { + if ('\\' == $dir || '/' == $dir) { + $dir = ''; + } + + return self::getFiles(basename($pattern), $flags, $dir . '/'); + } + + $paths = glob($path . '*', GLOB_ONLYDIR | GLOB_NOSORT); + $files = glob($path . $pattern, $flags); + + if (is_array($paths)) { + foreach ($paths as $p) { + $found_files = []; + $retrieved_files = (array) self::getFiles($pattern, $flags, $p . '/'); + foreach ($retrieved_files as $file) { + if (! in_array($file, self::$found_files)) { + $found_files[] = $file; + } + } + + self::$found_files = array_merge(self::$found_files, $found_files); + + if (is_array($files) && is_array($found_files)) { + $files = array_merge($files, $found_files); + } + } + } + return $files; + } + + /** + * Get hooks. + * + * @param array $files_to_scan Files to scan. + * @return array + */ + protected static function getHooks(array $files_to_scan): array + { + $scanned = []; + $results = []; + + foreach ($files_to_scan as $heading => $files) { + $hooks_found = []; + + foreach ($files as $f) { + $current_file = $f; + $tokens = token_get_all(file_get_contents($f)); + $token_type = false; + $current_class = ''; + $current_function = ''; + + if (in_array($current_file, $scanned)) { + continue; + } + + $scanned[] = $current_file; + + foreach ($tokens as $index => $token) { + if (is_array($token)) { + $trimmed_token_1 = trim($token[1]); + if (T_CLASS == $token[0]) { + $token_type = 'class'; + } elseif (T_FUNCTION == $token[0]) { + $token_type = 'function'; + } elseif ('do_action' === $token[1]) { + $token_type = 'action'; + } elseif ('apply_filters' === $token[1]) { + $token_type = 'filter'; + } elseif ($token_type && ! empty($trimmed_token_1)) { + switch ($token_type) { + case 'class': + $current_class = $token[1]; + break; + case 'function': + $current_function = $token[1]; + break; + case 'filter': + case 'action': + $hook = trim($token[1], "'"); + $hook = str_replace('_FUNCTION_', strtoupper($current_function), $hook); + $hook = str_replace('_CLASS_', strtoupper($current_class), $hook); + $hook = str_replace('$this', strtoupper($current_class), $hook); + $hook = str_replace(array( '.', '{', '}', '"', "'", ' ', ')', '(' ), '', $hook); + $hook = preg_replace('/\/\/phpcs:(.*)(\n)/', '', $hook); + $loop = 0; + + // Keep adding to hook until we find a comma or colon. + while (1) { + $loop++; + $prev_hook = is_string($tokens[ $index + $loop - 1 ]) ? $tokens[ $index + $loop - 1 ] : $tokens[ $index + $loop - 1 ][1]; + $next_hook = is_string($tokens[ $index + $loop ]) ? $tokens[ $index + $loop ] : $tokens[ $index + $loop ][1]; + + if (in_array($next_hook, array( '.', '{', '}', '"', "'", ' ', ')', '(' ))) { + continue; + } + + if (in_array($next_hook, array( ',', ';' ))) { + break; + } + + $hook_first = substr($next_hook, 0, 1); + $hook_last = substr($next_hook, -1, 1); + + if ('{' === $hook_first || '}' === $hook_last || '$' === $hook_first || ')' === $hook_last || '>' === substr($prev_hook, -1, 1)) { + $next_hook = strtoupper($next_hook); + } + + $next_hook = str_replace(array( '.', '{', '}', '"', "'", ' ', ')', '(' ), '', $next_hook); + + $hook .= $next_hook; + } + + $hook = trim($hook); + + if (isset($hooks_found[ $hook ])) { + $hooks_found[ $hook ]['files'][] = ['path' => $current_file, 'line' => $token[2]]; + } else { + $hooks_found[ $hook ] = [ + 'files' => [['path' => $current_file, 'line' => $token[2]]], + 'class' => $current_class, + 'function' => $current_function, + 'type' => $token_type, + ]; + } + break; + } + $token_type = false; + } + } + } + } + + foreach ($hooks_found as $hook => $details) { + if (!strstr($hook, 'woocommerce') && !strstr($hook, 'product') && !strstr($hook, 'wc_')) { + // unset( $hooks_found[ $hook ] ); + } + } + + ksort($hooks_found); + + if (!empty($hooks_found)) { + $results[ $heading ] = $hooks_found; + } + } + + return $results; + } + + /** + * Get delimited list output. + * + * @param array $hook_list List of hooks. + * @param array $files_to_scan List of files to scan. + * @param string + */ + protected static function getDelimitedListOutput(array $hook_list, array $files_to_scan): string + { + $output = ''; + + $index = []; + foreach ($files_to_scan as $heading => $files) { + $index[] = '' . $heading . ''; + } + + $output .= '

' . implode(', ', $index) . '

'; + + $output .= '
'; + foreach ($hook_list as $heading => $hooks) { + $output .= '

' . $heading . '

'; + $output .= '
'; + foreach ($hooks as $hook => $details) { + $output .= '
' . $hook . '
'; + $link_list = []; + foreach ($details['files'] as $file) { + $link_list[] = self::getFileLink($file); + } + $output .= '
' . implode(', ', $link_list) . '
'; + } + $output .= '
'; + } + + $output .= '
'; + + return $output; + } + + /** + * Get JS output. + * + * @param array $hook_list List of hooks. + * @param string + */ + protected static function getJSOutput(array $hook_list): string + { + $output = ''; + + foreach ($hook_list as $heading => $hooks) { + foreach ($hooks as $hook => $details) { + $type = 'filter' === $details['type'] ? 'Filter' : 'Action'; + $summary = $heading . ' ' . $type; + $name = '' . $type . ' hook: <\/strong>' . $hook; + + foreach ($details['files'] as $file) { + $summary .= ' located in ' . str_replace('woocommerce/', '', $file['path']) . ': ' . $file['line']; + + $output .= ',{'; + $output .= 'fqsen: "' . $name . '",'; + $output .= 'name: "' . $hook . '",'; + $output .= 'summary: "' . $summary . '",'; + $output .= 'url: "' . str_replace('../', 'https://woocommerce.github.io/code-reference/', self::getFileURL($file)) . '"'; + $output .= '}'; + } + } + } + + return $output; + } + + /** + * Apply changes to build/. + */ + public static function applyChanges() + { + $files_to_scan = self::getFilesToScan(); + $hook_list = self::getHooks($files_to_scan); + + if (empty($hook_list)) { + return; + } + + // Add hooks reference content. + if (file_exists(self::HOOKS_TEMPLATE_PATH)) { + $output = self::getDelimitedListOutput($hook_list, $files_to_scan); + $template = file_get_contents(self::HOOKS_TEMPLATE_PATH); + $template = str_replace('', $output, $template); + file_put_contents(self::HOOKS_TEMPLATE_PATH, $template); + } + + // Add hooks to search index. + if (file_exists(self::SEARCH_INDEX_PATH)) { + $output = self::getJSOutput($hook_list); + $template = file_get_contents(self::SEARCH_INDEX_PATH); + $template = str_replace('}];', '}' . $output . '];', $template); + file_put_contents(self::SEARCH_INDEX_PATH, $template); + } + + echo "Hook docs generated :)\n"; + } +} + +HookDocsGenerator::applyChanges(); diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 0000000000..22f14d060b --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,14 @@ + + + PHPCS configuration file. + . + + + + + 0 + + + 0 + + diff --git a/phpdoc.xml b/phpdoc.xml index 4044fb3e7c..866963a559 100644 --- a/phpdoc.xml +++ b/phpdoc.xml @@ -3,6 +3,7 @@ WooCommerce Code Reference woocommerce/ + woocommerce/src/Internal/ woocommerce/assets/ woocommerce/i18n/ woocommerce/includes/legacy/api/