Compare commits

...
This repository has been archived on 2020-05-08. You can view files and clone it, but cannot push or open issues or pull requests.

423 Commits

Author SHA1 Message Date
Ray Elliott 14390eb85e add custom javascript file 2020-05-08 18:35:43 +00:00
Ray Elliott f7ee22cf2e update rename script 2020-05-08 13:18:10 +00:00
Ray Elliott ce1d51f2a5 fix find command 2020-05-08 13:10:51 +00:00
Ray Elliott 26e7c3ec1f add rename script 2020-05-08 13:05:21 +00:00
Ray Elliott b9153665cc fixed header by default 2020-05-08 12:40:03 +00:00
Ray Elliott 63c989de7e light header by default 2020-05-08 12:37:11 +00:00
Ray Elliott 395f47fb4c center align .site-footer 2020-05-08 12:24:49 +00:00
Ray Elliott e8d43c0f79 do not include fonteawesome by default 2020-05-08 11:59:44 +00:00
Ray Elliott f7ae24aa05 change default fonts to montserrat, roboto 2020-05-08 11:59:13 +00:00
Ray Elliott ac2cea0d8a add browsersync locally 2020-05-08 11:11:39 +00:00
UnderstrapFramework d4c6dd4c43
Merge pull request #1163 from IanDelMar/patch-1
Add missing forward slash
2020-04-30 13:27:38 +01:00
IanDelMar 1d78ec2255
Fix missing forward slash
Forward slash was missing do to changes in gulpfile.json (see #1161).

Fixes #1162
2020-04-30 14:16:26 +02:00
UnderstrapFramework 40bf881aa9
Merge pull request #1155 from IanDelMar/custom-comments
Update comments
2020-04-29 19:22:46 +01:00
IanDelMar 092e4cb156
Fix string literal in number_format_i18n() 2020-04-29 19:26:14 +02:00
UnderstrapFramework cb9587fb2b
Merge pull request #1147 from IanDelMar/patch-5
Add script and style to theme support for html5
2020-04-28 14:30:08 +01:00
UnderstrapFramework fa4d143d8f
Merge pull request #1161 from IanDelMar/gulp-dist
Update gulp dist & gulp dist-product
2020-04-28 14:16:50 +01:00
IanDelMar e7dcb5bbb7 Fix description
Taks copy-assets is called on postinstall (see package.json).
2020-04-28 15:11:25 +02:00
IanDelMar 27572a2117 Update task dist-prod 2020-04-28 15:07:49 +02:00
IanDelMar 7ea00a95c9 Remove Bower
Bower has been dropped a while ago
2020-04-28 15:03:27 +02:00
IanDelMar 1d5013961e Update task dist
Fixes #1066
2020-04-28 14:58:29 +02:00
UnderstrapFramework 7e61a803f1
Merge pull request #1149 from IanDelMar/deps
Update dependencies
2020-04-28 13:41:15 +01:00
IanDelMar 0860210d27
Merge branch 'master' into deps 2020-04-28 14:33:38 +02:00
IanDelMar a230482355 Bump gulp-sass and node-sass
* Bumps gulp-sass from 4.0.2 to 4.1.0.
* Bumps node-sass from 4.13.1 to 4.14.0.
2020-04-28 14:31:35 +02:00
IanDelMar 7a783d1cd6
Fix indentation 2020-04-28 14:04:59 +02:00
IanDelMar 76ee06b67a
Merge branch 'master' into patch-5 2020-04-28 14:03:01 +02:00
UnderstrapFramework 0b7c43420f
Merge pull request #1156 from IanDelMar/wpcs
Fix WPCS errors and warnings + escaping
2020-04-28 09:43:51 +01:00
UnderstrapFramework 246f123b57
Merge pull request #1160 from IanDelMar/patch-1
Update CONTRIBUTING.md
2020-04-28 09:43:30 +01:00
IanDelMar ba6f43b6f9
Update CONTRIBUTING.md
Closes #1125
2020-04-28 05:04:29 +02:00
IanDelMar ffdf78867e Remove content-none from <ul>
See #1016
2020-04-22 08:07:50 +02:00
IanDelMar c4eeba9d3a Update translator comment 2020-04-22 07:56:54 +02:00
IanDelMar 860d8c123a Fix WPCS errors and warnings + escaping
Fixes many WPCS errors and warnings

Also:
* Partly removes excessive php opening/closing tags.
* Uses printf for better readability in loop-templates/content-none.php.
* Adds understrap_kses_title() to escape post titles.
* Adds understrap_escape_the_archive_description() to escape the archive description.
* Fixes missing '__' after esc_html in author.php.
* Updates the phpcs.xml to reflect all the changes.
* Updates composer dependencies and scripts.
2020-04-19 12:08:39 +02:00
IanDelMar ce387ff7bd Fix DocBlock 2020-04-19 00:34:08 +02:00
IanDelMar 59ed94cb34 Comments are closed to inc/custom-comments.php
Uses the comment_form_comments_closed hook to display the comments close note.
2020-04-19 00:24:25 +02:00
IanDelMar e4cf59e251 Use str_replace to add Bootstrap classes
Advantages:
- Uses WP's default field HTML which has changed and differs from the version in this file.
- Uses WP's default translations. No need to have the strings in the theme language files anymore.
2020-04-18 20:55:25 +02:00
IanDelMar ae52ff3702 Update composer dependencies and scripts 2020-04-18 10:22:43 +02:00
IanDelMar 884615d845 Remove gulp-rimraf and gulp-ignore
* Removes the deprecated 'gulp-rimraf'
* Replaces 'gulp-rimraf' by 'del' in task 'cleancss'
* Removes 'gulp-ignore' which was only used in task 'cleancss'
2020-04-14 09:53:33 +02:00
UnderstrapFramework 064e1d4534
Merge pull request #1137 from IanDelMar/patch-4
Fix DocBlocks
2020-04-14 08:21:53 +01:00
IanDelMar 09a1985c25 Update composer dependencies
* Updates composer.json
* Bumps dealerdirect/phpcodesniffer-composer-installer from version 0.5.0 to v0.6.2
2020-04-14 09:18:15 +02:00
IanDelMar b5f4ca61d8 Update URLs 2020-04-14 08:36:09 +02:00
IanDelMar 7ba9dca959 Remove task 'cssnano'
The task is a relic. gulp-cssnano has been removed in commit 1208774.
2020-04-14 08:23:01 +02:00
IanDelMar 9d1bee8c94 Update composer dependencies 2020-04-13 20:19:57 +02:00
IanDelMar a5251a8d9b Remove gulp-watch
gulp-watch was added in 207879eb1b but never used. UnderStrap uses gulp's watch method.
2020-04-13 18:10:55 +02:00
IanDelMar bb81469491 Move all dependencies to devDependencies
UnderStrap has no runtime node dependencies, so all dependencies are devDependencies.
2020-04-13 17:36:36 +02:00
IanDelMar 33ae79e627 Remove gulp-autoprefixer
gulp-autoprefixer was replaced by autoprefixer in #965
2020-04-13 17:17:46 +02:00
IanDelMar d88dca56dc Update dependencies
Bumps
2020-04-13 17:05:53 +02:00
UnderstrapFramework a74cd40cf4
Merge pull request #1135 from understrap/dependabot/npm_and_yarn/acorn-5.7.4
Bump acorn from 5.7.3 to 5.7.4
2020-04-13 13:31:18 +01:00
IanDelMar e84fca387a
Add script and style to theme support for html5
In HTML5, the type attribute is not required for the <script> and <style> tags. Including the attribute on these tags (type="text/javascript", for example) will trigger a validation warning in HTML validation tools.

From WordPress 5.3, two new arguments are supported for the html5 theme feature, script and style. When these arguments are passed, the type attribute will not be output for those tags.

See https://make.wordpress.org/core/2019/10/15/miscellaneous-developer-focused-changes-in-5-3/
2020-04-13 12:09:59 +02:00
IanDelMar 7630599003
Fix DocBlocks 2020-03-19 17:12:32 +01:00
dependabot[bot] 771a3b0b40
Bump acorn from 5.7.3 to 5.7.4
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-15 20:11:07 +00:00
UnderstrapFramework e8c4eb1eca
Merge pull request #1127 from gillespieza/aligncenter_fix
Aligncenter fix
2020-03-15 09:25:27 +00:00
UnderstrapFramework 1a441a26ef
Merge pull request #1134 from understrap/revert-1128-typography_fixes
Revert "Typography fixes: blockquotes"
2020-03-15 09:25:11 +00:00
UnderstrapFramework 34e1bde984
Revert "Typography fixes: blockquotes" 2020-03-15 09:22:16 +00:00
UnderstrapFramework 45cc45e22e
Merge pull request #1128 from gillespieza/typography_fixes
Typography fixes: blockquotes
2020-03-15 09:21:02 +00:00
UnderstrapFramework 1f7327c7e4
Merge pull request #1101 from IanDelMar/patch-1
Move action hook outside if
2020-03-15 09:16:27 +00:00
Amanda Dominy 6be4239fc1 Extend .blockquote
The default class added to blockquotes when using WordPress Blocks (Gutenberg) is .wp-block-quote. Users may not know to add .blockquote to that, so extending the WordPress class to match the Bootstrap 4 class.
2020-02-29 12:52:07 +00:00
Amanda Dominy 53c7d59767 Fix aligncenter images
Images with .aligncenter still aren't centered with only the style .mx-auto because they need to be set to display:block as well.
2020-02-29 12:46:41 +00:00
UnderstrapFramework 41115509cd
Merge pull request #1109 from IanDelMar/node-dependencies
Update dependencies
2020-02-17 19:05:32 +00:00
IanDelMar 01ca1652e9
Merge branch 'master' into node-dependencies 2020-02-17 19:48:06 +01:00
UnderstrapFramework 11760a7c55
Merge pull request #1104 from IanDelMar/bootstrap441
Update to Bootstrap 4.4.1
2020-02-17 08:40:32 +00:00
UnderstrapFramework 3552ae52b3
Merge pull request #1105 from IanDelMar/ds-store
Delete .DS_Store
2020-02-17 08:16:08 +00:00
IanDelMar c6a4ee3a58 Remove gulp-sequence
gulp-sequence is no longer in use.
2020-01-03 22:59:01 +01:00
IanDelMar 3bda450372 Update dependencies
1. Removes gulp-sequence and run-sequence (no longer in use).
2. Updates dependencies in package-lock.json.
3. Fixes #1075, #1076, #1108 by updating node-sass to 4.13.0 in 2.
2020-01-03 22:57:17 +01:00
IanDelMar cde4e1bc98 Delete .DS_Store 2019-12-25 19:34:13 +01:00
IanDelMar 6227adc581 Update to Bootstrap 4.4.1 2019-12-25 01:12:02 +01:00
IanDelMar b786f04859
Move action hook outside if 2019-12-19 23:05:22 +01:00
UnderstrapFramework cbcb0dda56
Merge pull request #1090 from IanDelMar/patch-2
Update to Bootstrap 4.4.1
2019-12-17 10:42:15 +00:00
UnderstrapFramework 75d429aeab
Merge pull request #1099 from pattonwebz/remove-unnecesarry-tracking-and-obtrusive-adverts
Remove unnecessary tracking and advertising
2019-12-17 10:41:47 +00:00
UnderstrapFramework 85d0a38b36
Delete wp-admin.php 2019-12-17 10:41:28 +00:00
UnderstrapFramework 9791ed4422
Update functions.php 2019-12-17 10:41:11 +00:00
UnderstrapFramework 1ab5187ff7
Update wp-admin.php 2019-12-17 10:11:42 +00:00
William Patton 88875aae79 Remove unneccesarry tracking and advertising 2019-12-17 09:54:37 +00:00
UnderstrapFramework 4f3918c725
Merge pull request #1087 from IanDelMar/patch-1
Fix travis config file
2019-12-17 09:37:23 +00:00
IanDelMar 3a4257c8b0
Update to Bootstrap 4.4.1
Version 4.4.0 was released on 26th Nov - See https://blog.getbootstrap.com/2019/11/26/bootstrap-4-4-0/
Version 4.4.1 was released on 28th Nov - See https://blog.getbootstrap.com/2019/11/28/bootstrap-4-4-1/
2019-12-17 08:31:30 +01:00
IanDelMar 03c06cc124
Speed up build time
Speed up build time by disabling Xdebug.
2019-12-17 00:08:41 +01:00
IanDelMar f3f657df99
Fixes travis config file
Fixes the mess due to #995 and #1005.

Fixes:
* Remove --standard - codesniffer.ruleset.xml was renamed to phpcs.xml which gets picked automatically by PHPCS.
* Install PHP Compatibility sniffs.
* Add PHP Compatibility to install path for PHPCS sniffs.
2019-12-17 00:07:10 +01:00
IanDelMar 594231d02d
Update phpcs directory
Directory changed due to version update in #1040
2019-12-16 11:37:21 +01:00
UnderstrapFramework bc6358683b
Merge pull request #1085 from IanDelMar/post-navigation-non-archive
Add support for pagination on non-archive pages
2019-12-16 08:10:44 +00:00
UnderstrapFramework eec39cac78
Merge pull request #1084 from IanDelMar/patch-2
Update .travis.yml
2019-12-16 08:10:26 +00:00
UnderstrapFramework e2f3304bf8
Merge pull request #1083 from IanDelMar/posts-navigation
Improve accessibility for pagination
2019-12-16 08:09:58 +00:00
UnderstrapFramework 782fe4a1de
Merge pull request #1080 from noelspringer/woocommerce-3.7.0
Update Woocommerce templates for 3.7.0
2019-12-16 08:09:32 +00:00
UnderstrapFramework ce8c74e219
Merge pull request #1086 from IanDelMar/readme
Update README.md
2019-12-14 12:29:56 +00:00
IanDelMar c57a00a496 Add badges 2019-12-14 12:51:28 +01:00
IanDelMar 7d012cfca5 GDPR compliance
No privacy policy - no Google analytics
2019-12-14 12:16:05 +01:00
IanDelMar c20055d0ad Update child theme url 2019-12-14 12:10:15 +01:00
IanDelMar 0e1977ac64 Revert Travis URL
Mistakenly (?) introduced in #1040
2019-12-14 12:06:54 +01:00
IanDelMar ecda11ac10 Add support for non-archive pages
By relaxing the exit condition understrap_pagination() may be used in custom loops. See #1054 for an how to example.
2019-12-14 12:00:39 +01:00
IanDelMar ff8412c0d6
Update .travis.yml
Updates:
* UnderStrap GitHub URL
* PHP version
* PHPCS directory (wrong directory due to version update in #1040)
* other minor updates
2019-12-14 11:24:04 +01:00
IanDelMar e4cc30f990 Add DocBlock
plus switch keys order
of the defaults array to keep the arguments for paginate_links() together.
2019-12-14 09:19:36 +01:00
IanDelMar ae43f9b620 Use aria-labelledby
Use aria-labelledby + heading instead of aria-label. (For a discussion see #1063.)
2019-12-14 08:29:21 +01:00
IanDelMar bf792512ce Fix space usage
See https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#space-usage
2019-12-14 08:26:31 +01:00
Noel Springer 954dd9d3bc Update Woocommerce templates for 3.7.0
* Update woocommerce mini-cart template (3.6.1 => 3.7.0)
* Update woocommerce myaccount/orders template (3.6.1 => 3.7.0)
2019-12-13 23:23:37 +10:00
UnderstrapFramework 2f752095a6
Merge pull request #1009 from ylkyrg/yoda-conditions
Yoda conditions
2019-12-13 11:57:53 +00:00
UnderstrapFramework 9af15d7b11
Update wp-admin.php 2019-12-13 11:57:02 +00:00
UnderstrapFramework 1ac8eb24bc
Merge pull request #777 from IanDelMar/patch-2
Strapify select for WP default widgets
2019-12-13 11:35:27 +00:00
UnderstrapFramework b7e3d19ab5
Merge pull request #1015 from IanDelMar/editor
Add DocBlocks
2019-12-13 11:34:06 +00:00
UnderstrapFramework c15a0de31d
Merge pull request #1010 from ylkyrg/capital-s
Capital S
2019-12-13 11:33:28 +00:00
UnderstrapFramework e926ed9021
Merge pull request #1012 from IanDelMar/patch-6
Use bootstrap class
2019-12-13 11:28:27 +00:00
UnderstrapFramework 8e2e3c035c
Merge pull request #1014 from IanDelMar/patch-5
Use https
2019-12-13 11:28:08 +00:00
UnderstrapFramework dfb5311d9d
Merge pull request #1020 from ylkyrg/fix-includes
Use get_template_directory()
2019-12-13 11:27:55 +00:00
UnderstrapFramework 124b606a31
Merge pull request #1030 from lu4sh1i/patch-1
Update template-tags.php
2019-12-13 11:27:08 +00:00
UnderstrapFramework 3f7fd8ff36
Merge pull request #1040 from lilumi/lm-improve
add "custom-editor-style" and other scss files at this level to minify and watch for changes, also update modification date for generated files
2019-12-13 11:26:51 +00:00
UnderstrapFramework cf100502d7
Merge pull request #1043 from IanDelMar/patch-7
Fix typo
2019-12-13 11:16:42 +00:00
UnderstrapFramework 10688f7dc3
Merge pull request #1045 from cedricbdev/patch-1
Duplicate items
2019-12-13 11:16:30 +00:00
UnderstrapFramework 5c7e5e59ae
Merge pull request #1049 from understrap/dependabot/npm_and_yarn/mixin-deep-1.3.2
Bump mixin-deep from 1.3.1 to 1.3.2
2019-12-13 11:16:11 +00:00
UnderstrapFramework ca61bd1e22
Merge pull request #1050 from understrap/dependabot/npm_and_yarn/lodash-4.17.15
Bump lodash from 4.17.11 to 4.17.15
2019-12-13 11:15:56 +00:00
UnderstrapFramework 2a2e78df26
Merge pull request #1051 from understrap/dependabot/npm_and_yarn/lodash.mergewith-4.6.2
Bump lodash.mergewith from 4.6.1 to 4.6.2
2019-12-13 11:15:45 +00:00
UnderstrapFramework d32cc2d3c6
Merge pull request #1052 from understrap/dependabot/npm_and_yarn/fstream-1.0.12
Bump fstream from 1.0.11 to 1.0.12
2019-12-13 11:15:35 +00:00
UnderstrapFramework 28b8e76175
Merge pull request #1055 from noelspringer/woocommerce-3.8.0
Update Woocommerce cart template for WC 3.8.0
2019-12-13 11:15:03 +00:00
UnderstrapFramework 00cf4043d3
Merge pull request #1057 from IanDelMar/theme-settings
Add filter hooks
2019-12-13 11:14:15 +00:00
UnderstrapFramework 311d330c72
Merge pull request #1058 from IanDelMar/patch-8
Fix static hero CSS class
2019-12-13 11:13:44 +00:00
UnderstrapFramework 87360068c1
Merge pull request #1060 from IanDelMar/aria-current
Add aria-current
2019-12-13 11:12:51 +00:00
UnderstrapFramework cd6b58df53
Merge pull request #1061 from IanDelMar/strict-comparison
Use strict comparison
2019-12-13 11:12:11 +00:00
UnderstrapFramework 7f9412557d
Merge pull request #1063 from IanDelMar/header-aria-label
Add aria-label to <nav>
2019-12-13 11:11:48 +00:00
UnderstrapFramework 063e91e2b5
Merge pull request #1064 from IanDelMar/header-strict-comparision
Use strict comparison
2019-12-13 11:05:15 +00:00
UnderstrapFramework d7a7be8a3b
Merge pull request #1072 from IanDelMar/body-attributes
Body attributes
2019-12-13 11:04:04 +00:00
UnderstrapFramework f4e3ebec5d
Merge pull request #1079 from eversionsystems/patch-1
Modify understrap_pagination ul class
2019-12-13 11:01:13 +00:00
Andrew Schultz 522bb8fdf2
Add ability to modify ul classes
The second parameter to the function was not being utilized.  I have made it output any classes passed to the class tag of the list.
2019-12-13 17:28:06 +07:00
IanDelMar e980abf7ca
Merge branch 'master' into header-aria-label 2019-12-13 08:30:59 +01:00
IanDelMar a5c9784349
Add aria-labelledby 2019-12-13 08:26:10 +01:00
UnderstrapFramework 36aa3366b2
Update README.md 2019-12-06 10:50:24 +00:00
UnderstrapFramework fe9d3fbc37
Merge pull request #1062 from IanDelMar/header-blank-line
Remove blank line
2019-12-04 22:26:58 +00:00
UnderstrapFramework a2311c8f67
Merge pull request #1069 from IanDelMar/file-headers-period
No period for summary in file headers
2019-12-04 22:26:35 +00:00
UnderstrapFramework d506a57269
Merge pull request #1073 from IanDelMar/patch-9
Add id to nav
2019-12-04 22:25:18 +00:00
IanDelMar c636a000ec
Add id to nav 2019-12-03 09:38:02 +01:00
IanDelMar 5877e21228 Use heading instead of aria-label
See #1063 for a discussion
2019-12-03 08:50:22 +01:00
IanDelMar 7a63872671 Move schema markup to body element
Removes schema markup from the div#wrapper-navbar element.
Re-adds the schema markup on the body element via filter.
2019-12-03 08:19:45 +01:00
IanDelMar a2bbdb0eb7 Add understrap_body_attributes()
Function to display attributes for the body element. Attributes may be added via the filter `understrap_body_attributes`
2019-12-03 08:15:46 +01:00
IanDelMar 628601415b No period for summary in file headers
According to WP's PHP documentation standards on file headers. See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#6-file-headers.
2019-11-14 18:16:31 +01:00
IanDelMar b64ba79f79 Use strict comparison 2019-11-12 08:56:12 +01:00
IanDelMar 27824b3c9c Add aria-label to <nav> 2019-11-12 08:51:05 +01:00
IanDelMar c159b33564 Remove blank line 2019-11-12 08:47:45 +01:00
IanDelMar a4f7316e08
Use strict comparison 2019-11-09 12:12:25 +01:00
IanDelMar c985f696ac
Add aria-current
See https://core.trac.wordpress.org/changeset/42808
2019-11-09 11:20:38 +01:00
IanDelMar 0efdd8c821
Fix static hero CSS class
Wrong CSS class mistakenly introduced in PR #802
2019-11-07 22:47:45 +01:00
IanDelMar 10c2597b64
Make priority filterable 2019-11-07 22:11:14 +01:00
IanDelMar 95415cd098
Fix identation 2019-11-07 22:05:37 +01:00
IanDelMar 527118bd2f
Add filter to theme default settings 2019-11-07 11:16:16 +01:00
Noel Springer 59ec5c4a43 Update Woocommerce cart template for WC 3.8.0
* cart.php (3.7.0=>3.8.0)
2019-11-06 18:25:28 +10:00
IanDelMar aaf2da70f0
Add missing parameter type 2019-11-03 10:45:09 +01:00
dependabot[bot] 35b33ef0d5
Bump fstream from 1.0.11 to 1.0.12
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-30 10:19:13 +00:00
dependabot[bot] fb159dc538
Bump lodash.mergewith from 4.6.1 to 4.6.2
Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-30 10:19:08 +00:00
dependabot[bot] aee07bb0ed
Bump lodash from 4.17.11 to 4.17.15
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.15)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-30 10:19:07 +00:00
dependabot[bot] ba49b68f62
Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-30 10:18:54 +00:00
UnderstrapFramework 91cba1ccac
NavWalker link to more info 2019-10-30 10:16:58 +00:00
UnderstrapFramework 90bbcfe29e
Added wp-admin functions 2019-10-29 16:20:33 +00:00
UnderstrapFramework ccd1075c89
Create wp-admin.php 2019-10-29 16:18:14 +00:00
Cedric 41d7a44fcf
Update .jscsrc
Array has duplicate items: "js/**.min.js"
2019-10-16 09:46:20 +02:00
IanDelMar 4ba652edfe
Fix typo 2019-10-06 09:59:56 +02:00
lilumi 7a02eed85c fix travis config 2019-09-30 00:08:49 +03:00
lilumi a31199a7a1 make correct modification date for generated css files 2019-09-29 13:16:42 +03:00
Lilumi Odi 16144fd330 add "custom-editor-style" to minify process 2019-09-28 16:30:03 +03:00
Lilumi Odi ac0713dfca Add "custom-editor-style.scss" and any other sass file to watch and compile process.
Add all js files to the 'scripts' gulp task.
2019-09-28 16:27:30 +03:00
Pavlic 681898a422
Update template-tags.php
Removes unnecessary space inside the author <a> tag and adds it just before opening it
2019-08-28 03:11:43 +03:00
Gary Kealy c8c8caee62 Use get_template_directory() 2019-07-30 21:31:01 +01:00
IanDelMar 669b75104b Add DocBlocks
* Add DocBlocks for functions
* Rename argument for `understrap_tiny_mce_style_formats`
* Use wp_json_encode instead of json_encode
2019-07-23 10:31:23 +02:00
IanDelMar 660ccc6f8c
Use https 2019-07-23 06:06:19 +02:00
IanDelMar 7ad430f3e9
Use bootstrap class
Use `.sr-only` for `.screen-reader-text`
2019-07-22 04:52:40 +02:00
IanDelMar 7808d0c4fd
Use bootstrap class 2019-07-22 04:47:29 +02:00
Gary Kealy 2dac14e6c1 Capital S 2019-07-18 17:21:25 +01:00
Gary Kealy bc3c4cb375 Yoda conditions 2019-07-18 16:48:04 +01:00
Holger c2a06502b7
Merge pull request #1005 from ylkyrg/code-standards
Update ruleset
2019-07-16 09:12:53 +02:00
Gary Kealy afca2ffb56 Remove closing php tags at end of files 2019-07-04 15:58:08 +01:00
Gary Kealy 327e0ddb59 Fix some minor phpcs errors 2019-07-04 15:53:03 +01:00
Gary Kealy 5abb1baa8e Update phpcs ruleset 2019-07-04 15:51:13 +01:00
Holger Koenemann 13f8c8d486 recompile before update to 0.9.4 2019-06-30 09:13:53 +02:00
Holger Koenemann df8208b1b0 preparing 0.9.4 update 2019-06-30 09:11:58 +02:00
Holger a1e9bfb7cd
Merge pull request #990 from ylkyrg/cosmetics
Use shorter ABSPATH check
2019-06-29 11:58:56 +02:00
Holger 19b083d0c5
Merge pull request #995 from ylkyrg/codesniffer
Add phpcs
2019-06-29 11:57:23 +02:00
Holger a0a00cba6b
Merge pull request #998 from IanDelMar/patch-4
Update theme.scss
2019-06-29 11:56:51 +02:00
IanDelMar 362a472e7b
Update theme.scss
Remove Bootstrap3 stuff
2019-06-28 21:06:37 +02:00
Gary Kealy 0c9cfc3a8c Add phpcs 2019-06-26 17:33:58 +01:00
Gary Kealy 600eb39883 Use shorter ABSPATH check 2019-06-20 09:57:12 +01:00
Thomas A. Reinert 30103651df
Merge pull request #988 from jweston491/add-babel
Fix for #987. Thanks for submitting the issue, testing it and helping out with a pull request to @jweston491
2019-06-11 23:51:31 +02:00
Jake Weston 40029f5072 Fix for #987 2019-06-11 11:34:40 -07:00
Thomas A. Reinert cd49f5adfc
Deleted due to #956 2019-06-09 01:11:44 +02:00
Thomas A. Reinert 369a06d182
Merge pull request #977 from IanDelMar/patch-7
Fix for #976
2019-06-07 01:06:49 +02:00
Thomas A. Reinert ab9c9a3c78 Fixes #973 2019-06-04 12:55:00 +02:00
IanDelMar 2334f6a9c4
Fix for #976
Declare `wc_reviews_enabled()` and `wc_reviews_enabled()` on frontend only.
2019-05-18 10:36:25 +02:00
Holger Koenemann 577eea7f47 preparing hotfix release 2019-05-11 20:33:57 +02:00
Holger 4becdb504c
Merge pull request #969 from chrisjimallen/master
Fix theme support for WooCommerce
2019-05-09 06:15:02 +02:00
Chris Allen 447674355c
Fix theme support for WooCommerce
Looks like the add_theme_support() call should be 'woocommerce' and not 'understrap'.
2019-05-08 20:56:21 +01:00
Holger Koenemann ef84a7cac6 Version bump to 0.9.2 2019-05-08 20:09:57 +02:00
Holger Koenemann 5f9b8b22a7 Clean rebuild
Version bump preparations
2019-05-08 20:05:58 +02:00
Holger Koenemann 01af1b4da5 Re-add customizer.js
according to: https://github.com/understrap/understrap/issues/966
2019-05-08 20:04:08 +02:00
Holger 2d80cf410b
Merge pull request #963 from IanDelMar/patch-6
WooCommerce backward compatibility. Fix for #961 - Thx @IanDelMar !
2019-05-08 14:31:01 +02:00
Holger a09fcbecf3
Merge pull request #965 from kelsS/master
Removed bower.json and updated fullwidthpage.php - Thx @kelsS !
2019-05-08 14:30:01 +02:00
Holger 1e90d3c65f
Merge pull request #967 from IanDelMar/wp_body_open
Add support for wp_body_open - thx @IanDelMar !
2019-05-08 14:17:09 +02:00
IanDelMar 6076c91553
Improve code simplicity
It is sufficient to call the `do_action( 'wp_body_open' )` directly instead of the wrapper. See https://make.wordpress.org/themes/2019/03/29/addition-of-new-wp_body_open-hook/#comment-43714
2019-05-03 08:33:40 +02:00
IanDelMar 0e76b4008d
Add support for wp_body_open
5.2 will introduce a new `wp_body_open()` function that is used to trigger a `wp_body_open` action. This action is intended to allow developers to inject code immediately following the opening `<body>` tag. Themes are encouraged to begin using this hook as soon as 5.2 is released.

See https://make.wordpress.org/core/2019/04/24/miscellaneous-developer-updates-in-5-2/
2019-05-01 19:03:52 +02:00
kelsS b179eaffe4 add babel core, gulp-babel, autoprefixer, and gulp-postcss to gulp process, add gulp babel so that ES6 can be used, convert gulp-autoprefixer to autoprefixer in conjunction with gulp-postcss, add .browserlistsrc based on suggestions from autoprefixer/postcss/browserlists docs. 2019-05-01 11:44:03 -04:00
kelsS 0ea47933a1 add babel, gulp-babel, autoprefixer, and gulp-postcss as dev dependencies 2019-05-01 11:41:53 -04:00
kelsS 2f5e0182e2 add php to allow the hero widgets to show on the fullwidth page template when the page using this template is set to the front page 2019-04-30 14:04:30 -04:00
kelsS 7475ec18da removed bower.json since bower is no longer used 2019-04-30 14:03:51 -04:00
IanDelMar 8b841fb3e2
WooCommerce backward compatibility. Fix for #961
`wc_review_ratings_enable` was added in WC 3.6.0. Calling it in WC 3.5.x throws a fatal error. See #961
2019-04-29 23:42:07 +02:00
Holger Koenemann bbae68f083 Fixing watch-bs task
We need to run both tasks (browser-sync and watch) parallel here instead of in a series.
2019-04-28 15:55:40 +02:00
Holger 8af84c1e76
Merge pull request #955 from chrismb75/woocommerce-3.6.1-updates
Woocommerce 3.6.1 updates - thx @noelspringer ... seems I was confused, to ;-)
2019-04-28 15:28:27 +02:00
Holger c293c82d7d
Merge branch 'master' into woocommerce-3.6.1-updates 2019-04-28 15:27:12 +02:00
Holger Koenemann cac4962ddb Update Woocommerce version info 2019-04-22 18:38:43 +02:00
Chris Bibby b8766a701f Merge branch 'woocommerce-3.6.1-updates' of https://github.com/chrismb75/understrap into woocommerce-3.6.1-updates 2019-04-20 09:45:16 +08:00
Chris Bibby 1fe315cfa2 Woocommerce 3.6.1 updates 2019-04-20 09:45:02 +08:00
Chris Bibby c500160d12 woocommerce 3.6.1 template changes 2019-04-19 14:48:22 +08:00
Chris Bibby a28c44d0ec woocommerce 3.6.1 template changes 2019-04-19 14:01:43 +08:00
Chris Bibby 7d8e00f36e woocommerce 3.6.1 template changes 2019-04-19 13:45:55 +08:00
Chris Bibby cb67c41f1e woocommerce 3.6.1 template changes 2019-04-19 13:42:06 +08:00
Chris Bibby d60c6d4428 Woocommerce 3.6.1 template changes 2019-04-19 13:36:13 +08:00
Chris Bibby 1ab2f98382 Woocommerce 3.6.1 template changes 2019-04-19 13:15:17 +08:00
Chris Bibby 89f250974d initial 2019-04-19 12:52:34 +08:00
Holger Koenemann a4f20ac9bd Update BS version #no
To avoid confusions I updated the Bootstrap version number to 4.3.1 The scss files already uses this version.
2019-04-17 07:33:36 +02:00
Holger Koenemann 705bd724d9 Update enqueue.php 2019-04-14 07:01:02 +02:00
Holger Koenemann 9f848d858f Fixing https://github.com/understrap/understrap/issues/946 2019-04-14 06:54:10 +02:00
Holger Koenemann 401bcc9c6f Update gulpfile.js
adding callback to copy-assets task to make it run with Gulp4
2019-04-14 06:39:29 +02:00
Holger 317c136a60
Merge pull request #953 from KenEucker/master
Dependencies updates. Migrated to gulp4. Added compilation task.
2019-04-14 06:34:16 +02:00
Ken Eucker fc0893993e Dependencies updates. Migrated to gulp4. Added compilation task. 2019-04-11 09:52:57 -07:00
KoenemannH fa0bef5e72 Fixing problem with tiny col on mobile 2019-03-20 16:20:23 +01:00
Holger 74b0d072d3
Merge pull request #935 from understrap/MarieComet-responsive-embed-support
Add responsive embed support - thx @MarieComet
2019-03-11 09:59:04 +01:00
Marie Comet f663655b7a
Add responsive embed support
Related to https://github.com/understrap/understrap/issues/931
2019-03-08 19:38:29 +01:00
Holger 17eb1c5b18
Merge pull request #922 from noelspringer/woocommerce-template-update
Update form-reset-password template for Woocommerce 3.5.5 - thx @noelspringer
2019-02-27 09:48:45 +01:00
Holger 98b2107d33
Merge pull request #921 from schnoggo/master
Make extras functions pluggable - thx @schnoggo
2019-02-27 09:48:13 +01:00
Noel Springer 85ef63cec4 Update form-reset-password template for Woocommerce 3.5.5 2019-02-23 00:04:46 +10:00
Lon Koenig 6fcf1e9720 Make understrap_mobile_web_app_meta() and understrap_pingback() pluggable. 2019-02-19 10:22:29 -06:00
KoenemannH e6c9552f8b Rebuild header 2019-02-16 10:48:27 +01:00
KoenemannH f57fad69a5 Preparing update to 0.9.1 2019-02-15 09:29:34 +01:00
KoenemannH 854098f7a7 Update to Bootstrap 4.3.1 2019-02-15 09:27:15 +01:00
KoenemannH c33e8f6bae Preparing update to 0.9.0 2019-02-12 16:49:33 +01:00
KoenemannH d3ca94654d Update to Bootstrap 4.3.0 2019-02-12 16:39:19 +01:00
Holger a914febe0e
Merge pull request #906 from Fatshape/master
Slovene translation - thx @Fatshape  !
2019-02-12 09:18:16 +01:00
Holger 56bf3cb503
Merge pull request #910 from jfig/master
updates Pt_Pt translation - thx @jfig
2019-02-12 09:17:50 +01:00
Holger f2021f6ccc
Merge pull request #902 from IanDelMar/patch-5
Fix for #900 Great! @IanDelMar
2019-02-12 09:17:28 +01:00
Holger 0aef68a069
Merge pull request #915 from stevygee/master
Fix inconsistent wrapper closing comments - thx @stevygee
2019-02-12 09:16:54 +01:00
Stefan Grassberger f47ade3038
Update both-sidebarspage.php 2019-02-11 17:47:02 +01:00
Stefan Grassberger 430a238ca5
Update left-sidebarpage.php 2019-02-11 17:46:46 +01:00
Stefan Grassberger f7c176e800
Update right-sidebarpage.php 2019-02-11 17:46:16 +01:00
Joao Figueiredo 57527a3d6d updates Pt_Pt translation 2019-02-05 12:35:50 +00:00
Davor Lonzaric 3006f4a217
Slovene translation 2019-02-01 11:23:31 +01:00
Davor Lonzaric 11a6180a7f
Merge pull request #2 from understrap/master
Upstream update
2019-02-01 11:20:29 +01:00
IanDelMar 6f0462b551
Load deprecated functions 2019-01-29 00:05:11 +01:00
IanDelMar 89464f0d4f
Add deprecated.php 2019-01-29 00:02:25 +01:00
Holger 7c66344f16
Merge pull request #896 from noelspringer/woocommerce-template-update
Update template to 3.5.3
2019-01-28 08:38:44 +01:00
Noel Springer 3effcb7399 Update template to 3.5.3 2019-01-23 12:35:41 +10:00
Davor Lonzaric cc82a79616
Merge pull request #1 from understrap/master
Update local fork
2019-01-22 17:05:15 +01:00
Holger 1c806b7e57
Merge pull request #886 from IanDelMar/patch-4
Remove superfluous space - thx @IanDelMar
2019-01-07 11:32:57 +01:00
Holger d7e1e8bc6b
Merge pull request #888 from coliff/patch-1
HTTPS links - Thx @coliff
2019-01-07 11:32:26 +01:00
Christian Oliff 67f8dbc75e
HTTPS links 2019-01-07 11:29:43 +09:00
IanDelMar 88cf1467d2
Remove superfluous space 2019-01-04 10:50:50 +01:00
Thomas A. Reinert 02c6cf3484
Merge pull request #882 from IanDelMar/patch-4
Escape translation
2018-12-29 18:07:56 +01:00
IanDelMar 52b028e1be
Escape translation 2018-12-28 10:37:14 +01:00
Holger Könemann e8a141560b update changelog 2018-12-28 09:51:37 +01:00
Holger Könemann 9a30e9d5de preparing 0.8.9 update 2018-12-28 09:50:41 +01:00
Holger Könemann 3a21223c4d rebuild css 2018-12-28 09:43:37 +01:00
Holger Könemann aa90bee3e3 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	css/theme.css
#	css/theme.min.css
#	css/theme.min.css.map
2018-12-28 09:43:13 +01:00
Holger Könemann 912ccf8edb Bootstrap 4.2.1 update, dependency updates, rebuild 2018-12-28 09:39:58 +01:00
Holger f3c23d0a8b
Merge pull request #877 from noelspringer/woocommerce-coupon-field
Fix for issue #876 - thx @noelspringer
2018-12-28 09:36:34 +01:00
Holger c85f9e08e9
Merge pull request #879 from IanDelMar/patch-3
Fix indentation - thx again @IanDelMar
2018-12-28 09:36:00 +01:00
Holger f9f7b2b176
Merge pull request #881 from IanDelMar/patch-5
Fix spacing - thx @IanDelMar !
2018-12-28 09:35:42 +01:00
IanDelMar 9779563248
Fix space usage 2018-12-26 11:26:22 +01:00
IanDelMar f5edb00c9f
Fix spacing 2018-12-26 11:22:37 +01:00
IanDelMar c014366a48
Fix spacing 2018-12-25 19:19:42 +01:00
IanDelMar 77bc390ee7
Fix spacing 2018-12-25 19:17:09 +01:00
IanDelMar 8bfabce83d
Fix indentation 2018-12-25 19:09:25 +01:00
Noel Springer 1db1455322 Fix for issue #876
* Increase width of coupon code input field on laptop/desktop.
* Rebuild CSS.

* On screen sizes greater than 768px wide the coupon code input field is too
  narrow and the placeholder text "Coupon code" appears to be truncated.
2018-12-22 14:14:10 +10:00
Holger f1d17707db
Merge pull request #850 from IanDelMar/patch-3
Create .editorconfig
2018-12-18 14:25:19 +01:00
Holger fecf45dff4
Merge pull request #855 from IanDelMar/header
Conditional pingback & child theme friendliness Thx again @IanDelMar
2018-12-18 14:23:56 +01:00
Holger b9fc5ef0e1
Merge pull request #856 from IanDelMar/wpcs
Fix formatting issues - wow...thx @IanDelMar !
2018-12-18 14:23:10 +01:00
Holger bf8cc921a9
Merge pull request #859 from stevygee/master
Fix dropdown when setting depth=0 in wp_nav_menu thx @stevygee !
2018-12-18 14:22:21 +01:00
Holger c857dfb2ef
Merge pull request #868 from Fatshape/patch-1
Woocommerce Form Lost Password 3.5.2 update - Thx @Fatshape !
2018-12-18 14:21:31 +01:00
KoenemannH c88bd9256d See https://github.com/understrap/understrap/issues/873 2018-12-14 08:42:59 +01:00
Davor Lonzaric bd659d9456
WooCommerce 3.5.2 update
Added do_action( 'woocommerce_before_lost_password_form' ); and do_action( 'woocommerce_after_lost_password_form' );
2018-12-11 02:11:25 +01:00
Stefan Grassberger cf4d843cde
Fix dropdown when setting depth=0 in wp_nav_menu 2018-11-23 17:25:38 +01:00
IanDelMar 59407d69ef Remove superfluous space 2018-11-19 00:48:38 +01:00
IanDelMar 47b5893376 Fix identation 2018-11-19 00:47:07 +01:00
IanDelMar 97cde9c3c5 Fix indentation 2018-11-19 00:46:30 +01:00
IanDelMar 7ee9cfd18e Fix indentation & space usage 2018-11-19 00:44:58 +01:00
IanDelMar b653d6f2ce Fix identation 2018-11-19 00:43:14 +01:00
IanDelMar c8274df833 Fix indentation & space usage 2018-11-19 00:41:38 +01:00
IanDelMar cf15b3eb76 Fix space usage 2018-11-19 00:40:25 +01:00
IanDelMar 8ecfeb4436 Fix indentation 2018-11-19 00:38:50 +01:00
IanDelMar b1f541fcfc Fix indentation & space usage 2018-11-19 00:37:53 +01:00
IanDelMar ee459e936b Fix indentation & space usage 2018-11-19 00:37:12 +01:00
IanDelMar 024ddea2ab Fix space usage 2018-11-19 00:27:49 +01:00
IanDelMar 9c8be5118d Fix indentation & space usage 2018-11-19 00:26:03 +01:00
IanDelMar eff5910640 Fix space usage 2018-11-19 00:24:26 +01:00
IanDelMar 76a5c0fd36 Update content-page.php 2018-11-19 00:20:20 +01:00
IanDelMar d94e811686 Update content-search.php 2018-11-19 00:19:54 +01:00
IanDelMar 5831ba385b Update content-single.php 2018-11-19 00:18:55 +01:00
IanDelMar 35096acab3 Update content.php 2018-11-19 00:18:19 +01:00
IanDelMar ba909450b6 Update fullwidthpage.php 2018-11-19 00:12:12 +01:00
IanDelMar 7835682f36 Update empty.php 2018-11-19 00:10:53 +01:00
IanDelMar 4bbad708f4 Update both-sidebarspage.php 2018-11-19 00:10:04 +01:00
IanDelMar 5237c66a47
Update blank.php 2018-11-19 00:07:38 +01:00
IanDelMar b7a4f2359e Fix indentation 2018-11-19 00:03:59 +01:00
IanDelMar ce43038054 Fix missing new line at end of file 2018-11-19 00:01:59 +01:00
IanDelMar 00ead17491 Fix indentation 2018-11-18 23:59:12 +01:00
IanDelMar cfa59e691c Fix indentation 2018-11-18 23:59:06 +01:00
IanDelMar 05bc567e5d Update sidebar-statichero.php 2018-11-18 23:57:22 +01:00
IanDelMar 623d970421 Fix indentation & space usage 2018-11-18 23:55:54 +01:00
IanDelMar 63870cc487 Fix indentation & space usage 2018-11-18 23:47:21 +01:00
IanDelMar c038da308a Fix space usage, indentation, readability 2018-11-18 23:45:32 +01:00
IanDelMar 56035343db Add missing space 2018-11-18 22:01:04 +01:00
IanDelMar 5ff95a5989 Fix indentation & space usage 2018-11-18 21:59:03 +01:00
IanDelMar c71ba33ea7 Fix indentation & space usage 2018-11-18 21:52:47 +01:00
IanDelMar 7bfca59655 Fix indentation & space usage 2018-11-18 21:49:45 +01:00
IanDelMar 23f7c2ab4d Fix indentation 2018-11-18 21:45:52 +01:00
IanDelMar d979bf8a5a Update comments.php 2018-11-18 21:25:27 +01:00
IanDelMar 51c5f93019 Fix space usage, indentation 2018-11-18 21:05:13 +01:00
IanDelMar 4b3a789172 Add mobile-web-app meta as action
Allows a child theme to remove the meta tags without changing the header.php.
2018-11-18 16:28:39 +01:00
IanDelMar 95767decb0 Conditionally add pingback
and allow child theme to remove it without changing the header.php.
2018-11-18 16:26:49 +01:00
Holger 05cbe7bedf
Merge pull request #802 from IanDelMar/fix-for-#796
Fix for #796 - Thx @IanDelMar !
2018-11-16 08:07:53 +01:00
KoenemannH 1208774d79 Clean up gulp file and package.json according to https://github.com/understrap/understrap/issues/853 2018-11-16 08:04:10 +01:00
IanDelMar fd85a081d5
Create .editorconfig
Source: https://core.trac.wordpress.org/browser/trunk/.editorconfig
2018-11-14 20:30:03 +01:00
Holger 9ce8163f8f
Merge pull request #846 from IanDelMar/patch-1
Update functions.php - thx @IanDelMar
2018-11-12 10:05:27 +01:00
IanDelMar 1637233d97
Update functions.php
`locate_template()` adds a slash, resulting in a double slash if a slash is prepended to `inc . $file`. See https://developer.wordpress.org/reference/functions/locate_template/
2018-11-09 01:19:35 +01:00
Holger Könemann 9aecf60a75 rebuild css 2018-11-01 13:07:51 +01:00
Holger Könemann 4060ecd88b WooCommerce 3.5.1 update 2018-11-01 13:05:54 +01:00
Holger Könemann 2409475185 update changelog 2018-11-01 13:04:54 +01:00
Holger Könemann c3fc43d115 rebuild 2018-11-01 12:57:08 +01:00
Holger Könemann 70c54e186a removing popper.js and update gulp-sass in
Updating package.json - popper.js is already part of
bootstrap.bundle.min.js, so there is no need anymore for it as extra
dependency
2018-11-01 12:51:36 +01:00
Holger Könemann 8695211a39 preparing 0.8.8 release 2018-11-01 12:49:27 +01:00
Holger 442fcb5241
Merge pull request #837 from noelspringer/woocommerce-3.5
Update Woocommerce templates for WC 3.5.0 - Thx @noelspringer !
2018-11-01 12:46:08 +01:00
Noel Springer acaaefcb21 Update Woocommerce templates for WC 3.5.0 2018-10-30 10:19:44 +10:00
Holger 125c4a0642
Merge pull request #834 from ylkyrg/github-directory
Create .github/ - Thx @ylkyrg
2018-10-25 12:15:13 +02:00
Gary Kealy b409160912 Create .github/ 2018-10-22 16:15:47 +01:00
Holger c26648ad97
Merge pull request #832 from IanDelMar/patch-1
Remove $sidebar_pos - 👍 @IanDelMar
2018-10-19 07:32:57 +02:00
IanDelMar 685bda2aa3
Remove $sidebar_pos
There is no sidebar.
2018-10-18 21:22:09 +02:00
Holger 8b38442bab
Merge pull request #817 from IanDelMar/patch-3
Move woocommerce product gallery slider width fix - thx @IanDelMar & @0dp
2018-10-18 15:46:28 +02:00
Holger dc197a621e
Merge pull request #828 from gillespieza/simplify-sidebars
Tidy up left sidebar check

thx @gillespieza !
It took a moment before I get it ;-)
.col-md will autofill all available space. So we don´t need to check how much ist left.
👍
2018-10-18 10:33:39 +02:00
Holger e7d696a84e
Merge pull request #829 from IanDelMar/patch-5
Fix inconsistent font weight - thx @IanDelMar !
2018-10-18 10:23:56 +02:00
Holger 1e0798d7e1
Merge pull request #830 from redpik/master
Add gulp default task (watcher) - thx @redpik !
2018-10-18 10:23:15 +02:00
redpik 7b38e7422d Add gulp default talk (watcher) 2018-10-16 09:00:14 +02:00
IanDelMar e96325d23d
Fix inconsistent font-weight
If the front page is the main blog page the site title is wrapped in an h1 tag with font-weight equal to 500. On every other page the site title is wrapped in an a tag with font-weight equal to 400.
2018-10-15 21:05:03 +02:00
gillespieza ece6f9373f
Tidy up left sidebar check
Removed all the unnecessary code to explicitly set the primary column's width. This is handled by Bootstrap 4's auto-layout. If we just provide it a column and its breakpoint, then as long as the sidebars have an explicit column width, the main will auto-fill.
2018-10-15 15:48:12 +02:00
Holger 94fb26825f
Merge pull request #822 from IanDelMar/patch-1
Update understrap.scss
2018-10-15 14:46:08 +02:00
Holger e683c12882
Merge pull request #824 from IanDelMar/patch-4
Remove default class hfeed - +1 @IanDelMar !
2018-10-15 14:44:37 +02:00
Holger 5b23f36a25
Merge pull request #826 from pattonwebz/issue/825-excerpt-length-filter-only-on-frontend
Prevent modifications to read_more affecting dashboard expected behavior - thx @pattonwebz !
2018-10-15 14:44:09 +02:00
William Patton 607072acd1 Prevent modifications to read_more affecting dashboard expected behavior 2018-10-12 23:16:53 +01:00
IanDelMar ceb5554fd0
Remove default class hfeed
The class `hfeed` is correctly added to non-singular pages only via the `understrap_body_classes` filter and should not be present on each page regardless of whether it is a feed or not.
2018-10-12 16:32:32 +02:00
IanDelMar 5c9f276f76
Update understrap.scss 2018-10-09 09:14:10 +02:00
IanDelMar 38b7aa2e9a
Add woocommerce product gallery slider width fix
Move 'Woocommerce product gallery slider width fix' from understrap.scss to woocommerce.scss
2018-09-29 10:44:37 +02:00
IanDelMar fc6094b64e
Remove woocommerce product gallery slider width fix
Move 'Woocommerce product gallery slider width fix' from understrap.scss to woocommerce.scss
2018-09-29 10:43:05 +02:00
Holger 0dbfc1728a
Merge pull request #815 from SalmanPK/master
Fixed typo in wp_enqueue_style() call in inc/wpcom.php
2018-09-27 15:31:30 +02:00
Holger 4c778ed270
Merge pull request #813 from IanDelMar/patch-1
Add filters for posted on/by
2018-09-27 15:30:27 +02:00
Salman Abbas be9d3db4ec Fixed typo in wp_enqueue_style() call in inc/wpcom.php: file version passed as the $deps argument instead of $ver 2018-09-23 09:52:11 +05:00
IanDelMar b6af4ac452
Add comments for translators 2018-09-19 08:59:24 +02:00
IanDelMar 088830154e Revert "Revert "Adjust byline for hidden date case""
This reverts commit 7783b14cb3.
2018-09-19 08:46:26 +02:00
IanDelMar 7783b14cb3 Revert "Adjust byline for hidden date case"
This reverts commit 5ea71dac54.
2018-09-19 08:36:12 +02:00
IanDelMar 5ea71dac54
Adjust byline for hidden date case
Switch from 'by author' to 'Posted by author' if 'Posted on ...' is hidden via filter.
2018-09-19 08:30:42 +02:00
IanDelMar ed0067a12f
Add missing space
Add missing space between 'by' and author name.
2018-09-19 08:10:27 +02:00
IanDelMar eaacf2f606
Add filters for posted on/by
```php
// Hide date last modified
add_filter( 'understrap_posted_on_time', 'prefix_hide_modified' );
function prefix_hide_modified() {
		$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
		$time_string = sprintf(
			$time_string,
			esc_attr( get_the_date( 'c' ) ),
			esc_html( get_the_date() )
		);
		return $time_string;
}

// Hide posted by
add_filter( 'understrap_posted_by', '__return_false' );

// Hide posted on
add_filter( 'understrap_posted_on', '__return_false' );
2018-09-18 23:02:54 +02:00
Holger c810218613
Merge pull request #809 from VarunBatraIT/master
Fix for #808 - 👍 @VarunBatraIT
2018-09-18 08:58:10 +02:00
Varun Batra 0bc4b340cf Fix for #808 2018-09-17 00:25:05 +05:30
Holger Könemann e9e62399e2 we don´t need popper.js anymore because it is in bootstrap.bundle.js 2018-09-15 11:45:30 +02:00
Holger 5dd5a1b6ce
Merge pull request #805 from ylkyrg/refactor-functions
Refactor functions.php - Thx @ylkyrg
2018-09-13 13:53:47 +02:00
Gary Kealy 9dacaa8cf5 Refactor functions.php 2018-09-12 12:27:29 +01:00
Holger Könemann b41d693d93 Update changelog 2018-09-11 09:37:03 +02:00
Holger Könemann d4c730af48 Version bump to 0.8.7, dependency updates and rebuild 2018-09-11 09:27:27 +02:00
Holger de08054b71
Merge pull request #790 from IanDelMar/patch-8
Incorrect spacing
2018-09-11 09:16:51 +02:00
Holger 6e9f4022c0
Merge branch 'master' into patch-8 2018-09-11 09:16:31 +02:00
Holger 0b9fbe9830
Merge pull request #801 from IanDelMar/prevent-direct-access
Prevent direct access - 👍 @IanDelMar
2018-09-11 09:15:20 +02:00
IanDelMar 0090d78e57 Fix for #796 2018-09-11 00:58:25 +02:00
IanDelMar 45c9d1adb7 Prevent direct access 2018-09-10 23:59:04 +02:00
Holger 613f16e462
Merge pull request #793 from IanDelMar/patch-10
Stick to single quotes & other minor changes
👍
2018-09-10 11:00:20 +02:00
Holger 520e8c44cb
Merge pull request #789 from IanDelMar/patch-7
sidebar-footerfull.php: incorrect spacing
2018-09-10 10:59:00 +02:00
Holger e3ff0893fd
Merge pull request #787 from IanDelMar/patch-6
Fix for issue #785
2018-09-10 10:58:35 +02:00
Holger 9adb5d7ddc
Merge pull request #784 from 0dp/patch-13
Update gulpconfig.json
2018-09-10 10:58:11 +02:00
Thomas A. Reinert 43fdff37d6
Merge pull request #794 from IanDelMar/patch-13
Define .screen-reader-text
2018-09-03 09:04:44 +02:00
Thomas A. Reinert da7e1b16b4
Merge pull request #795 from IanDelMar/patch-12
Focusable 'Skip to content'
2018-09-03 08:36:26 +02:00
IanDelMar 43127350b5
Focusable 'Skip to content'
* make 'Skip to content' focusable for sighted keyboard users
* .sr-only makes .screen-reader-text obsolete
2018-09-02 19:30:14 +02:00
IanDelMar 0906f10e5d
Define .screen-reader-text
WP uses the class `.screen-reader-text` in some core stuff like widgets and therefore it should be properly defined. Also UnderStrap itself uses `.screen-reader-text` instead of `.sr-only` sometimes.
2018-09-02 19:17:32 +02:00
IanDelMar cc6d8727c7
Stick to single quotes & other minor changes
* Stick to single quotes
* DocBlock for function understrap_theme_slug_sanitize_select
* Formatting issues
2018-09-02 08:54:36 +02:00
IanDelMar 8be788a5f4
Incorrect spacing 2018-09-01 20:16:42 +02:00
IanDelMar 1a78061efd
sidebar-footerfull.php: incorrect spacing 2018-09-01 20:14:46 +02:00
IanDelMar 2f1228a812
Fix for issue #785
Translatable widget area descriptions
2018-08-30 06:51:11 +02:00
Johan Nielsen 3b4540d866
Update gulpconfig.json
just a little formatting
2018-08-26 12:43:55 +02:00
Holger 35eaec8dd9
Merge pull request #778 from IanDelMar/patch-3
Make aria-label translatable - Thx @IanDelMar !
2018-08-22 08:44:33 +02:00
IanDelMar afeaa14b82
Make aria-label translatable
Content of aria-label may get read out loud and thus should be translatable.
2018-08-20 18:56:15 +02:00
Holger e9f2b82423
Merge pull request #738 from jfig/master
updated pt_PT translation
2018-08-20 16:05:47 +02:00
Holger 9cfc628afe
Merge pull request #743 from pattonwebz/fix/742-php5.3-compat
Swap shorthand array `[]` to `array()` in pagination function definition
2018-08-20 16:05:27 +02:00
Holger 186065401b
Merge pull request #776 from IanDelMar/patch-1
searchform.php replace assistive-text by sr-only
2018-08-20 16:04:16 +02:00
IanDelMar f24e325341
Strapify select for WP default widgets 2018-08-20 09:39:17 +02:00
IanDelMar eb611ede1f
searchform.php replace assistive-text by sr-only
Replace assistive-text by the proper BS4 class for screen reader text (sr-only)
2018-08-20 08:32:04 +02:00
Holger 699bdef17f
Merge pull request #759 from 0dp/patch-12
Update widgets.php
2018-08-16 16:10:59 +02:00
Holger f39b101f2f
Merge pull request #761 from noelspringer/woocommerce-template-update
Update Woocommerce form-coupon template to 3.4.4
2018-08-16 16:10:15 +02:00
Holger 074c064025
Merge pull request #762 from davidshq/master
Adding .idea to .gitignore?
2018-08-16 16:09:59 +02:00
Holger 7b7c3b7904
Merge pull request #764 from redpik/patch-2
Typo in FR text
2018-08-16 16:09:10 +02:00
Holger e12060837c
Merge pull request #767 from IanDelMar/fix-site-hook
Fix function_exists & parenthesis
2018-08-16 16:08:51 +02:00
Holger f1b7f260c3
Merge pull request #770 from IanDelMar/master
Fix for Issue #769
2018-08-16 16:08:22 +02:00
IanDelMar 3723546d81
Fix for Issue #769
missing hooks.php in functions.php. causes footer.php to call an undefined function
2018-08-09 22:00:43 +02:00
IanDelMar 6678261a81
Fix function_exists & parenthesis
* Fixed function_exists checking the wrong function
* Added missing parenthesis
2018-08-07 21:39:03 +02:00
Holger 56bc68c30b
Merge pull request #765 from IanDelMar/site-info-hook
Added site info hook - Good idea! Thx @IanDelMar !
2018-08-07 20:09:36 +02:00
Holger 8f8d707a96
Merge pull request #763 from redpik/patch-1
Remove the X-UA-Compatible meta tag - thx @redpik 
Looks good, even Bootstrap itself drope this
2018-08-07 20:06:52 +02:00
Holger 6496436c80
Merge pull request #766 from redpik/patch-3
Delete .DS_Store - thx @redpik
2018-08-07 20:05:54 +02:00
Benjamin PONGY 7d4f3304a6
Delete .DS_Store 2018-08-07 16:40:19 +02:00
IanDelMar eda386549d
Update hooks.php 2018-08-06 22:34:35 +02:00
IanDelMar a2eaaed12c
Use site info hook
see inc/hooks.php
2018-08-06 22:31:39 +02:00
IanDelMar cee0bd5ee3
Create hooks.php 2018-08-06 22:19:50 +02:00
Benjamin PONGY 36d7e8ac9b
Typo in FR text
Accent on "À"
2018-08-06 10:39:38 +02:00
Benjamin PONGY 2593581e53
Remove the X-UA-Compatible meta tag
https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do/6771584#6771584
2018-08-06 10:29:49 +02:00
Dave Mackey 5c7db61572 Merge remote-tracking branch 'origin/master' 2018-08-04 22:20:29 -04:00
Dave Mackey ee1b4ebe3e Merge remote-tracking branch 'upstream/master/master' 2018-08-04 22:18:54 -04:00
Noel Springer 14f199b250 Update form-coupon template to 3.4.4 2018-08-05 02:51:37 +10:00
Johan Nielsen 3a55780298
Update widgets.php
small typo
2018-08-03 10:22:06 +02:00
Holger Könemann acb4fcb186 using bootstrap.bundle.js instead of popper.js and bootstrap.js 2018-07-30 15:02:21 +02:00
KoenemannH 521548ee59 Solve conflicts 2018-07-27 08:36:50 +02:00
Dave Mackey c528c96a7c - Minor grammar and spelling corrections.
- Updated copyright dates.
- Added introduction explanation of installation methods, was a little confusing at first glance whether all three of these needed to be performed or only one, thought this would help clarify.
- Added a similar section to Page Templates to help clarify purpose of section.
2018-07-26 21:28:34 -04:00
Holger Könemann cebefb96b1 re-release as 0.8.6 2018-07-26 17:55:07 +02:00
Holger Könemann 200379c1b7 regenerate js 2018-07-26 17:41:38 +02:00
Holger Könemann 3d72fa345b Update to Bootstrap 4.1.3 2018-07-26 17:41:18 +02:00
Joao Figueiredo b34de22a1c Merge branch 'master' of github.com:understrap/understrap 2018-07-25 14:33:28 +01:00
Holger d2604dab6f
Merge pull request #744 from corallus/dutch-translations - Thx @corallus !
Strings extracted and all relevant strings translated
2018-07-24 15:36:47 +02:00
KoenemannH 9407ee0d96 See https://github.com/understrap/understrap/issues/750
Thx @DDfakt
2018-07-24 15:27:43 +02:00
KoenemannH 751983807a Preparing 0.8.4 update 2018-07-16 13:23:26 +02:00
Holger be9c91a767
Merge pull request #740 from noelspringer/fix-missing-sidebar
Fix missing sidebar.php
2018-07-16 13:17:34 +02:00
KoenemannH 1c5db85d0c Adding empty sidebar.php 2018-07-16 13:13:32 +02:00
William Patton efabf58b1d Swap array shorthand `[]` in wp_parse_args call to `array()` 2018-07-13 00:10:59 +01:00
Vincent van Bergen 5930e41703 almost all translations generated and translated 2018-07-12 22:52:47 +02:00
William Patton ddd8bacca8 Swap shorthand array `[]` to `array()` in pagination function definition 2018-07-12 20:07:38 +01:00
Joao Figueiredo 790e91feea Merge remote-tracking branch 'upstream/master' 2018-07-10 22:33:32 +01:00
Noel Springer 4b8bbdd2f7 Fix missing sidebar.php
sidebar.php is required by WordPress core since version 3.0.0
2018-07-07 10:49:07 +10:00
KoenemannH dee0292777 Adding missing text domain 2018-07-06 09:48:49 +02:00
KoenemannH abb2af1d9c Fixing text domain 2018-07-06 09:38:09 +02:00
KoenemannH 6bc5c14ee8 Reset enqueue.php 2018-07-06 08:55:44 +02:00
Holger Könemann 7cdaeddef7 Switch back to pre-gulp4 version 2018-07-04 11:37:13 +02:00
Joao Figueiredo 7b656700ad updated pt_PT translation 2018-07-02 13:00:32 +01:00
Dave Mackey f644091fac - Minor grammar and spelling corrections.
- Updated copyright dates.
- Added introduction explanation of installation methods, was a little confusing at first glance whether all three of these needed to be performed or only one, thought this would help clarify.
- Added a similar section to Page Templates to help clarify purpose of section.
2018-06-14 21:36:14 -04:00
212 changed files with 32248 additions and 23369 deletions

10
.browserslistrc Normal file
View File

@ -0,0 +1,10 @@
# please see https://github.com/browserslist/browserslist for more info
# These settings can be changed depending on what browsers your project is supporting
>= 0.01%
Last 5 versions
last 8 iOS versions
Firefox >= 28
IE 10 # sorry
IE 11 # sorry
dead # sorry

21
.editorconfig Normal file
View File

@ -0,0 +1,21 @@
# This file is for unifying the coding style for different editors and IDEs
# editorconfig.org
# WordPress Coding Standards
# https://make.wordpress.org/core/handbook/coding-standards/
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
[{package.json,*.yml}]
indent_style = space
indent_size = 2
[{*.txt,wp-config-sample.php}]
end_of_line = crlf

View File

@ -43,8 +43,8 @@ People *love* thorough bug reports. I'm not even kidding.
## Use a Consistent Coding Style ## Use a Consistent Coding Style
* 2 spaces for indentation rather than tabs * Stick to the [WordPress Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/)
* Use ./.editorconfig if your editor supports it * Use [./.editorconfig](https://github.com/understrap/understrap/blob/master/.editorconfig) if your editor supports it
<!-- * You can try running `npm run lint` for style unification --> <!-- * You can try running `npm run lint` for style unification -->
## License ## License

1
.gitignore vendored
View File

@ -25,3 +25,4 @@ Thumbs.db
*.bak *.bak
*.swp *.swp
.idea/

View File

@ -2,7 +2,6 @@
"preset": "wordpress", "preset": "wordpress",
"fileExtensions": [ ".js" ], "fileExtensions": [ ".js" ],
"excludeFiles": [ "excludeFiles": [
"js/**.min.js",
"js/**.min.js", "js/**.min.js",
"src/**/*.js", "src/**/*.js",
"js/core.js", "js/core.js",

View File

@ -2,15 +2,15 @@
# @link https://travis-ci.org/ # @link https://travis-ci.org/
# For use with the UnderStrap WordPress theme # For use with the UnderStrap WordPress theme
# @link https://github.com/holger1411/understrap # @link https://github.com/understrap/understrap
# Declare project language and PHP versions to test against. # Declare project language and PHP versions to test against.
# @link http://about.travis-ci.org/docs/user/languages/php/ # @link https://docs.travis-ci.com/user/languages/php/
language: php language: php
# Declare versions of PHP to use. Use one decimal max. # Declare versions of PHP to use. Use one decimal max.
php: php:
- "7.0" - "7.3"
- "5.6" - "5.6"
# Ditch sudo and use containers. # Ditch sudo and use containers.
@ -21,7 +21,7 @@ sudo: false
# Declare which versions of WordPress to test against. # Declare which versions of WordPress to test against.
# Also declare whether or not to test in Multisite. # Also declare whether or not to test in Multisite.
env: env:
# Trunk (current version in development is 4.7) # Trunk (current version in development is 5.3)
# @link https://github.com/WordPress/WordPress # @link https://github.com/WordPress/WordPress
- WP_VERSION=master WP_MULTISITE=0 - WP_VERSION=master WP_MULTISITE=0
@ -29,12 +29,18 @@ env:
# e.g. copy database configurations, environment variables, etc. # e.g. copy database configurations, environment variables, etc.
# Failures in this section will result in build status 'errored'. # Failures in this section will result in build status 'errored'.
before_script: before_script:
# Speed up build time by disabling Xdebug.
- phpenv config-rm xdebug.ini || echo 'No xdebug config.'
# Set up temporary paths.
- export PHPCS_DIR=/tmp/phpcs
- export WPCS_DIR=/tmp/wpcs
- export PHPCOMPAT_DIR=/tmp/phpcompatibility
# Set up WordPress installation. # Set up WordPress installation.
- export WP_DEVELOP_DIR=/tmp/wordpress/ - export WP_DEVELOP_DIR=/tmp/wordpress/
- mkdir -p $WP_DEVELOP_DIR - mkdir -p $WP_DEVELOP_DIR
# Use the Git mirror of WordPress. # Use the Git mirror of WordPress.
- git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR - git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR
# Set up Twenty Seventeen theme information. # Set up UnderStrap theme information.
- theme_slug=$(basename $(pwd)) - theme_slug=$(basename $(pwd))
- theme_dir=$WP_DEVELOP_DIR/src/wp-content/themes/$theme_slug - theme_dir=$WP_DEVELOP_DIR/src/wp-content/themes/$theme_slug
- cd .. - cd ..
@ -47,16 +53,16 @@ before_script:
- sed -i "s/yourusernamehere/root/" wp-tests-config.php - sed -i "s/yourusernamehere/root/" wp-tests-config.php
- sed -i "s/yourpasswordhere//" wp-tests-config.php - sed -i "s/yourpasswordhere//" wp-tests-config.php
# Create WordPress database. # Create WordPress database.
- mysql -e 'CREATE DATABASE wordpress_test;' -uroot #- mysql -u root -e "CREATE DATABASE wordpress_test;"
# Install CodeSniffer for WordPress Coding Standards checks. # Install CodeSniffer for WordPress Coding Standards checks.
- mkdir php-codesniffer && curl -L https://github.com/squizlabs/PHP_CodeSniffer/archive/2.7.0.tar.gz | tar xz --strip-components=1 -C php-codesniffer - git clone -b master --depth 1 https://github.com/squizlabs/PHP_CodeSniffer.git $PHPCS_DIR
# Install WordPress Coding Standards. # Install WordPress Coding Standards.
- mkdir wordpress-coding-standards && curl -L https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/archive/0.10.0.tar.gz | tar xz --strip-components=1 -C wordpress-coding-standards - git clone -b master --depth 1 https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git $WPCS_DIR
# Hop into CodeSniffer directory. # Install PHP Compatibility sniffs.
- cd php-codesniffer - git clone -b master --depth 1 https://github.com/wimg/PHPCompatibility.git $PHPCOMPAT_DIR
# Set install path for WordPress Coding Standards # Set install path for PHPCS sniffs.
# @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941 # @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941
- scripts/phpcs --config-set installed_paths ../wordpress-coding-standards - $PHPCS_DIR/bin/phpcs --config-set installed_paths $WPCS_DIR,$PHPCOMPAT_DIR
# Hop into themes directory. # Hop into themes directory.
- cd $theme_dir - cd $theme_dir
# After CodeSniffer install you should refresh your path. # After CodeSniffer install you should refresh your path.
@ -65,7 +71,7 @@ before_script:
# @link http://jscs.info/ # @link http://jscs.info/
- npm install -g jscs - npm install -g jscs
# Install JSHint, a JavaScript Code Quality Tool # Install JSHint, a JavaScript Code Quality Tool
# @link http://jshint.com/docs/ # @link https://jshint.com/docs/
- npm install -g jshint - npm install -g jshint
- wget https://develop.svn.wordpress.org/trunk/.jshintrc - wget https://develop.svn.wordpress.org/trunk/.jshintrc
@ -88,4 +94,4 @@ script:
# -n flag: Do not print warnings (shortcut for --warning-severity=0) # -n flag: Do not print warnings (shortcut for --warning-severity=0)
# --standard: Use WordPress as the standard. # --standard: Use WordPress as the standard.
# --extensions: Only sniff PHP files. # --extensions: Only sniff PHP files.
- $WP_DEVELOP_DIR/php-codesniffer/scripts/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php --ignore=*/woocommerce/*,*/src/* - $PHPCS_DIR/bin/phpcs -p -s -v -n . --extensions=php --ignore=*/woocommerce/*,*/src/*

26
404.php
View File

@ -1,15 +1,16 @@
<?php <?php
/** /**
* The template for displaying 404 pages (not found). * The template for displaying 404 pages (not found)
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
?> ?>
<div class="wrapper" id="error-404-wrapper"> <div class="wrapper" id="error-404-wrapper">
@ -26,15 +27,13 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
<header class="page-header"> <header class="page-header">
<h1 class="page-title"><?php esc_html_e( 'Oops! That page can&rsquo;t be found.', <h1 class="page-title"><?php esc_html_e( 'Oops! That page can&rsquo;t be found.', 'understrap' ); ?></h1>
'understrap' ); ?></h1>
</header><!-- .page-header --> </header><!-- .page-header -->
<div class="page-content"> <div class="page-content">
<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', <p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'understrap' ); ?></p>
'understrap' ); ?></p>
<?php get_search_form(); ?> <?php get_search_form(); ?>
@ -48,13 +47,15 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
<ul> <ul>
<?php <?php
wp_list_categories( array( wp_list_categories(
array(
'orderby' => 'count', 'orderby' => 'count',
'order' => 'DESC', 'order' => 'DESC',
'show_count' => 1, 'show_count' => 1,
'title_li' => '', 'title_li' => '',
'number' => 10, 'number' => 10,
) ); )
);
?> ?>
</ul> </ul>
@ -81,8 +82,9 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #error-404-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -1,3 +1,288 @@
- ** Release 0.9.4 June 30th 2019 **
- ** Release 0.9.3 May 8th 2019 **
- hotfix release
- ** Release 0.9.2 May 8th 2019 **
Commits on Feb 16, 2019
@holgerkoenemann
holgerkoenemann
Rebuild header
e6c9552
Commits on Feb 19, 2019
Lon Koenig
Lon Koenig
Make understrap_mobile_web_app_meta() and understrap_pingback() plugg…
6fcf1e9
Commits on Feb 22, 2019
Noel Springer
Noel Springer
Update form-reset-password template for Woocommerce 3.5.5
85ef63c
Commits on Feb 27, 2019
@holger1411
holger1411
Merge pull request #921 from schnoggo/master
98b2107
@holger1411
holger1411
Merge pull request #922 from noelspringer/woocommerce-template-update
17eb1c5
Commits on Mar 08, 2019
@MarieComet
MarieComet
Add responsive embed support
f663655
Commits on Mar 11, 2019
@holger1411
holger1411
Merge pull request #935 from understrap/MarieComet-responsive-embed-s…
74b0d07
Commits on Mar 20, 2019
@holgerkoenemann
holgerkoenemann
Fixing problem with tiny col on mobile
fa0bef5
Commits on Apr 11, 2019
@KenEucker
KenEucker
Dependencies updates. Migrated to gulp4. Added compilation task.
fc08939
Commits on Apr 14, 2019
@holger1411
holger1411
Merge pull request #953 from KenEucker/master
317c136
@holger1411
holger1411
Update gulpfile.js
401bcc9
@holger1411
holger1411
Fixing #946
9f848d8
@holger1411
holger1411
Update enqueue.php
705bd72
Commits on Apr 17, 2019
@holger1411
holger1411
Update BS version #no
a4f20ac
Commits on Apr 19, 2019
Chris Bibby
Chris Bibby
initial
89f2509
Chris Bibby
Chris Bibby
Woocommerce 3.6.1 template changes
1ab2f98
Chris Bibby
Chris Bibby
Woocommerce 3.6.1 template changes
d60c6d4
Chris Bibby
Chris Bibby
woocommerce 3.6.1 template changes
cb67c41
Chris Bibby
Chris Bibby
woocommerce 3.6.1 template changes
7d8e00f
Chris Bibby
Chris Bibby
woocommerce 3.6.1 template changes
a28c44d
Chris Bibby
Chris Bibby
woocommerce 3.6.1 template changes
c500160
Commits on Apr 20, 2019
Chris Bibby
Chris Bibby
Woocommerce 3.6.1 updates
1fe315c
Chris Bibby
Chris Bibby
Merge branch 'woocommerce-3.6.1-updates' of https://github.com/chrism…
b8766a7
Commits on Apr 22, 2019
@holger1411
holger1411
Update Woocommerce version info
cac4962
Commits on Apr 28, 2019
@holger1411
holger1411
Merge branch 'master' into woocommerce-3.6.1-updates
c293c82
@holger1411
holger1411
Merge pull request #955 from chrismb75/woocommerce-3.6.1-updates
8af84c1
@holger1411
holger1411
Fixing watch-bs task
bbae68f
Commits on Apr 29, 2019
@IanDelMar
IanDelMar
WooCommerce backward compatibility. Fix for #961
8b841fb
Commits on Apr 30, 2019
@kelsS
kelsS
removed bower.json since bower is no longer used
7475ec1
@kelsS
kelsS
add php to allow the hero widgets to show on the fullwidth page templ…
2f5e018
Commits on May 01, 2019
@kelsS
kelsS
add babel, gulp-babel, autoprefixer, and gulp-postcss as dev dependen…
0ea4793
@kelsS
kelsS
add babel core, gulp-babel, autoprefixer, and gulp-postcss to gulp pr…
b179eaf
@IanDelMar
IanDelMar
Add support for wp_body_open
0e76b40
Commits on May 03, 2019
@IanDelMar
IanDelMar
Improve code simplicity
6076c91
Commits on May 08, 2019
@holger1411
holger1411
Merge pull request #967 from IanDelMar/wp_body_open
1e90d3c
@holger1411
holger1411
Merge pull request #965 from kelsS/master
a09fcbe
@holger1411
holger1411
Merge pull request #963 from IanDelMar/patch-6
2d80cf4
@holger1411
holger1411
Re-add customizer.js
01af1b4
@holger1411
holger1411
Clean rebuild
5f9b8b2
- ** Release 0.9.1 February 15th, 2019 - SECURITY UPDATE **
- Update to Bootstrap 4.3.1 - Fixes a XSS vulnerability in BS 4.3.0
- ** Release 0.9.0 February 12th, 2019 **
- Update to Bootstrap 4.3.0
- Update both-sidebarspage.php - thx @stevygee
- Update left-sidebar.php - thx @stevygee
- Update right-sidebars.php - thx @stevygee
- Add deprecated.php - thx @IanDelMar
- Escape translation fix - thx @IanDelMar
- Update WooCommerce templates to 3.5.3
- HTTPS Links - thx @Noel Springer
- Adding Slovene Translation - thx @Fatshape
- Update pt_Pt translation - thx @jfig
- ** Release 0.8.9 December 28th 2018 **
- Update to Bootstrap 4.2.1
- Fix for #796 - thx @IanDelMar
- Add .editorconfig - thx @IanDelMar
- Clean up gulp file and package.json according to #853
- Conditionally add pingback - thx @IanDelMar
- Add mobile-web-app meta as action - thx @IanDelMar
- Fixing spacing and indentation on a lot of spots - thx @IanDelMar
- Update comments.php - thx @IanDelMar
- Update sidebar-statichero.php - thx @IanDelMar
- Update several .php files - thx @IanDelMar
- Fix dropdown when setting depth=0 in wp_nav_menu - thx @stevygee
- WooCommerce 3.5.2 update - thx @Fatshape
- Fix for issue #876 - thx @Noel Springer
- ** Release 0.8.8 November 1st 2018 **
- Refactor functions.php - Thx @ylkyrg
- Fix for #808 - Thx @VarunBatraIT
- Add filters for posted on/by - Thx @IanDelMar
- Adjust byline for hidden date case - Thx @IanDelMar
- Fixed typo in wp_enqueue_style() call in inc/wpcom.php - Thx @Salmatron
- Add woocommerce product gallery slider width fix - Thx @IanDelMar
- Prevent modifications to read_more affecting dashboard expected behavior - thx @pattonwebz
- Tidy up left sidebar check - thx @gillespieza
- Add gulp default talk (watcher) - thx @redpik
- Remove $sidebar_pos - Thx @IanDelMar
- Update Woocommerce templates for WC 3.5.x - thx @ Noel Springer
- ** Release 0.8.7 September 11th 2018 **
- Spelling corrections thx @davidshq
- Updated pt_PT Translation thx @jfig
- Code cleanup thx @pattonwebz
- Using bootstrap.bundle.js instead of bootstrapjs and popper.js
- Update widgets.php thx @0dp
- Update form-coupon thx @Noel Springer
- Remove the X-UA-Compatible meta tag thx @redpik
- Fixing typo in FR text thx @redpik
- Create hooks.php thx @IanDelMar
- Using site info hook thx @IanDelMar
- Fix function_exists & parenthesis thx @IanDelMar
- Fix for Issue #769 thx @IanDelMar
- searchform.php replace assistive-text by sr-only thx @IanDelMar
- Update gulpconfig.json thx @0dp
- Fix for issue #785 thx @IanDelMar
- sidebar-footerfull.php: incorrect spacing thx @IanDelMar
- Stick to single quotes & other minor changes thx @IanDelMar
- Define .screen-reader-text thx @IanDelMar
- Focusable 'Skip to content' thx @IanDelMar
- Prevent direct access thx @IanDelMar
- ** Release 0.8.6 July 26th 2018 **
- Re - Release
- ** Release 0.8.5 July 26th 2018 **
- Update to Bootstrap 4.1.3
- ** Release 0.8.4 July 16th 2018 ** Maintenace Release:
- Update to Bootstrap 4.1.2
- fixing sidebar.php problem
- Revert to Gulp 3.x support
- ** Maintenance Release 0.8.4 July 16th 2018 **
- Update to Bootstrap 4
- fixing sidebar.php problem
- Revert to Gulp 3.x support
- ** Release 0.8.3 July 3rd 2018 ** - ** Release 0.8.3 July 3rd 2018 **
- Update to Bootstrap 4.1.1 - Update to Bootstrap 4.1.1
- Update to Gulp 4 - Update to Gulp 4
@ -99,7 +384,7 @@
- Fixing colormap problem with beta 2 - Fixing colormap problem with beta 2
- Making navwalker function pluggable - Thx @bruceconlon - Making navwalker function pluggable - Thx @bruceconlon
- Adding WordPress title attribute - Thx @JDVirtual and @Thomas-A-Reinert - Adding WordPress title attribute - Thx @JDVirtual and @Thomas-A-Reinert
- Fixing comments in _theme_variable.scss - thx @ianwyllie - Fixing comments in theme_variable.scss - thx @ianwyllie
- Adding spaces the separate "posted on" and "edited" timestamps - Thx @bruceconlon - Adding spaces the separate "posted on" and "edited" timestamps - Thx @bruceconlon
@ -182,7 +467,7 @@
- Adding AJAX classes to add-to-cart buttons - thx @typeplus - Adding AJAX classes to add-to-cart buttons - thx @typeplus
- Updating Jetpack integration - Updating Jetpack integration
- Fixing "missing" h1 on frontpage problem - Fixing "missing" h1 on frontpage problem
- Updating inc/template-tags.php from _s - Updating inc/template-tags.php from s
- Fixing W3C validator issues - Fixing W3C validator issues
- Removing cleancss gulp task from cssnano task sequence due to performance issues - Removing cleancss gulp task from cssnano task sequence due to performance issues
@ -340,7 +625,7 @@
- ** 0.3.4 SEP. 9th 2015** - ** 0.3.4 SEP. 9th 2015**
- Adding basic WooCommerce support - Adding basic WooCommerce support
- Cleanup for submitting to wordpress.org - Cleanup for submitting to wordpress.org
- Removing _s SASS ... no need for basic styling. Thats Bootstrap´s job. - Removing s SASS ... no need for basic styling. Thats Bootstrap´s job.
- ** 0.3.1 AUG. 12th 2015** - ** 0.3.1 AUG. 12th 2015**

View File

@ -1,4 +1,8 @@
Travis build: [![Build Status](https://travis-ci.org/understrap/understrap.svg?branch=master)](https://travis-ci.org/understrap/understrap) [![Build Status](https://api.travis-ci.org/understrap/understrap.svg?branch=master)](https://travis-ci.org/understrap/understrap)
[![Wordpress Theme Version](https://img.shields.io/wordpress/theme/v/understrap.svg)](https://wordpress.org/themes/understrap)
[![Wordpress Theme Active Installs](https://img.shields.io/wordpress/theme/installs/understrap.svg)](https://wordpress.org/themes/understrap/)
[![Github Last Commit](https://img.shields.io/github/last-commit/understrap/understrap)](https://github.com/understrap/understrap/commits/master)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0)
#### See: [Official Demo](https://understrap.com/understrap) | Read: [Official Docs Page](https://understrap.github.io/) #### See: [Official Demo](https://understrap.com/understrap) | Read: [Official Docs Page](https://understrap.github.io/)
@ -8,6 +12,8 @@ Website: [https://understrap.com](https://understrap.com)
Child Theme Project: [https://github.com/understrap/understrap-child](https://github.com/understrap/understrap-child) Child Theme Project: [https://github.com/understrap/understrap-child](https://github.com/understrap/understrap-child)
OverStrap Child Themes: [https://understrap.com/overstrap/](https://understrap.com/overstrap/)
## About ## About
Im a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework? Thats what UnderStrap is. You can use it as a starter theme and build your own theme on top of it. Or you can use it as a parent theme and create your own child theme for UnderStrap. Im a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework? Thats what UnderStrap is. You can use it as a starter theme and build your own theme on top of it. Or you can use it as a parent theme and create your own child theme for UnderStrap.
@ -31,7 +37,7 @@ See [changelog](CHANGELOG.md)
- Jetpack ready. - Jetpack ready.
- WooCommerce support. - WooCommerce support.
- Contact Form 7 support. - Contact Form 7 support.
- [Child Theme](https://github.com/holger1411/understrap-child) ready. - [Child Theme](https://github.com/understrap/understrap-child) ready.
- Translation ready. - Translation ready.
## Starter Theme + HTML Framework = WordPress Theme Framework ## Starter Theme + HTML Framework = WordPress Theme Framework
@ -53,7 +59,7 @@ Some basics about the Sass and CSS files that come with UnderStrap:
@import "theme/theme"; // 5. Add your styles into this file @import "theme/theme"; // 5. Add your styles into this file
``` ```
- Dont edit the number 2-4 files/filesets listed above or you wont be able to update Understrap without overwriting your own work! - Dont edit the number 2-4 files/filesets listed above or you wont be able to update UnderStrap without overwriting your own work!
- Your design goes into: `/sass/theme`. - Your design goes into: `/sass/theme`.
- Add your styles to the `/sass/theme/_theme.scss` file - Add your styles to the `/sass/theme/_theme.scss` file
- And your variables to the `/sass/theme/_theme_variables.scss` - And your variables to the `/sass/theme/_theme_variables.scss`
@ -147,6 +153,3 @@ and of course
- jQuery: https://jquery.org | (Code licensed under MIT) - jQuery: https://jquery.org | (Code licensed under MIT)
- WP Bootstrap Navwalker by Edward McIntyre: https://github.com/twittem/wp-bootstrap-navwalker | GNU GPL - WP Bootstrap Navwalker by Edward McIntyre: https://github.com/twittem/wp-bootstrap-navwalker | GNU GPL
- Bootstrap Gallery Script based on Roots Sage Gallery: https://github.com/roots/sage/blob/5b9786b8ceecfe717db55666efe5bcf0c9e1801c/lib/gallery.php - Bootstrap Gallery Script based on Roots Sage Gallery: https://github.com/roots/sage/blob/5b9786b8ceecfe717db55666efe5bcf0c9e1801c/lib/gallery.php
[![Analytics](https://ga-beacon.appspot.com/UA-139292-31/chromeskel_a/readme)](https://github.com/igrigorik/ga-beacon)

View File

@ -1,16 +1,17 @@
<?php <?php
/** /**
* The template for displaying archive pages. * The template for displaying archive pages
* *
* Learn more: http://codex.wordpress.org/Template_Hierarchy * Learn more: http://codex.wordpress.org/Template_Hierarchy
* *
* @package understrap * @package understrap
*/ */
get_header(); // Exit if accessed directly.
?> defined( 'ABSPATH' ) || exit;
get_header();
<?php
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -25,19 +26,19 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main"> <main class="site-main" id="main">
<?php if ( have_posts() ) : ?> <?php
if ( have_posts() ) {
?>
<header class="page-header"> <header class="page-header">
<?php <?php
the_archive_title( '<h1 class="page-title">', '</h1>' ); the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="taxonomy-description">', '</div>' ); the_archive_description( '<div class="taxonomy-description">', '</div>' );
?> ?>
</header><!-- .page-header --> </header><!-- .page-header -->
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php <?php
// Start the loop.
while ( have_posts() ) {
the_post();
/* /*
* Include the Post-Format-specific template for the content. * Include the Post-Format-specific template for the content.
@ -45,28 +46,26 @@ $container = get_theme_mod( 'understrap_container_type' );
* called content-___.php (where ___ is the Post Format name) and that will be used instead. * called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/ */
get_template_part( 'loop-templates/content', get_post_format() ); get_template_part( 'loop-templates/content', get_post_format() );
}
} else {
get_template_part( 'loop-templates/content', 'none' );
}
?> ?>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part( 'loop-templates/content', 'none' ); ?>
<?php endif; ?>
</main><!-- #main --> </main><!-- #main -->
<!-- The pagination component --> <?php
<?php understrap_pagination(); ?> // Display the pagination component.
understrap_pagination();
<!-- Do the right sidebar check --> // Do the right sidebar check.
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?> get_template_part( 'global-templates/right-sidebar-check' );
?>
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #archive-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -1,17 +1,19 @@
<?php <?php
/** /**
* The template for displaying the author pages. * The template for displaying the author pages
* *
* Learn more: https://codex.wordpress.org/Author_Templates * Learn more: https://codex.wordpress.org/Author_Templates
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
<div class="wrapper" id="author-wrapper"> <div class="wrapper" id="author-wrapper">
<div class="<?php echo esc_attr( $container ); ?>" id="content" tabindex="-1"> <div class="<?php echo esc_attr( $container ); ?>" id="content" tabindex="-1">
@ -26,16 +28,22 @@ $container = get_theme_mod( 'understrap_container_type' );
<header class="page-header author-header"> <header class="page-header author-header">
<?php <?php
$curauth = ( isset( $_GET['author_name'] ) ) ? get_user_by( 'slug', if ( get_query_var( 'author_name' ) ) {
$author_name ) : get_userdata( intval( $author ) ); $curauth = get_user_by( 'slug', get_query_var( 'author_name' ) );
} else {
$curauth = get_userdata( intval( $author ) );
}
?> ?>
<h1><?php esc_html_e( 'About:', 'understrap' ); ?><?php echo esc_html( $curauth->nickname ); ?></h1> <h1><?php echo esc_html__( 'About:', 'understrap' ) . ' ' . esc_html( $curauth->nickname ); ?></h1>
<?php if ( ! empty( $curauth->ID ) ) : ?> <?php
<?php echo get_avatar( $curauth->ID ); ?> if ( ! empty( $curauth->ID ) ) {
<?php endif; ?> echo get_avatar( $curauth->ID );
}
?>
<?php if ( ! empty( $curauth->user_url ) || ! empty( $curauth->user_description ) ) : ?>
<dl> <dl>
<?php if ( ! empty( $curauth->user_url ) ) : ?> <?php if ( ! empty( $curauth->user_url ) ) : ?>
<dt><?php esc_html_e( 'Website', 'understrap' ); ?></dt> <dt><?php esc_html_e( 'Website', 'understrap' ); ?></dt>
@ -49,35 +57,35 @@ $container = get_theme_mod( 'understrap_container_type' );
<dd><?php echo esc_html( $curauth->user_description ); ?></dd> <dd><?php echo esc_html( $curauth->user_description ); ?></dd>
<?php endif; ?> <?php endif; ?>
</dl> </dl>
<h2><?php esc_html_e( 'Posts by', 'understrap' ); ?> <?php echo esc_html( $curauth->nickname ); ?>
:</h2>
</header><!-- .page-header -->
<ul>
<!-- The Loop -->
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<li>
<a rel="bookmark" href="<?php the_permalink() ?>"
title="<?php esc_html_e( 'Permanent Link:', 'understrap' ); ?> <?php the_title(); ?>">
<?php the_title(); ?></a>,
<?php understrap_posted_on(); ?> <?php esc_html_e( 'in',
'understrap' ); ?> <?php the_category( '&' ); ?>
</li>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part( 'loop-templates/content', 'none' ); ?>
<?php endif; ?> <?php endif; ?>
<!-- End Loop --> <h2><?php echo esc_html__( 'Posts by', 'understrap' ) . ' ' . esc_html( $curauth->nickname ); ?>:</h2>
</ul> </header><!-- .page-header -->
<!-- The Loop -->
<?php
if ( have_posts() ) {
echo '<ul>';
while ( have_posts() ) {
the_post();
echo '<li>';
printf(
'<a rel="bookmark" href="%1$s" title="%2$s %3$s">%3$s</a>',
esc_url( apply_filters( 'the_permalink', get_permalink( $post ), $post ) ),
esc_attr( __( 'Permanent Link:', 'understrap' ) ),
get_the_title()
);
understrap_posted_on();
esc_html_e( 'in', 'understrap' );
the_category( '&' );
echo '</li>';
}
echo '</ul>';
} else {
get_template_part( 'loop-templates/content', 'none' );
}
?>
<!-- End Loop -->
</main><!-- #main --> </main><!-- #main -->
@ -89,8 +97,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div> <!-- .row --> </div> <!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #author-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -1,31 +0,0 @@
{
"name": "understrap",
"version": "0.8.2",
"homepage": "http://understrap.com",
"authors": [
"Holger Koenemann <office@holgerkoenemann.de>"
],
"description": "UnderStrap is a Bootstrap and underscores based WordPress theme framework.",
"moduleType": "globals",
"main": [
"sass/theme.scss"
],
"keywords": [
"bootstrap",
"underscores",
"wordpress",
"_s",
"sass"
],
"license": "GPL-2.0",
"ignore": [
"**/.*",
"test",
"tests"
],
"dependencies": {
},
"_source": "https://github.com/holger1411/understrap.git",
"_target": "~0.8.0",
"_originalSource": "understrap"
}

View File

@ -1,28 +0,0 @@
<?xml version="1.0"?>
<ruleset name="WordPress Theme Coding Standards">
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
<!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
<!-- Set a description for this ruleset. -->
<description>A custom set of code standard rules to check for WordPress themes.</description>
<!-- Include the WordPress ruleset, with space for exclusions if necessary. -->
<rule ref="WordPress-Core">
<exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
<exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
<exclude name="PEAR.Functions.FunctionCallSignature.Indent" />
<exclude name="Squiz.Commenting.FileComment.SpacingAfterComment" />
<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
<exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
<exclude name="Squiz.Commenting.InlineComment.NotCapital" />
</rule>
<rule ref="WordPress-Docs">
</rule>
<rule ref="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing">
<severity>0</severity>
</rule>
</ruleset>

View File

@ -1,6 +1,6 @@
<?php <?php
/** /**
* The template for displaying comments. * The template for displaying comments
* *
* The area of the page that contains both current comments * The area of the page that contains both current comments
* and the comment form. * and the comment form.
@ -8,6 +8,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/* /*
* If the current post is protected by a password and * If the current post is protected by a password and
* the visitor has not yet entered the password we will * the visitor has not yet entered the password we will
@ -35,16 +38,18 @@ if ( post_password_required() ) {
'<span>' . get_the_title() . '</span>' '<span>' . get_the_title() . '</span>'
); );
} else { } else {
printf( // WPCS: XSS OK. printf(
esc_html(
/* translators: 1: number of comments, 2: post title */ /* translators: 1: number of comments, 2: post title */
esc_html( _nx( _nx(
'%1$s thought on &ldquo;%2$s&rdquo;', '%1$s thought on &ldquo;%2$s&rdquo;',
'%1$s thoughts on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;',
$comments_number, $comments_number,
'comments title', 'comments title',
'understrap' 'understrap'
) ), )
number_format_i18n( $comments_number ), ),
number_format_i18n( $comments_number ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'<span>' . get_the_title() . '</span>' '<span>' . get_the_title() . '</span>'
); );
} }
@ -52,65 +57,64 @@ if ( post_password_required() ) {
</h2><!-- .comments-title --> </h2><!-- .comments-title -->
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through. ?> <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through. ?>
<nav class="comment-navigation" id="comment-nav-above"> <nav class="comment-navigation" id="comment-nav-above">
<h1 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1> <h1 class="sr-only"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<?php if ( get_previous_comments_link() ) { ?> <?php if ( get_previous_comments_link() ) { ?>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', <div class="nav-previous">
'understrap' ) ); ?></div> <?php previous_comments_link( __( '&larr; Older Comments', 'understrap' ) ); ?>
<?php } </div>
if ( get_next_comments_link() ) { ?> <?php } ?>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;',
'understrap' ) ); ?></div> <?php if ( get_next_comments_link() ) { ?>
<div class="nav-next">
<?php next_comments_link( __( 'Newer Comments &rarr;', 'understrap' ) ); ?>
</div>
<?php } ?> <?php } ?>
</nav><!-- #comment-nav-above --> </nav><!-- #comment-nav-above -->
<?php endif; // check for comment navigation. ?> <?php endif; // Check for comment navigation. ?>
<ol class="comment-list"> <ol class="comment-list">
<?php <?php
wp_list_comments( array( wp_list_comments(
array(
'style' => 'ol', 'style' => 'ol',
'short_ping' => true, 'short_ping' => true,
) ); )
);
?> ?>
</ol><!-- .comment-list --> </ol><!-- .comment-list -->
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through. ?> <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through. ?>
<nav class="comment-navigation" id="comment-nav-below"> <nav class="comment-navigation" id="comment-nav-below">
<h1 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1> <h1 class="sr-only"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<?php if ( get_previous_comments_link() ) { ?> <?php if ( get_previous_comments_link() ) { ?>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', <div class="nav-previous">
'understrap' ) ); ?></div> <?php previous_comments_link( __( '&larr; Older Comments', 'understrap' ) ); ?>
<?php } </div>
if ( get_next_comments_link() ) { ?> <?php } ?>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;',
'understrap' ) ); ?></div> <?php if ( get_next_comments_link() ) { ?>
<div class="nav-next">
<?php next_comments_link( __( 'Newer Comments &rarr;', 'understrap' ) ); ?>
</div>
<?php } ?> <?php } ?>
</nav><!-- #comment-nav-below --> </nav><!-- #comment-nav-below -->
<?php endif; // check for comment navigation. ?> <?php endif; // Check for comment navigation. ?>
<?php endif; // endif have_comments(). ?> <?php endif; // End of if have_comments(). ?>
<?php
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() && '0' != get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) :
?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'understrap' ); ?></p>
<?php endif; ?>
<?php comment_form(); // Render comments form. ?> <?php comment_form(); // Render comments form. ?>

View File

@ -1,10 +1,30 @@
{ {
"name": "holger1411/understrap", "name": "understrap/understrap",
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4", "description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
"type": "wordpress-theme", "type": "wordpress-theme",
"license": "GPL-2.0", "license": "GPL-2.0",
"minimum-stability": "stable", "minimum-stability": "stable",
"require": {"composer/installers": "^1.5"}, "keywords": [
"keywords": ["wordpress","theme","bootstrap"], "wordpress",
"homepage": "https://github.com/holger1411/understrap" "theme",
"bootstrap"
],
"homepage": "https://github.com/understrap/understrap",
"require": {
"composer/installers": "^1.9",
"php": ">=5.6"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.6",
"roave/security-advisories": "dev-master",
"wptrt/wpthemereview": "^0.2"
},
"scripts": {
"check-cs": ["@php ./vendor/squizlabs/php_codesniffer/bin/phpcs -w"],
"fix-cs": ["@php ./vendor/squizlabs/php_codesniffer/bin/phpcbf"]
},
"support": {
"issues": "https://github.com/understrap/understrap/issues",
"source": "https://github.com/understrap/understrap"
}
} }

807
composer.lock generated Normal file
View File

@ -0,0 +1,807 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ad43b10fb1995d73959eae985e5b630c",
"packages": [
{
"name": "composer/installers",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/composer/installers.git",
"reference": "b93bcf0fa1fccb0b7d176b0967d969691cd74cca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/installers/zipball/b93bcf0fa1fccb0b7d176b0967d969691cd74cca",
"reference": "b93bcf0fa1fccb0b7d176b0967d969691cd74cca",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0 || ^2.0"
},
"replace": {
"roundcube/plugin-installer": "*",
"shama/baton": "*"
},
"require-dev": {
"composer/composer": "1.6.* || 2.0.*@dev",
"composer/semver": "1.0.* || 2.0.*@dev",
"phpunit/phpunit": "^4.8.36",
"sebastian/comparator": "^1.2.4",
"symfony/process": "^2.3"
},
"type": "composer-plugin",
"extra": {
"class": "Composer\\Installers\\Plugin",
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Installers\\": "src/Composer/Installers"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kyle Robinson Young",
"email": "kyle@dontkry.com",
"homepage": "https://github.com/shama"
}
],
"description": "A multi-framework Composer library installer",
"homepage": "https://composer.github.io/installers/",
"keywords": [
"Craft",
"Dolibarr",
"Eliasis",
"Hurad",
"ImageCMS",
"Kanboard",
"Lan Management System",
"MODX Evo",
"MantisBT",
"Mautic",
"Maya",
"OXID",
"Plentymarkets",
"Porto",
"RadPHP",
"SMF",
"Thelia",
"Whmcs",
"WolfCMS",
"agl",
"aimeos",
"annotatecms",
"attogram",
"bitrix",
"cakephp",
"chef",
"cockpit",
"codeigniter",
"concrete5",
"croogo",
"dokuwiki",
"drupal",
"eZ Platform",
"elgg",
"expressionengine",
"fuelphp",
"grav",
"installer",
"itop",
"joomla",
"known",
"kohana",
"laravel",
"lavalite",
"lithium",
"magento",
"majima",
"mako",
"mediawiki",
"modulework",
"modx",
"moodle",
"osclass",
"phpbb",
"piwik",
"ppi",
"puppet",
"pxcms",
"reindex",
"roundcube",
"shopware",
"silverstripe",
"sydes",
"sylius",
"symfony",
"typo3",
"wordpress",
"yawik",
"zend",
"zikula"
],
"time": "2020-04-07T06:57:05+00:00"
}
],
"packages-dev": [
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
"version": "v0.6.2",
"source": {
"type": "git",
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
"reference": "8001af8eb107fbfcedc31a8b51e20b07d85b457a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/8001af8eb107fbfcedc31a8b51e20b07d85b457a",
"reference": "8001af8eb107fbfcedc31a8b51e20b07d85b457a",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0",
"php": "^5.3|^7",
"squizlabs/php_codesniffer": "^2|^3"
},
"require-dev": {
"composer/composer": "*",
"phpcompatibility/php-compatibility": "^9.0",
"sensiolabs/security-checker": "^4.1.0"
},
"type": "composer-plugin",
"extra": {
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
},
"autoload": {
"psr-4": {
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Franck Nijhof",
"email": "franck.nijhof@dealerdirect.com",
"homepage": "http://www.frenck.nl",
"role": "Developer / IT Manager"
}
],
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
"homepage": "http://www.dealerdirect.com",
"keywords": [
"PHPCodeSniffer",
"PHP_CodeSniffer",
"code quality",
"codesniffer",
"composer",
"installer",
"phpcs",
"plugin",
"qa",
"quality",
"standard",
"standards",
"style guide",
"stylecheck",
"tests"
],
"time": "2020-01-29T20:22:20+00:00"
},
{
"name": "phpcompatibility/php-compatibility",
"version": "9.3.5",
"source": {
"type": "git",
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
"reference": "9fb324479acf6f39452e0655d2429cc0d3914243"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243",
"reference": "9fb324479acf6f39452e0655d2429cc0d3914243",
"shasum": ""
},
"require": {
"php": ">=5.3",
"squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
},
"conflict": {
"squizlabs/php_codesniffer": "2.6.2"
},
"require-dev": {
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
},
"suggest": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0-or-later"
],
"authors": [
{
"name": "Wim Godden",
"homepage": "https://github.com/wimg",
"role": "lead"
},
{
"name": "Juliette Reinders Folmer",
"homepage": "https://github.com/jrfnl",
"role": "lead"
},
{
"name": "Contributors",
"homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
}
],
"description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
"homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
"keywords": [
"compatibility",
"phpcs",
"standards"
],
"time": "2019-12-27T09:44:58+00:00"
},
{
"name": "phpcompatibility/phpcompatibility-paragonie",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
"reference": "b862bc32f7e860d0b164b199bd995e690b4b191c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/b862bc32f7e860d0b164b199bd995e690b4b191c",
"reference": "b862bc32f7e860d0b164b199bd995e690b4b191c",
"shasum": ""
},
"require": {
"phpcompatibility/php-compatibility": "^9.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5",
"paragonie/random_compat": "dev-master",
"paragonie/sodium_compat": "dev-master"
},
"suggest": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0-or-later"
],
"authors": [
{
"name": "Wim Godden",
"role": "lead"
},
{
"name": "Juliette Reinders Folmer",
"role": "lead"
}
],
"description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
"homepage": "http://phpcompatibility.com/",
"keywords": [
"compatibility",
"paragonie",
"phpcs",
"polyfill",
"standards"
],
"time": "2019-11-04T15:17:54+00:00"
},
{
"name": "phpcompatibility/phpcompatibility-wp",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
"reference": "41bef18ba688af638b7310666db28e1ea9158b2f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/41bef18ba688af638b7310666db28e1ea9158b2f",
"reference": "41bef18ba688af638b7310666db28e1ea9158b2f",
"shasum": ""
},
"require": {
"phpcompatibility/php-compatibility": "^9.0",
"phpcompatibility/phpcompatibility-paragonie": "^1.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5"
},
"suggest": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0-or-later"
],
"authors": [
{
"name": "Wim Godden",
"role": "lead"
},
{
"name": "Juliette Reinders Folmer",
"role": "lead"
}
],
"description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
"homepage": "http://phpcompatibility.com/",
"keywords": [
"compatibility",
"phpcs",
"standards",
"wordpress"
],
"time": "2019-08-28T14:22:28+00:00"
},
{
"name": "roave/security-advisories",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "09afa996c68c18f49e6487b06adcb2ef27da61fa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/09afa996c68c18f49e6487b06adcb2ef27da61fa",
"reference": "09afa996c68c18f49e6487b06adcb2ef27da61fa",
"shasum": ""
},
"conflict": {
"3f/pygmentize": "<1.2",
"adodb/adodb-php": "<5.20.12",
"alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
"amphp/artax": "<1.0.6|>=2,<2.0.6",
"amphp/http": "<1.0.1",
"api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6",
"asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
"aws/aws-sdk-php": ">=3,<3.2.1",
"bagisto/bagisto": "<0.1.5",
"bolt/bolt": "<3.6.10",
"brightlocal/phpwhois": "<=4.2.5",
"buddypress/buddypress": "<5.1.2",
"bugsnag/bugsnag-laravel": ">=2,<2.0.2",
"cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7",
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
"cartalyst/sentry": "<=2.1.6",
"centreon/centreon": "<18.10.8|>=19,<19.4.5",
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"codeigniter/framework": "<=3.0.6",
"composer/composer": "<=1-alpha.11",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/core": ">=2,<3.5.39",
"contao/core-bundle": ">=4,<4.4.46|>=4.5,<4.8.6",
"contao/listing-bundle": ">=4,<4.4.8",
"datadog/dd-trace": ">=0.30,<0.30.2",
"david-garcia/phpwhois": "<=4.3.1",
"doctrine/annotations": ">=1,<1.2.7",
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
"doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1",
"doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2",
"doctrine/doctrine-bundle": "<1.5.2",
"doctrine/doctrine-module": "<=0.7.1",
"doctrine/mongodb-odm": ">=1,<1.0.2",
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
"dolibarr/dolibarr": "<=10.0.6",
"dompdf/dompdf": ">=0.6,<0.6.2",
"drupal/core": ">=7,<7.69|>=8,<8.7.12|>=8.8,<8.8.4",
"drupal/drupal": ">=7,<7.69|>=8,<8.7.12|>=8.8,<8.8.4",
"endroid/qr-code-bundle": "<3.4.2",
"enshrined/svg-sanitize": "<0.13.1",
"erusev/parsedown": "<1.7.2",
"ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1",
"ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4",
"ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6",
"ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2",
"ezsystems/ezplatform-user": ">=1,<1.0.1",
"ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.14.1|>=6,<6.7.9.1|>=6.8,<6.13.6.2|>=7,<7.2.4.1|>=7.3,<7.3.2.1|>=7.5,<7.5.6.2",
"ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.1|>=2011,<2017.12.7.2|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.4.2",
"ezsystems/repository-forms": ">=2.3,<2.3.2.1",
"ezyang/htmlpurifier": "<4.1.1",
"firebase/php-jwt": "<2",
"fooman/tcpdf": "<6.2.22",
"fossar/tcpdf-parser": "<6.2.22",
"friendsofsymfony/oauth2-php": "<1.3",
"friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
"fuel/core": "<1.8.1",
"getgrav/grav": "<1.7-beta.8",
"gree/jose": "<=2.2",
"gregwar/rst": "<1.0.3",
"guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1",
"illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10",
"illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.42|>=5.6,<5.6.30",
"illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29",
"illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15",
"illuminate/view": ">=7,<7.1.2",
"ivankristianto/phpwhois": "<=4.3",
"james-heinrich/getid3": "<1.9.9",
"joomla/session": "<1.3.1",
"jsmitty12/phpwhois": "<5.1",
"kazist/phpwhois": "<=4.2.6",
"kreait/firebase-php": ">=3.2,<3.8.1",
"la-haute-societe/tcpdf": "<6.2.22",
"laravel/framework": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.42|>=5.6,<5.6.30|>=7,<7.1.2",
"laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
"league/commonmark": "<0.18.3",
"librenms/librenms": "<1.53",
"magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3",
"magento/magento1ce": "<1.9.4.3",
"magento/magento1ee": ">=1,<1.14.4.3",
"magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2",
"monolog/monolog": ">=1.8,<1.12",
"namshi/jose": "<2.2",
"onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
"openid/php-openid": "<2.3",
"oro/crm": ">=1.7,<1.7.4",
"oro/platform": ">=1.7,<1.7.4",
"padraic/humbug_get_contents": "<1.1.2",
"pagarme/pagarme-php": ">=0,<3",
"paragonie/random_compat": "<2",
"paypal/merchant-sdk-php": "<3.12",
"pear/archive_tar": "<1.4.4",
"phpfastcache/phpfastcache": ">=5,<5.0.13",
"phpmailer/phpmailer": ">=5,<5.2.27|>=6,<6.0.6",
"phpmyadmin/phpmyadmin": "<4.9.2",
"phpoffice/phpexcel": "<1.8.2",
"phpoffice/phpspreadsheet": "<1.8",
"phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3",
"phpwhois/phpwhois": "<=4.2.5",
"phpxmlrpc/extras": "<0.6.1",
"pimcore/pimcore": "<6.3",
"prestashop/autoupgrade": ">=4,<4.10.1",
"prestashop/gamification": "<2.3.2",
"prestashop/ps_facetedsearch": "<3.4.1",
"privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2",
"propel/propel": ">=2-alpha.1,<=2-alpha.7",
"propel/propel1": ">=1,<=1.7.1",
"pusher/pusher-php-server": "<2.2.1",
"robrichards/xmlseclibs": "<3.0.4",
"sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
"scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11",
"sensiolabs/connect": "<4.2.3",
"serluck/phpwhois": "<=4.2.6",
"shopware/shopware": "<5.3.7",
"silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1",
"silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2",
"silverstripe/cms": "<4.3.6|>=4.4,<4.4.4",
"silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1",
"silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
"silverstripe/framework": "<4.4.5|>=4.5,<4.5.2",
"silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2",
"silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1",
"silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4",
"silverstripe/subsites": ">=2,<2.1.1",
"silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1",
"silverstripe/userforms": "<3",
"simple-updates/phpwhois": "<=1",
"simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4",
"simplesamlphp/simplesamlphp": "<1.18.4",
"simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
"simplito/elliptic-php": "<1.0.6",
"slim/slim": "<2.6",
"smarty/smarty": "<3.1.33",
"socalnick/scn-social-auth": "<1.15.2",
"spoonity/tcpdf": "<6.2.22",
"squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1",
"ssddanbrown/bookstack": "<0.25.3",
"stormpath/sdk": ">=0,<9.9.99",
"studio-42/elfinder": "<2.1.49",
"swiftmailer/swiftmailer": ">=4,<5.4.5",
"sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
"sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
"sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
"sylius/resource-bundle": "<1.3.13|>=1.4,<1.4.6|>=1.5,<1.5.1|>=1.6,<1.6.3",
"sylius/sylius": "<1.3.16|>=1.4,<1.4.12|>=1.5,<1.5.9|>=1.6,<1.6.5",
"symbiote/silverstripe-multivaluefield": ">=3,<3.0.99",
"symbiote/silverstripe-versionedfiles": "<=2.0.3",
"symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8",
"symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4",
"symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1",
"symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7",
"symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8",
"symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/mime": ">=4.3,<4.3.8",
"symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/polyfill": ">=1,<1.10",
"symfony/polyfill-php55": ">=1,<1.10",
"symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/routing": ">=2,<2.0.19",
"symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7",
"symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
"symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7",
"symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
"symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
"symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7",
"symfony/serializer": ">=2,<2.0.11",
"symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7",
"symfony/translation": ">=2,<2.0.17",
"symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3",
"symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8",
"symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4",
"symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7",
"tecnickcom/tcpdf": "<6.2.22",
"thelia/backoffice-default-template": ">=2.1,<2.1.2",
"thelia/thelia": ">=2.1-beta.1,<2.1.3",
"theonedemon/phpwhois": "<=4.2.5",
"titon/framework": ">=0,<9.9.99",
"truckersmp/phpwhois": "<=4.3.1",
"twig/twig": "<1.38|>=2,<2.7",
"typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.30|>=9,<9.5.12|>=10,<10.2.1",
"typo3/cms-core": ">=8,<8.7.30|>=9,<9.5.12|>=10,<10.2.1",
"typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5",
"typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4",
"typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1",
"ua-parser/uap-php": "<3.8",
"usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2",
"verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4",
"wallabag/tcpdf": "<6.2.22",
"willdurand/js-translation-bundle": "<2.1.1",
"yii2mod/yii2-cms": "<1.9.2",
"yiisoft/yii": ">=1.1.14,<1.1.15",
"yiisoft/yii2": "<2.0.15",
"yiisoft/yii2-bootstrap": "<2.0.4",
"yiisoft/yii2-dev": "<2.0.15",
"yiisoft/yii2-elasticsearch": "<2.0.5",
"yiisoft/yii2-gii": "<2.0.4",
"yiisoft/yii2-jui": "<2.0.4",
"yiisoft/yii2-redis": "<2.0.8",
"yourls/yourls": "<1.7.4",
"zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
"zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2",
"zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2",
"zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5",
"zendframework/zend-developer-tools": ">=1.2.2,<1.2.3",
"zendframework/zend-diactoros": ">=1,<1.8.4",
"zendframework/zend-feed": ">=1,<2.10.3",
"zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1",
"zendframework/zend-http": ">=1,<2.8.1",
"zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6",
"zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3",
"zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2",
"zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1",
"zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4",
"zendframework/zend-validator": ">=2.3,<2.3.6",
"zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1",
"zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6",
"zendframework/zendframework": "<2.5.1",
"zendframework/zendframework1": "<1.12.20",
"zendframework/zendopenid": ">=2,<2.0.2",
"zendframework/zendxml": ">=1,<1.0.1",
"zetacomponents/mail": "<1.8.2",
"zf-commons/zfc-user": "<1.2.2",
"zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
"zfr/zfr-oauth2-server-module": "<0.1.2"
},
"type": "metapackage",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
"role": "maintainer"
},
{
"name": "Ilya Tribusean",
"email": "slash3b@gmail.com",
"role": "maintainer"
}
],
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
"time": "2020-04-15T04:56:51+00:00"
},
{
"name": "squizlabs/php_codesniffer",
"version": "3.5.5",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
"reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
"reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
"shasum": ""
},
"require": {
"ext-simplexml": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
"bin": [
"bin/phpcs",
"bin/phpcbf"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.x-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Greg Sherwood",
"role": "lead"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
"keywords": [
"phpcs",
"standards"
],
"time": "2020-04-17T01:09:41+00:00"
},
{
"name": "wp-coding-standards/wpcs",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
"reference": "b5a453203114cc2284b1a614c4953456fbe4f546"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/b5a453203114cc2284b1a614c4953456fbe4f546",
"reference": "b5a453203114cc2284b1a614c4953456fbe4f546",
"shasum": ""
},
"require": {
"php": ">=5.4",
"squizlabs/php_codesniffer": "^3.3.1"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || ^0.6",
"phpcompatibility/php-compatibility": "^9.0",
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
"suggest": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.6 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Contributors",
"homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
}
],
"description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
"keywords": [
"phpcs",
"standards",
"wordpress"
],
"time": "2020-02-04T02:52:06+00:00"
},
{
"name": "wptrt/wpthemereview",
"version": "0.2.1",
"source": {
"type": "git",
"url": "https://github.com/WPTRT/WPThemeReview.git",
"reference": "462e59020dad9399ed2fe8e61f2a21b5e206e420"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/WPTRT/WPThemeReview/zipball/462e59020dad9399ed2fe8e61f2a21b5e206e420",
"reference": "462e59020dad9399ed2fe8e61f2a21b5e206e420",
"shasum": ""
},
"require": {
"php": ">=5.4",
"phpcompatibility/phpcompatibility-wp": "^2.0",
"squizlabs/php_codesniffer": "^3.3.1",
"wp-coding-standards/wpcs": "^2.2.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
"phpcompatibility/php-compatibility": "^9.0",
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0",
"roave/security-advisories": "dev-master"
},
"suggest": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.5.0 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Theme Review Team",
"homepage": "https://make.wordpress.org/themes/handbook/",
"role": "Strategy and rule setting"
},
{
"name": "Ulrich Pogson",
"homepage": "https://github.com/grappler",
"role": "Lead developer"
},
{
"name": "Juliette Reinders Folmer",
"homepage": "https://github.com/jrfnl",
"role": "Lead developer"
},
{
"name": "Denis Žoljom",
"homepage": "https://github.com/dingo-d",
"role": "Plugin integration lead"
},
{
"name": "Contributors",
"homepage": "https://github.com/WPTRT/WPThemeReview/graphs/contributors"
}
],
"description": "PHP_CodeSniffer rules (sniffs) to verify theme compliance with the rules for theme hosting on wordpress.org",
"homepage": "https://make.wordpress.org/themes/handbook/review/",
"keywords": [
"phpcs",
"standards",
"themes",
"wordpress"
],
"time": "2019-11-17T20:05:55+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
"roave/security-advisories": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": ">=5.6"
},
"platform-dev": [],
"plugin-api-version": "1.1.0"
}

BIN
css/.DS_Store vendored

Binary file not shown.

File diff suppressed because one or more lines are too long

10
css/theme.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,15 @@
<?php <?php
/** /**
* The template for displaying the footer. * The template for displaying the footer
* *
* Contains the closing of the #content div and all content after * Contains the closing of the #content div and all content after
* *
* @package understrap * @package understrap
*/ */
$the_theme = wp_get_theme(); // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -25,18 +27,8 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="site-info"> <div class="site-info">
<a href="<?php echo esc_url( __( 'http://wordpress.org/','understrap' ) ); ?>"><?php printf( <?php understrap_site_info(); ?>
/* translators:*/
esc_html__( 'Proudly powered by %s', 'understrap' ),'WordPress' ); ?></a>
<span class="sep"> | </span>
<?php printf( // WPCS: XSS ok.
/* translators:*/
esc_html__( 'Theme: %1$s by %2$s.', 'understrap' ), $the_theme->get( 'Name' ), '<a href="'.esc_url( __('http://understrap.com', 'understrap')).'">understrap.com</a>' ); ?>
(<?php printf( // WPCS: XSS ok.
/* translators:*/
esc_html__( 'Version: %1$s', 'understrap' ), $the_theme->get( 'Version' ) ); ?>)
</div><!-- .site-info --> </div><!-- .site-info -->
</footer><!-- #colophon --> </footer><!-- #colophon -->

View File

@ -1,71 +1,31 @@
<?php <?php
/** /**
* Understrap functions and definitions * UnderStrap functions and definitions
* *
* @package understrap * @package understrap
*/ */
/** // Exit if accessed directly.
* Initialize theme default settings defined( 'ABSPATH' ) || exit;
*/
require get_template_directory() . '/inc/theme-settings.php';
/** $understrap_includes = array(
* Theme setup and custom theme supports. '/theme-settings.php', // Initialize theme default settings.
*/ '/setup.php', // Theme setup and custom theme supports.
require get_template_directory() . '/inc/setup.php'; '/widgets.php', // Register widget area.
'/enqueue.php', // Enqueue scripts and styles.
'/template-tags.php', // Custom template tags for this theme.
'/pagination.php', // Custom pagination for this theme.
'/hooks.php', // Custom hooks.
'/extras.php', // Custom functions that act independently of the theme templates.
'/customizer.php', // Customizer additions.
'/custom-comments.php', // Custom Comments file.
'/jetpack.php', // Load Jetpack compatibility file.
'/class-wp-bootstrap-navwalker.php', // Load custom WordPress nav walker. Trying to get deeper navigation? Check out: https://github.com/understrap/understrap/issues/567.
'/woocommerce.php', // Load WooCommerce functions.
'/editor.php', // Load Editor functions.
'/deprecated.php', // Load deprecated functions.
);
/** foreach ( $understrap_includes as $file ) {
* Register widget area. require_once get_template_directory() . '/inc' . $file;
*/ }
require get_template_directory() . '/inc/widgets.php';
/**
* Enqueue scripts and styles.
*/
require get_template_directory() . '/inc/enqueue.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Custom pagination for this theme.
*/
require get_template_directory() . '/inc/pagination.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';
/**
* Custom Comments file.
*/
require get_template_directory() . '/inc/custom-comments.php';
/**
* Load Jetpack compatibility file.
*/
require get_template_directory() . '/inc/jetpack.php';
/**
* Load custom WordPress nav walker.
*/
require get_template_directory() . '/inc/class-wp-bootstrap-navwalker.php';
/**
* Load WooCommerce functions.
*/
require get_template_directory() . '/inc/woocommerce.php';
/**
* Load Editor functions.
*/
require get_template_directory() . '/inc/editor.php';

Binary file not shown.

View File

@ -1,22 +1,25 @@
<?php <?php
/** /**
* Hero setup. * Hero setup
* *
* @package understrap * @package understrap
*/ */
?> // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
<?php if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) || is_active_sidebar( 'herocanvas' ) ) : ?> if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) || is_active_sidebar( 'herocanvas' ) ) :
?>
<div class="wrapper" id="wrapper-hero"> <div class="wrapper" id="wrapper-hero">
<?php get_template_part( 'sidebar-templates/sidebar', 'hero' ); ?> <?php
get_template_part( 'sidebar-templates/sidebar', 'hero' );
<?php get_template_part( 'sidebar-templates/sidebar', 'herocanvas' ); ?> get_template_part( 'sidebar-templates/sidebar', 'herocanvas' );
get_template_part( 'sidebar-templates/sidebar', 'statichero' );
<?php get_template_part( 'sidebar-templates/sidebar', 'statichero' ); ?> ?>
</div> </div>
<?php endif; ?> <?php
endif;

View File

@ -1,40 +1,18 @@
<?php <?php
/** /**
* Left sidebar check. * Left sidebar check
* *
* @package understrap * @package understrap
*/ */
?> // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
<?php
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' ); $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
if ( 'left' === $sidebar_pos || 'both' === $sidebar_pos ) {
get_template_part( 'sidebar-templates/sidebar', 'left' );
}
?> ?>
<?php if ( 'left' === $sidebar_pos || 'both' === $sidebar_pos ) : ?> <div class="col-md content-area" id="primary">
<?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?>
<?php endif; ?>
<?php
$html = '';
if ( 'right' === $sidebar_pos || 'left' === $sidebar_pos ) {
$html = '<div class="';
if ( ( is_active_sidebar( 'right-sidebar' ) && 'right' === $sidebar_pos ) || ( is_active_sidebar( 'left-sidebar' ) && 'left' === $sidebar_pos ) ) {
$html .= 'col-md-8 content-area" id="primary">';
} else {
$html .= 'col-md-12 content-area" id="primary">';
}
echo $html; // WPCS: XSS OK.
} elseif ( 'both' === $sidebar_pos ) {
$html = '<div class="';
if ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) {
$html .= 'col-md-6 content-area" id="primary">';
} elseif ( is_active_sidebar( 'right-sidebar' ) || is_active_sidebar( 'left-sidebar' ) ) {
$html .= 'col-md-8 content-area" id="primary">';
} else {
$html .= 'col-md-12 content-area" id="primary">';
}
echo $html; // WPCS: XSS OK.
} else {
echo '<div class="col-md-12 content-area" id="primary">';
}

View File

@ -1,17 +1,19 @@
<?php <?php
/** /**
* Right sidebar check. * Right sidebar check
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
</div><!-- #closing the primary container from /global-templates/left-sidebar-check.php --> </div><!-- #closing the primary container from /global-templates/left-sidebar-check.php -->
<?php $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' ); ?> <?php
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?> if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) {
get_template_part( 'sidebar-templates/sidebar', 'right' );
<?php get_template_part( 'sidebar-templates/sidebar', 'right' ); ?> }
<?php endif; ?>

View File

@ -1,21 +1,17 @@
{ {
"browserSyncOptions": { "browserSyncOptions": {
"proxy": "localhost/", "proxy": "localhost:8080/",
"notify": false "notify": false
}, },
"browserSyncWatchFiles" : [ "browserSyncWatchFiles": ["./css/*.min.css", "./js/*.min.js", "./**/*.php"],
"./css/*.min.css",
"./js/*.min.js",
"./**/*.php"
],
"paths": { "paths": {
"js": "./js", "js": "./js",
"css": "./css", "css": "./css",
"img": "./img", "img": "./img",
"imgsrc": "./src/img", "imgsrc": "./src/img",
"sass": "./sass", "sass": "./sass",
"node": "./node_modules/", "node": "./node_modules",
"bower": "./bower_components/", "composer": "./vendor",
"dev": "./src", "dev": "./src",
"dist": "./dist", "dist": "./dist",
"distprod": "./dist-product", "distprod": "./dist-product",

View File

@ -1,191 +1,324 @@
// Defining requirements // Defining requirements
var autoprefixer = require( 'autoprefixer' ), var gulp = require('gulp');
browserSync = require('browser-sync').create(), var plumber = require('gulp-plumber');
cleanCSS = require( 'gulp-clean-css' ), var sass = require('gulp-sass');
concat = require( 'gulp-concat' ), var babel = require('gulp-babel');
del = require( 'del' ), var postcss = require('gulp-postcss');
gulp = require( 'gulp' ), var touch = require('gulp-touch-fd');
imagemin = require( 'gulp-imagemin' ), var rename = require('gulp-rename');
postcss = require( 'gulp-postcss' ), var concat = require('gulp-concat');
rename = require( 'gulp-rename' ), var uglify = require('gulp-uglify');
replace = require( 'gulp-replace' ), var imagemin = require('gulp-imagemin');
sass = require( 'gulp-sass' ), var sourcemaps = require('gulp-sourcemaps');
sourcemaps = require( 'gulp-sourcemaps' ), var browserSync = require('browser-sync').create();
uglify = require( 'gulp-uglify' ), var del = require('del');
rev = require('gulp-rev'), var cleanCSS = require('gulp-clean-css');
revDel = require('rev-del'); var replace = require('gulp-replace');
var autoprefixer = require('autoprefixer');
// Configuration file to keep your code DRY // Configuration file to keep your code DRY
const cfg = require( './gulpconfig.json' ); var cfg = require('./gulpconfig.json');
const paths = cfg.paths; var paths = cfg.paths;
// Compile SCSS to CSS
function scss( ) {
return gulp.src( paths.sass + '/*.scss' )
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sass()).on('error', sass.logError)
.pipe(postcss([
autoprefixer()
]))
.pipe(sourcemaps.write(undefined, { sourceRoot: null }))
.pipe( gulp.dest( paths.css ) );
// Run:
// gulp sass
// Compiles SCSS files in CSS
gulp.task('sass', function () {
var stream = gulp
.src(paths.sass + '/*.scss')
.pipe(
plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
} }
})
exports.scss = scss; )
// Minify CSS
function minifycss( done ) {
gulp.src( paths.css + '/theme.css' )
.pipe(sourcemaps.init({ loadMaps: true })) .pipe(sourcemaps.init({ loadMaps: true }))
.pipe( cleanCSS( { compatibility: '*' } ) ) .pipe(sass({ errLogToConsole: true }))
.pipe(postcss([autoprefixer()]))
.pipe(sourcemaps.write(undefined, { sourceRoot: null }))
.pipe(gulp.dest(paths.css))
.pipe(touch());
return stream;
});
// Run:
// gulp watch
// Starts watcher. Watcher runs gulp sass task on changes
gulp.task('watch', function () {
gulp.watch([`${paths.sass}/**/*.scss`, `${paths.sass}/*.scss`], gulp.series('styles'));
gulp.watch(
[
`${paths.dev}/js/**/*.js`,
'js/**/*.js',
'!js/theme.js',
'!js/theme.min.js'
],
gulp.series('scripts')
);
//Inside the watch task.
gulp.watch(`${paths.imgsrc}/**`, gulp.series('imagemin-watch'));
});
// Run:
// gulp imagemin
// Running image optimizing task
gulp.task('imagemin', function () {
gulp
.src(`${paths.imgsrc}/**`)
.pipe(imagemin())
.pipe(gulp.dest(paths.img));
});
/**
* Ensures the 'imagemin' task is complete before reloading browsers
* @verbose
*/
gulp.task(
'imagemin-watch',
gulp.series('imagemin', function () {
browserSync.reload();
})
);
gulp.task('minifycss', function () {
return gulp
.src([
`${paths.css}/custom-editor-style.css`,
`${paths.css}/theme.css`,
])
.pipe(sourcemaps.init({
loadMaps: true
}))
.pipe(cleanCSS({
compatibility: '*'
}))
.pipe(
plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
})
)
.pipe(rename({ suffix: '.min' })) .pipe(rename({ suffix: '.min' }))
.pipe(sourcemaps.write('./')) .pipe(sourcemaps.write('./'))
.pipe(gulp.dest(paths.css)) .pipe(gulp.dest(paths.css))
.pipe(touch());
});
gulp.src( paths.css + '/custom-editor-style.css' ) /**
.pipe( sourcemaps.init( { loadMaps: true } ) ) * Delete minified CSS files and their maps
.pipe( cleanCSS( { compatibility: '*' } ) ) */
.pipe( rename( { suffix: '.min' } ) ) gulp.task('cleancss', function () {
.pipe( sourcemaps.write( './' ) ) return del(paths.css + '/*.min.css*');
.pipe( gulp.dest( paths.css ) ); });
done(); gulp.task('styles', function (callback) {
}; gulp.series('sass', 'minifycss')(callback);
});
exports.minifycss = minifycss; // Run:
// gulp browser-sync
// Starts browser-sync task for starting the server.
gulp.task('browser-sync', function () {
browserSync.init(cfg.browserSyncWatchFiles, cfg.browserSyncOptions);
});
// Concatinate scripts and minify them // Run:
function scripts( done ) { // gulp scripts.
// Uglifies and concat all JS files into one
gulp.task('scripts', function () {
var scripts = [ var scripts = [
// Start - All BS4 stuff
`${paths.dev}/js/bootstrap4/bootstrap.bundle.js`,
`${paths.dev}/js/themejs/*.js`,
paths.dev + '/js/bootstrap4/bootstrap.js', // End - All BS4 stuff
`${paths.dev}/js/skip-link-focus-fix.js`,
paths.dev + '/js/skip-link-focus-fix.js',
// Adding currently empty javascript file to add on for your own themes´ customizations // Adding currently empty javascript file to add on for your own themes´ customizations
// Please add any customizations to this .js file only! // Please add any customizations to this .js file only!
paths.dev + '/js/custom-javascript.js' `${paths.dev}/js/custom-javascript.js`
]; ];
gulp
gulp.src( scripts ) .src(scripts, { allowEmpty: true })
.pipe( concat( 'theme.js' ) ) .pipe(babel({ presets: ['@babel/preset-env'] }))
.pipe( gulp.dest( paths.js ) )
gulp.src( scripts )
.pipe(concat('theme.min.js')) .pipe(concat('theme.min.js'))
.pipe(uglify()) .pipe(uglify())
.pipe(gulp.dest(paths.js)); .pipe(gulp.dest(paths.js));
done(); return gulp
} .src(scripts, { allowEmpty: true })
.pipe(babel())
exports.scripts = scripts; .pipe(concat('theme.js'))
.pipe(gulp.dest(paths.js));
// Compress image assets
function imagemin() {
return gulp.src( paths.imgsrc + '/**' )
.pipe( imagemin() )
.pipe( gulp.dest( paths.img ) );
}
exports.imagemin = imagemin;
// Run:
// gulp copy-assets.
// Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update
////////////////// All Bootstrap SASS Assets /////////////////////////
gulp.task( 'copy-assets', function(done) {
////////////////// All Bootstrap 4 Assets /////////////////////////
// Copy all JS files
gulp.src( paths.node + 'bootstrap/dist/js/**/*.js' )
.pipe( gulp.dest( paths.dev + '/js/bootstrap4' ) );
// Copy all Bootstrap SCSS files
gulp.src( paths.node + 'bootstrap/scss/**/*.scss' )
.pipe( gulp.dest( paths.dev + '/sass/bootstrap4' ) );
////////////////// End Bootstrap 4 Assets /////////////////////////
// Copy all Font Awesome Fonts
gulp.src( paths.node + 'font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}' )
.pipe( gulp.dest( './fonts' ) );
// Copy all Font Awesome SCSS files
gulp.src( paths.node + 'font-awesome/scss/*.scss' )
.pipe( gulp.dest( paths.dev + '/sass/fontawesome' ) );
// _s SCSS files
gulp.src( paths.node + 'undescores-for-npm/sass/media/*.scss' )
.pipe( gulp.dest( paths.dev + '/sass/underscores' ) );
// _s JS files into /src/js
gulp.src( paths.node + 'undescores-for-npm/js/skip-link-focus-fix.js' )
.pipe( gulp.dest( paths.dev + '/js' ) );
// Copy Popper JS files
gulp.src( paths.node + 'popper.js/dist/umd/popper.min.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) );
gulp.src( paths.node + 'popper.js/dist/umd/popper.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) );
done();
}); });
// Deleting any file inside the /src folder // Deleting any file inside the /src folder
gulp.task('clean-source', function () { gulp.task('clean-source', function () {
return del( ['src/**/*', '!src'] ); return del(['src/**/*']);
});
// Run:
// gulp watch-bs
// Starts watcher with browser-sync. Browser-sync reloads page automatically on your browser
gulp.task('watch-bs', gulp.parallel('browser-sync', 'watch'));
// Run:
// gulp copy-assets.
// Copy all needed dependency assets files from node_modules to theme's /js, /scss and /fonts folder. Run this task after npm update
////////////////// All Bootstrap SASS Assets /////////////////////////
gulp.task('copy-assets', function (done) {
////////////////// All Bootstrap 4 Assets /////////////////////////
// Copy all JS files
var stream = gulp
.src(`${paths.node}/bootstrap/dist/js/**/*.js`)
.pipe(gulp.dest(`${paths.dev}/js/bootstrap4`));
// Copy all Bootstrap SCSS files
gulp
.src(`${paths.node}/bootstrap/scss/**/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/bootstrap4`));
////////////////// End Bootstrap 4 Assets /////////////////////////
// Copy all Font Awesome Fonts
gulp
.src(`${paths.node}/font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}`)
.pipe(gulp.dest('./fonts'));
// Copy all Font Awesome SCSS files
gulp
.src(`${paths.node}/font-awesome/scss/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/fontawesome`));
// _s SCSS files
gulp
.src(`${paths.node}/undescores-for-npm/sass/media/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/underscores`));
// _s JS files into /src/js
gulp
.src(`${paths.node}/undescores-for-npm/js/skip-link-focus-fix.js`)
.pipe(gulp.dest(`${paths.dev}/js`));
done();
});
// Deleting the files distributed by the copy-assets task
gulp.task('clean-vendor-assets', function () {
return del([
`${paths.dev}/js/bootstrap4/**`,
`${paths.dev}/sass/bootstrap4/**`,
'./fonts/*wesome*.{ttf,woff,woff2,eot,svg}',
`${paths.dev}/sass/fontawesome/**`,
`${paths.dev}/sass/underscores/**`,
`${paths.dev}/js/skip-link-focus-fix.js`,
`${paths.js}/**/skip-link-focus-fix.js`,
`${paths.js}/**/popper.min.js`,
`${paths.js}/**/popper.js`,
paths.vendor !== '' ? paths.js + paths.vendor + '/**' : ''
]);
}); });
// Deleting any file inside the /dist folder // Deleting any file inside the /dist folder
gulp.task('clean-dist', function () { gulp.task('clean-dist', function () {
return del( ['dist/**/*', '!dist'] ); return del([paths.dist + '/**']);
}); });
function revision( done ) {
// by default, gulp would pick `assets/css` as the base,
// so we need to set it explicitly:
gulp.src([paths.css + '/theme.min.css', paths.js + '/theme.min.js'], {base: './'})
.pipe(rev())
.pipe(gulp.dest('./')) // write rev'd assets to build dir
.pipe(rev.manifest())
.pipe(revDel({dest: './'}))
.pipe(gulp.dest('./')); // write manifest to build dir
done();
};
exports.revision = revision;
// Run // Run
// gulp dist // gulp dist
// Copies the files to the /dist folder for distribution as simple theme // Copies the files to the /dist folder for distribution as simple theme
gulp.task( 'dist', gulp.series( 'clean-dist', function(done) { gulp.task(
'dist',
gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dev, '!' + paths.dev + '/**', '!' + paths.dist, '!' + paths.dist + '/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '!' + paths.sass, '!' + paths.sass + '/**', '!readme.txt', '!readme.md', '!package.json', '!package-lock.json', '!gulpfile.js', '!gulpconfig.json', '!CHANGELOG.md', '!.travis.yml', '!jshintignore', '!codesniffer.ruleset.xml', 'rev-manifest.json', '*'], { 'buffer': false } ) gulp.series(['clean-dist'], function () {
.pipe( replace( '/js/jquery.slim.min.js', '/js' + paths.vendor + '/jquery.slim.min.js', { 'skipBinary': true } ) ) return gulp
.pipe( replace( '/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', { 'skipBinary': true } ) ) .src(
.pipe( gulp.dest( paths.dist ) ); [
done(); '**/*',
`!${paths.node}`,
})); `!${paths.node}/**`,
`!${paths.dev}`,
// BrowserSync reload helper function `!${paths.dev}/**`,
function reload( done ){ `!${paths.dist}`,
browserSync.reload(); `!${paths.dist}/**`,
done(); `!${paths.distprod}`,
} `!${paths.distprod}/**`,
`!${paths.sass}`,
// BrowserSync main task `!${paths.sass}/**`,
gulp.task( 'watch-bs', function( done ) { `!${paths.composer}`,
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions ); `!${paths.composer}/**`,
gulp.watch( paths.sass + '/**/*.scss', gulp.series(scss, minifycss, revision, reload) ); '!readme.txt',
gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], gulp.series( scripts, revision, reload ) ); '!README.md',
'!*.+(json|js|lock|xml)',
//Inside the watch task. '!CHANGELOG.md',
gulp.watch( paths.imgsrc + '/**', gulp.series( imagemin, reload ) ); ],
done(); { buffer: true }
)
.pipe(
replace(
'/js/jquery.slim.min.js',
'/js' + paths.vendor + '/jquery.slim.min.js',
{ skipBinary: true }
)
)
.pipe(
replace('/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', {
skipBinary: true
})
)
.pipe(
replace(
'/js/skip-link-focus-fix.js',
'/js' + paths.vendor + '/skip-link-focus-fix.js',
{ skipBinary: true }
)
)
.pipe(gulp.dest(paths.dist))
.pipe(touch());
})
);
// Deleting any file inside the /dist-product folder
gulp.task('clean-dist-product', function () {
return del([paths.distprod + '/**']);
}); });
// Run
// gulp dist-product
// Copies the files to the /dist-prod folder for distribution as theme with all assets
gulp.task(
'dist-product',
gulp.series(['clean-dist-product'], function () {
return gulp
.src([
'**/*',
`!${paths.node}`,
`!${paths.node}/**`,
`!${paths.composer}`,
`!${paths.composer}/**`,
`!${paths.dist}`,
`!${paths.dist}/**`,
`!${paths.distprod}`,
`!${paths.distprod}/**`,
])
.pipe(gulp.dest(paths.distprod))
.pipe(touch());
})
);
// Run
// gulp compile
// Compiles the styles and scripts and runs the dist task
gulp.task('compile', gulp.series('styles', 'scripts', 'dist'));
// Run:
// gulp
// Starts watcher (default task)
gulp.task('default', gulp.series('watch'));

View File

@ -1,40 +1,42 @@
<?php <?php
/** /**
* The header for our theme. * The header for our theme
* *
* Displays all of the <head> section and everything up till <div id="content"> * Displays all of the <head> section and everything up till <div id="content">
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html <?php language_attributes(); ?>> <html <?php language_attributes(); ?>>
<head> <head>
<meta charset="<?php bloginfo( 'charset' ); ?>"> <meta charset="<?php bloginfo( 'charset' ); ?>">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="<?php bloginfo( 'name' ); ?> - <?php bloginfo( 'description' ); ?>">
<link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?> <?php wp_head(); ?>
</head> </head>
<body <?php body_class(); ?>> <body <?php body_class(); ?> <?php understrap_body_attributes(); ?>>
<?php do_action( 'wp_body_open' ); ?>
<div class="hfeed site" id="page"> <div class="site" id="page">
<!-- ******************* The Navbar Area ******************* --> <!-- ******************* The Navbar Area ******************* -->
<div id="wrapper-navbar" itemscope itemtype="http://schema.org/WebSite"> <div id="wrapper-navbar">
<a class="skip-link screen-reader-text sr-only" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a> <a class="skip-link sr-only sr-only-focusable" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
<nav class="navbar navbar-expand-md navbar-dark bg-primary"> <nav id="main-nav" class="navbar fixed-top navbar-expand-md navbar-light bg-light" aria-labelledby="main-nav-label">
<?php if ( 'container' == $container ) : ?> <h2 id="main-nav-label" class="sr-only">
<?php esc_html_e( 'Main Navigation', 'understrap' ); ?>
</h2>
<?php if ( 'container' === $container ) : ?>
<div class="container"> <div class="container">
<?php endif; ?> <?php endif; ?>
@ -51,17 +53,20 @@ $container = get_theme_mod( 'understrap_container_type' );
<?php endif; ?> <?php endif; ?>
<?php
<?php } else { } else {
the_custom_logo(); the_custom_logo();
} ?><!-- end custom logo --> }
?>
<!-- end custom logo -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="<?php esc_attr_e( 'Toggle navigation', 'understrap' ); ?>">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<!-- The WordPress Menu goes here --> <!-- The WordPress Menu goes here -->
<?php wp_nav_menu( <?php
wp_nav_menu(
array( array(
'theme_location' => 'primary', 'theme_location' => 'primary',
'container_class' => 'collapse navbar-collapse', 'container_class' => 'collapse navbar-collapse',
@ -72,8 +77,9 @@ $container = get_theme_mod( 'understrap_container_type' );
'depth' => 2, 'depth' => 2,
'walker' => new Understrap_WP_Bootstrap_Navwalker(), 'walker' => new Understrap_WP_Bootstrap_Navwalker(),
) )
); ?> );
<?php if ( 'container' == $container ) : ?> ?>
<?php if ( 'container' === $container ) : ?>
</div><!-- .container --> </div><!-- .container -->
<?php endif; ?> <?php endif; ?>

BIN
inc/.DS_Store vendored

Binary file not shown.

View File

@ -5,6 +5,9 @@
* @package WP-Bootstrap-Navwalker * @package WP-Bootstrap-Navwalker
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/* /*
* Class Name: WP_Bootstrap_Navwalker * Class Name: WP_Bootstrap_Navwalker
* Plugin Name: WP Bootstrap Navwalker * Plugin Name: WP Bootstrap Navwalker
@ -179,9 +182,14 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
} }
$atts['target'] = ! empty( $item->target ) ? $item->target : ''; $atts['target'] = ! empty( $item->target ) ? $item->target : '';
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : ''; if ( '_blank' === $item->target && empty( $item->xfn ) ) { // Thanks to LukaszJaro, see https://github.com/understrap/understrap/issues/973.
$atts['rel'] = 'noopener noreferrer';
} else {
$atts['rel'] = $item->xfn;
}
// If item has_children add atts to <a>. // If item has_children add atts to <a>.
if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && $args->depth > 1 ) { if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && 1 !== $args->depth ) {
$atts['href'] = '#'; $atts['href'] = '#';
$atts['data-toggle'] = 'dropdown'; $atts['data-toggle'] = 'dropdown';
$atts['aria-haspopup'] = 'true'; $atts['aria-haspopup'] = 'true';
@ -198,6 +206,8 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
} }
} }
$atts['aria-current'] = $item->current ? 'page' : '';
// update atts of this item based on any custom linkmod classes. // update atts of this item based on any custom linkmod classes.
$atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes ); $atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes );
// Allow filtering of the $atts array before using it. // Allow filtering of the $atts array before using it.
@ -264,7 +274,7 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
*/ */
if ( in_array( 'sr-only', $linkmod_classes, true ) ) { if ( in_array( 'sr-only', $linkmod_classes, true ) ) {
$title = self::wrap_for_screen_reader( $title ); $title = self::wrap_for_screen_reader( $title );
$keys_to_unset = array_keys( $linkmod_classes, 'sr-only' ); $keys_to_unset = array_keys( $linkmod_classes, 'sr-only', true );
foreach ( $keys_to_unset as $k ) { foreach ( $keys_to_unset as $k ) {
unset( $linkmod_classes[ $k ] ); unset( $linkmod_classes[ $k ] );
} }
@ -371,7 +381,7 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
// if $args has 'echo' key and it's true echo, otherwise return. // if $args has 'echo' key and it's true echo, otherwise return.
if ( array_key_exists( 'echo', $args ) && $args['echo'] ) { if ( array_key_exists( 'echo', $args ) && $args['echo'] ) {
echo $fallback_output; // WPCS: XSS OK. echo $fallback_output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} else { } else {
return $fallback_output; return $fallback_output;
} }

View File

@ -1,65 +1,106 @@
<?php <?php
/** /**
* Comment layout. * Comment layout
* *
* @package understrap * @package understrap
*/ */
// Comments form. // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
// Add Bootstrap classes to comment form fields.
add_filter( 'comment_form_default_fields', 'understrap_bootstrap_comment_form_fields' ); add_filter( 'comment_form_default_fields', 'understrap_bootstrap_comment_form_fields' );
if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
/** /**
* Creates the comments form. * Add Bootstrap classes to WP's comment form default fields.
* *
* @param string $fields Form fields. * @param array $fields {
* Default comment fields.
*
* @type string $author Comment author field HTML.
* @type string $email Comment author email field HTML.
* @type string $url Comment author URL field HTML.
* @type string $cookies Comment cookie opt-in field HTML.
* }
* *
* @return array * @return array
*/ */
if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
function understrap_bootstrap_comment_form_fields( $fields ) { function understrap_bootstrap_comment_form_fields( $fields ) {
$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' ); $replace = array(
$aria_req = ( $req ? " aria-required='true'" : '' ); '<p class="' => '<div class="form-group ',
$html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0; '<input' => '<input class="form-control" ',
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"'; '</p>' => '</div>',
$fields = array(
'author' => '<div class="form-group comment-form-author"><label for="author">' . __( 'Name',
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input class="form-control" id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . '></div>',
'email' => '<div class="form-group comment-form-email"><label for="email">' . __( 'Email',
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input class="form-control" id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . '></div>',
'url' => '<div class="form-group comment-form-url"><label for="url">' . __( 'Website',
'understrap' ) . '</label> ' .
'<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>',
'cookies' => '<div class="form-group form-check comment-form-cookies-consent"><input class="form-check-input" id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /> ' .
'<label class="form-check-label" for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></div>',
); );
if ( isset( $fields['author'] ) ) {
$fields['author'] = strtr( $fields['author'], $replace );
}
if ( isset( $fields['email'] ) ) {
$fields['email'] = strtr( $fields['email'], $replace );
}
if ( isset( $fields['url'] ) ) {
$fields['url'] = strtr( $fields['url'], $replace );
}
$replace = array(
'<p class="' => '<div class="form-group form-check ',
'<input' => '<input class="form-check-input" ',
'<label' => '<label class="form-check-label" ',
'</p>' => '</div>',
);
if ( isset( $fields['cookies'] ) ) {
$fields['cookies'] = strtr( $fields['cookies'], $replace );
}
return $fields; return $fields;
} }
} // endif function_exists( 'understrap_bootstrap_comment_form_fields' ) } // End of if function_exists( 'understrap_bootstrap_comment_form_fields' )
// Add Bootstrap classes to comment form submit button and comment field.
add_filter( 'comment_form_defaults', 'understrap_bootstrap_comment_form' ); add_filter( 'comment_form_defaults', 'understrap_bootstrap_comment_form' );
/**
* Builds the form.
*
* @param string $args Arguments for form's fields.
*
* @return mixed
*/
if ( ! function_exists( 'understrap_bootstrap_comment_form' ) ) { if ( ! function_exists( 'understrap_bootstrap_comment_form' ) ) {
/**
* Adds Bootstrap classes to comment form submit button and comment field.
*
* @param string[] $args Comment form arguments and fields.
*
* @return string[]
*/
function understrap_bootstrap_comment_form( $args ) { function understrap_bootstrap_comment_form( $args ) {
$args['comment_field'] = '<div class="form-group comment-form-comment"> $replace = array(
<label for="comment">' . _x( 'Comment', 'noun', 'understrap' ) . ( ' <span class="required">*</span>' ) . '</label> '<p class="' => '<div class="form-group ',
<textarea class="form-control" id="comment" name="comment" aria-required="true" cols="45" rows="8"></textarea> '<textarea' => '<textarea class="form-control" ',
</div>'; '</p>' => '</div>',
$args['class_submit'] = 'btn btn-secondary'; // since WP 4.1. );
if ( isset( $args['comment_field'] ) ) {
$args['comment_field'] = strtr( $args['comment_field'], $replace );
}
if ( isset( $args['class_submit'] ) ) {
$args['class_submit'] = 'btn btn-secondary';
}
return $args; return $args;
} }
} // endif function_exists( 'understrap_bootstrap_comment_form' ) } // End of if function_exists( 'understrap_bootstrap_comment_form' ).
// Add note if comments are closed.
add_action( 'comment_form_comments_closed', 'understrap_comment_form_comments_closed' );
if ( ! function_exists( 'understrap_comment_form_comments_closed' ) ) {
/**
* Displays a note that comments are closed if comments are closed and there are comments.
*/
function understrap_comment_form_comments_closed() {
if ( get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) {
?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'understrap' ); ?></p>
<?php
}
}
} // End of if function_exists( 'understrap_comment_form_comments_closed' ).

View File

@ -1,13 +1,19 @@
<?php <?php
/** /**
* Custom header setup. * Custom header setup
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_action( 'after_setup_theme', 'understrap_custom_header_setup' ); add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
if ( ! function_exists( 'understrap_custom_header_setup' ) ) { if ( ! function_exists( 'understrap_custom_header_setup' ) ) {
/**
* Set up custom header feature.
*/
function understrap_custom_header_setup() { function understrap_custom_header_setup() {
/** /**
@ -27,19 +33,27 @@ if ( ! function_exists ( 'understrap_custom_header_setup' ) ) {
* @type string $flex-height Flex support for height of header. * @type string $flex-height Flex support for height of header.
* } * }
*/ */
add_theme_support( 'custom-header', apply_filters( 'understrap_custom_header_args', array( add_theme_support(
'custom-header',
apply_filters(
'understrap_custom_header_args',
array(
'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ), 'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
'width' => 2000, 'width' => 2000,
'height' => 1200, 'height' => 1200,
'flex-height' => true, 'flex-height' => true,
) ) ); )
)
);
register_default_headers( array( register_default_headers(
array(
'default-image' => array( 'default-image' => array(
'url' => '%s/img/header.jpg', 'url' => '%s/img/header.jpg',
'thumbnail_url' => '%s/img/header.jpg', 'thumbnail_url' => '%s/img/header.jpg',
'description' => __( 'Default Header Image', 'understrap' ), 'description' => __( 'Default Header Image', 'understrap' ),
), ),
) ); )
);
} }
} }

View File

@ -1,10 +1,13 @@
<?php <?php
/** /**
* Understrap Theme Customizer * UnderStrap Theme Customizer
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/** /**
* Add postMessage support for site title and description for the Theme Customizer. * Add postMessage support for site title and description for the Theme Customizer.
* *
@ -33,40 +36,53 @@ if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
function understrap_theme_customize_register( $wp_customize ) { function understrap_theme_customize_register( $wp_customize ) {
// Theme layout settings. // Theme layout settings.
$wp_customize->add_section( 'understrap_theme_layout_options', array( $wp_customize->add_section(
'understrap_theme_layout_options',
array(
'title' => __( 'Theme Layout Settings', 'understrap' ), 'title' => __( 'Theme Layout Settings', 'understrap' ),
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
'description' => __( 'Container width and sidebar defaults', 'understrap' ), 'description' => __( 'Container width and sidebar defaults', 'understrap' ),
'priority' => 160, 'priority' => apply_filters( 'understrap_theme_layout_options_priority', 160 ),
) ); )
);
//select sanitization function /**
* Select sanitization function
*
* @param string $input Slug to sanitize.
* @param WP_Customize_Setting $setting Setting instance.
* @return string Sanitized slug if it is a valid choice; otherwise, the setting default.
*/
function understrap_theme_slug_sanitize_select( $input, $setting ) { function understrap_theme_slug_sanitize_select( $input, $setting ) {
//input must be a slug: lowercase alphanumeric characters, dashes and underscores are allowed only // Ensure input is a slug (lowercase alphanumeric characters, dashes and underscores are allowed only).
$input = sanitize_key( $input ); $input = sanitize_key( $input );
//get the list of possible select options // Get the list of possible select options.
$choices = $setting->manager->get_control( $setting->id )->choices; $choices = $setting->manager->get_control( $setting->id )->choices;
//return input if valid or return default option // If the input is a valid key, return it; otherwise, return the default.
return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
} }
$wp_customize->add_setting( 'understrap_container_type', array( $wp_customize->add_setting(
'understrap_container_type',
array(
'default' => 'container', 'default' => 'container',
'type' => 'theme_mod', 'type' => 'theme_mod',
'sanitize_callback' => 'understrap_theme_slug_sanitize_select', 'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
) ); )
);
$wp_customize->add_control( $wp_customize->add_control(
new WP_Customize_Control( new WP_Customize_Control(
$wp_customize, $wp_customize,
'understrap_container_type', array( 'understrap_container_type',
array(
'label' => __( 'Container Width', 'understrap' ), 'label' => __( 'Container Width', 'understrap' ),
'description' => __( "Choose between Bootstrap's container and container-fluid", 'understrap' ), 'description' => __( 'Choose between Bootstrap\'s container and container-fluid', 'understrap' ),
'section' => 'understrap_theme_layout_options', 'section' => 'understrap_theme_layout_options',
'settings' => 'understrap_container_type', 'settings' => 'understrap_container_type',
'type' => 'select', 'type' => 'select',
@ -74,24 +90,31 @@ if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
'container' => __( 'Fixed width container', 'understrap' ), 'container' => __( 'Fixed width container', 'understrap' ),
'container-fluid' => __( 'Full width container', 'understrap' ), 'container-fluid' => __( 'Full width container', 'understrap' ),
), ),
'priority' => '10', 'priority' => apply_filters( 'understrap_container_type_priority', 10 ),
) )
) ); )
);
$wp_customize->add_setting( 'understrap_sidebar_position', array( $wp_customize->add_setting(
'understrap_sidebar_position',
array(
'default' => 'right', 'default' => 'right',
'type' => 'theme_mod', 'type' => 'theme_mod',
'sanitize_callback' => 'sanitize_text_field', 'sanitize_callback' => 'sanitize_text_field',
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
) ); )
);
$wp_customize->add_control( $wp_customize->add_control(
new WP_Customize_Control( new WP_Customize_Control(
$wp_customize, $wp_customize,
'understrap_sidebar_position', array( 'understrap_sidebar_position',
array(
'label' => __( 'Sidebar Positioning', 'understrap' ), 'label' => __( 'Sidebar Positioning', 'understrap' ),
'description' => __( "Set sidebar's default position. Can either be: right, left, both or none. Note: this can be overridden on individual pages.", 'description' => __(
'understrap' ), 'Set sidebar\'s default position. Can either be: right, left, both or none. Note: this can be overridden on individual pages.',
'understrap'
),
'section' => 'understrap_theme_layout_options', 'section' => 'understrap_theme_layout_options',
'settings' => 'understrap_sidebar_position', 'settings' => 'understrap_sidebar_position',
'type' => 'select', 'type' => 'select',
@ -102,11 +125,12 @@ if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
'both' => __( 'Left & Right sidebars', 'understrap' ), 'both' => __( 'Left & Right sidebars', 'understrap' ),
'none' => __( 'No sidebar', 'understrap' ), 'none' => __( 'No sidebar', 'understrap' ),
), ),
'priority' => '20', 'priority' => apply_filters( 'understrap_sidebar_position_priority', 20 ),
) )
) ); )
);
} }
} // endif function_exists( 'understrap_theme_customize_register' ). } // End of if function_exists( 'understrap_theme_customize_register' ).
add_action( 'customize_register', 'understrap_theme_customize_register' ); add_action( 'customize_register', 'understrap_theme_customize_register' );
/** /**
@ -117,8 +141,13 @@ if ( ! function_exists( 'understrap_customize_preview_js' ) ) {
* Setup JS integration for live previewing. * Setup JS integration for live previewing.
*/ */
function understrap_customize_preview_js() { function understrap_customize_preview_js() {
wp_enqueue_script( 'understrap_customizer', get_template_directory_uri() . '/js/customizer.js', wp_enqueue_script(
array( 'customize-preview' ), '20130508', true ); 'understrap_customizer',
get_template_directory_uri() . '/js/customizer.js',
array( 'customize-preview' ),
'20130508',
true
);
} }
} }
add_action( 'customize_preview_init', 'understrap_customize_preview_js' ); add_action( 'customize_preview_init', 'understrap_customize_preview_js' );

49
inc/deprecated.php Normal file
View File

@ -0,0 +1,49 @@
<?php
/**
* Rest in peace
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) {
/**
* Count number of widgets in a sidebar
* Used to add classes to widget areas so widgets can be displayed one, two, three or four per row
*
* @param int $sidebar_id The ID of the sidebar.
* @deprecated 0.8.9
*/
function understrap_slbd_count_widgets( $sidebar_id ) {
// If loading from front page, consult $_wp_sidebars_widgets rather than options
// to see if wp_convert_widget_settings() has made manipulations in memory.
global $_wp_sidebars_widgets;
if ( empty( $_wp_sidebars_widgets ) ) :
$_wp_sidebars_widgets = get_option( 'sidebars_widgets', array() ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
endif;
$sidebars_widgets_count = $_wp_sidebars_widgets;
if ( isset( $sidebars_widgets_count[ $sidebar_id ] ) ) :
$widget_count = count( $sidebars_widgets_count[ $sidebar_id ] );
$widget_classes = 'widget-count-' . count( $sidebars_widgets_count[ $sidebar_id ] );
if ( 0 == $widget_count % 4 || $widget_count > 6 ) : // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
// Four widgets per row if there are exactly four or more than six.
$widget_classes .= ' col-md-3';
elseif ( 6 == $widget_count ) : // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
// If two widgets are published.
$widget_classes .= ' col-md-2';
elseif ( $widget_count >= 3 ) :
// Three widgets per row if there's three or more widgets.
$widget_classes .= ' col-md-4';
elseif ( 2 == $widget_count ) : // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
// If two widgets are published.
$widget_classes .= ' col-md-6';
elseif ( 1 == $widget_count ) : // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
// If just on widget is active.
$widget_classes .= ' col-md-12';
endif;
return $widget_classes;
endif;
}
}

View File

@ -1,37 +1,48 @@
<?php <?php
/** /**
* Understrap modify editor * UnderStrap modify editor
* *
* @package understrap * @package understrap
*/ */
/** // Exit if accessed directly.
* Registers an editor stylesheet for the theme. defined( 'ABSPATH' ) || exit;
*/
add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' ); add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
if ( ! function_exists( 'understrap_wpdocs_theme_add_editor_styles' ) ) { if ( ! function_exists( 'understrap_wpdocs_theme_add_editor_styles' ) ) {
/**
* Registers an editor stylesheet for the theme.
*/
function understrap_wpdocs_theme_add_editor_styles() { function understrap_wpdocs_theme_add_editor_styles() {
add_editor_style( 'css/custom-editor-style.min.css' ); add_editor_style( 'css/custom-editor-style.min.css' );
} }
} }
// Add TinyMCE style formats.
add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' ); add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
if ( ! function_exists( 'understrap_tiny_mce_style_formats' ) ) { if ( ! function_exists( 'understrap_tiny_mce_style_formats' ) ) {
function understrap_tiny_mce_style_formats( $styles ) { /**
* Reveals TinyMCE's hidden Style dropdown.
array_unshift( $styles, 'styleselect' ); *
return $styles; * @param array $buttons Array of Tiny MCE's button ids.
* @return array
*/
function understrap_tiny_mce_style_formats( $buttons ) {
array_unshift( $buttons, 'styleselect' );
return $buttons;
} }
} }
add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' ); add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' );
if ( ! function_exists( 'understrap_tiny_mce_before_init' ) ) { if ( ! function_exists( 'understrap_tiny_mce_before_init' ) ) {
/**
* Adds style options to TinyMCE's Style dropdown.
*
* @param array $settings TinyMCE settings array.
* @return array
*/
function understrap_tiny_mce_before_init( $settings ) { function understrap_tiny_mce_before_init( $settings ) {
$style_formats = array( $style_formats = array(
@ -39,28 +50,28 @@ if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
'title' => 'Lead Paragraph', 'title' => 'Lead Paragraph',
'selector' => 'p', 'selector' => 'p',
'classes' => 'lead', 'classes' => 'lead',
'wrapper' => true 'wrapper' => true,
), ),
array( array(
'title' => 'Small', 'title' => 'Small',
'inline' => 'small' 'inline' => 'small',
), ),
array( array(
'title' => 'Blockquote', 'title' => 'Blockquote',
'block' => 'blockquote', 'block' => 'blockquote',
'classes' => 'blockquote', 'classes' => 'blockquote',
'wrapper' => true 'wrapper' => true,
), ),
array( array(
'title' => 'Blockquote Footer', 'title' => 'Blockquote Footer',
'block' => 'footer', 'block' => 'footer',
'classes' => 'blockquote-footer', 'classes' => 'blockquote-footer',
'wrapper' => true 'wrapper' => true,
), ),
array( array(
'title' => 'Cite', 'title' => 'Cite',
'inline' => 'cite' 'inline' => 'cite',
) ),
); );
if ( isset( $settings['style_formats'] ) ) { if ( isset( $settings['style_formats'] ) ) {
@ -68,7 +79,7 @@ if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
$style_formats = array_merge( $orig_style_formats, $style_formats ); $style_formats = array_merge( $orig_style_formats, $style_formats );
} }
$settings['style_formats'] = json_encode( $style_formats ); $settings['style_formats'] = wp_json_encode( $style_formats );
return $settings; return $settings;
} }
} }

View File

@ -1,25 +1,30 @@
<?php <?php
/** /**
* Understrap enqueue scripts * UnderStrap enqueue scripts
* *
* @package understrap * @package understrap
*/ */
/** // Exit if accessed directly.
* @param string $filename defined( 'ABSPATH' ) || exit;
* @return string
*/ function google_fonts() {
function asset_path($filename) { $google_fonts = apply_filters(
$manifest_path = get_stylesheet_directory() .'/rev-manifest.json'; 'storefront_google_font_families', array(
if ( file_exists($manifest_path ) ) { // 'source-sans-pro' => 'Source+Sans+Pro:400,300,300italic,400italic,600,700,900',
$manifest = json_decode( file_get_contents( $manifest_path ), TRUE ); 'montserrat' => 'Montserrat:400',
} else { 'roboto' => 'Roboto:300,400,600',
$manifest = []; )
} );
if ( array_key_exists( $filename, $manifest ) ) {
return $manifest[$filename]; $query_args = array(
} 'family' => implode( '|', $google_fonts ),
return $filename; 'subset' => rawurlencode( 'latin,latin-ext' ),
);
$fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
return $fonts_url;
} }
if ( ! function_exists( 'understrap_scripts' ) ) { if ( ! function_exists( 'understrap_scripts' ) ) {
@ -27,17 +32,23 @@ if ( ! function_exists( 'understrap_scripts' ) ) {
* Load theme's JavaScript and CSS sources. * Load theme's JavaScript and CSS sources.
*/ */
function understrap_scripts() { function understrap_scripts() {
// Get the theme data.
$the_theme = wp_get_theme();
$theme_version = $the_theme->get( 'Version' );
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null); $css_version = $theme_version . '.' . filemtime( get_template_directory() . '/css/theme.min.css' );
wp_enqueue_style( 'understrap-styles', get_template_directory_uri() . '/css/theme.min.css', array(), $css_version );
wp_enqueue_style( '_s-google-fonts', google_fonts(), array(), null );
wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), false, true);
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/' . asset_path('js/theme.min.js'), array(), null, true ); $js_version = $theme_version . '.' . filemtime( get_template_directory() . '/js/theme.min.js' );
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $js_version, true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' ); wp_enqueue_script( 'comment-reply' );
} }
} }
} // endif function_exists( 'understrap_scripts' ). } // End of if function_exists( 'understrap_scripts' ).
add_action( 'wp_enqueue_scripts', 'understrap_scripts' ); add_action( 'wp_enqueue_scripts', 'understrap_scripts' );

View File

@ -1,12 +1,15 @@
<?php <?php
/** /**
* Custom functions that act independently of the theme templates. * Custom functions that act independently of the theme templates
* *
* Eventually, some of the functionality here could be replaced by core features. * Eventually, some of the functionality here could be replaced by core features.
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_filter( 'body_class', 'understrap_body_classes' ); add_filter( 'body_class', 'understrap_body_classes' );
if ( ! function_exists( 'understrap_body_classes' ) ) { if ( ! function_exists( 'understrap_body_classes' ) ) {
@ -45,7 +48,7 @@ if ( ! function_exists( 'understrap_adjust_body_class' ) ) {
function understrap_adjust_body_class( $classes ) { function understrap_adjust_body_class( $classes ) {
foreach ( $classes as $key => $value ) { foreach ( $classes as $key => $value ) {
if ( 'tag' == $value ) { if ( 'tag' === $value ) {
unset( $classes[ $key ] ); unset( $classes[ $key ] );
} }
} }
@ -64,7 +67,7 @@ if ( ! function_exists( 'understrap_change_logo_class' ) ) {
* *
* @param string $html Markup. * @param string $html Markup.
* *
* @return mixed * @return string
*/ */
function understrap_change_logo_class( $html ) { function understrap_change_logo_class( $html ) {
@ -76,11 +79,10 @@ if ( ! function_exists( 'understrap_change_logo_class' ) ) {
} }
} }
if ( ! function_exists( 'understrap_post_nav' ) ) {
/** /**
* Display navigation to next/previous post when applicable. * Display navigation to next/previous post when applicable.
*/ */
if ( ! function_exists ( 'understrap_post_nav' ) ) {
function understrap_post_nav() { function understrap_post_nav() {
// Don't print empty markup if there's nowhere to navigate. // Don't print empty markup if there's nowhere to navigate.
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true ); $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
@ -91,10 +93,9 @@ if ( ! function_exists ( 'understrap_post_nav' ) ) {
} }
?> ?>
<nav class="container navigation post-navigation"> <nav class="container navigation post-navigation">
<h2 class="sr-only"><?php _e( 'Post navigation', 'understrap' ); ?></h2> <h2 class="sr-only"><?php esc_html_e( 'Post navigation', 'understrap' ); ?></h2>
<div class="row nav-links justify-content-between"> <div class="row nav-links justify-content-between">
<?php <?php
if ( get_previous_post_link() ) { if ( get_previous_post_link() ) {
previous_post_link( '<span class="nav-previous">%link</span>', _x( '<i class="fa fa-angle-left"></i>&nbsp;%title', 'Previous post link', 'understrap' ) ); previous_post_link( '<span class="nav-previous">%link</span>', _x( '<i class="fa fa-angle-left"></i>&nbsp;%title', 'Previous post link', 'understrap' ) );
} }
@ -104,7 +105,150 @@ if ( ! function_exists ( 'understrap_post_nav' ) ) {
?> ?>
</div><!-- .nav-links --> </div><!-- .nav-links -->
</nav><!-- .navigation --> </nav><!-- .navigation -->
<?php <?php
} }
} }
if ( ! function_exists( 'understrap_pingback' ) ) {
/**
* Add a pingback url auto-discovery header for single posts of any post type.
*/
function understrap_pingback() {
if ( is_singular() && pings_open() ) {
echo '<link rel="pingback" href="' . esc_url( get_bloginfo( 'pingback_url' ) ) . '">' . "\n";
}
}
}
add_action( 'wp_head', 'understrap_pingback' );
if ( ! function_exists( 'understrap_mobile_web_app_meta' ) ) {
/**
* Add mobile-web-app meta.
*/
function understrap_mobile_web_app_meta() {
echo '<meta name="mobile-web-app-capable" content="yes">' . "\n";
echo '<meta name="apple-mobile-web-app-capable" content="yes">' . "\n";
echo '<meta name="apple-mobile-web-app-title" content="' . esc_attr( get_bloginfo( 'name' ) ) . ' - ' . esc_attr( get_bloginfo( 'description' ) ) . '">' . "\n";
}
}
add_action( 'wp_head', 'understrap_mobile_web_app_meta' );
if ( ! function_exists( 'understrap_default_body_attributes' ) ) {
/**
* Adds schema markup to the body element.
*
* @param array $atts An associative array of attributes.
* @return array
*/
function understrap_default_body_attributes( $atts ) {
$atts['itemscope'] = '';
$atts['itemtype'] = 'http://schema.org/WebSite';
return $atts;
}
}
add_filter( 'understrap_body_attributes', 'understrap_default_body_attributes' );
// Escapes all occurances of 'the_archive_description'.
add_filter( 'get_the_archive_description', 'understrap_escape_the_archive_description' );
if ( ! function_exists( 'understrap_escape_the_archive_description' ) ) {
/**
* Escapes the description for an author or post type archive.
*
* @param string $description Archive description.
* @return string Maybe escaped $description.
*/
function understrap_escape_the_archive_description( $description ) {
if ( is_author() || is_post_type_archive() ) {
return wp_kses_post( $description );
} else {
/*
* All other descriptions are retrieved via term_description() which returns
* a sanitized description.
*/
return $description;
}
}
} // End of if function_exists( 'understrap_escape_the_archive_description' ).
// Escapes all occurances of 'the_title()' and 'get_the_title()'.
add_filter( 'the_title', 'understrap_kses_title' );
// Escapes all occurances of 'the_archive_title' and 'get_the_archive_title()'.
add_filter( 'get_the_archive_title', 'understrap_kses_title' );
if ( ! function_exists( 'understrap_kses_title' ) ) {
/**
* Sanitizes data for allowed HTML tags for post title.
*
* @param string $data Post title to filter.
* @return string Filtered post title with allowed HTML tags and attributes intact.
*/
function understrap_kses_title( $data ) {
// Tags not supported in HTML5 are not allowed.
$allowed_tags = array(
'abbr' => array(),
'aria-describedby' => true,
'aria-details' => true,
'aria-label' => true,
'aria-labelledby' => true,
'aria-hidden' => true,
'b' => array(),
'bdo' => array(
'dir' => true,
),
'blockquote' => array(
'cite' => true,
'lang' => true,
'xml:lang' => true,
),
'cite' => array(
'dir' => true,
'lang' => true,
),
'dfn' => array(),
'em' => array(),
'i' => array(
'aria-describedby' => true,
'aria-details' => true,
'aria-label' => true,
'aria-labelledby' => true,
'aria-hidden' => true,
'class' => true,
),
'code' => array(),
'del' => array(
'datetime' => true,
),
'ins' => array(
'datetime' => true,
'cite' => true,
),
'kbd' => array(),
'mark' => array(),
'pre' => array(
'width' => true,
),
'q' => array(
'cite' => true,
),
's' => array(),
'samp' => array(),
'span' => array(
'dir' => true,
'align' => true,
'lang' => true,
'xml:lang' => true,
),
'small' => array(),
'strong' => array(),
'sub' => array(),
'sup' => array(),
'u' => array(),
'var' => array(),
);
$allowed_tags = apply_filters( 'understrap_kses_title', $allowed_tags );
return wp_kses( $data, $allowed_tags );
}
} // End of if function_exists( 'understrap_kses_title' ).

51
inc/hooks.php Normal file
View File

@ -0,0 +1,51 @@
<?php
/**
* Custom hooks
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_site_info' ) ) {
/**
* Add site info hook to WP hook library.
*/
function understrap_site_info() {
do_action( 'understrap_site_info' );
}
}
add_action( 'understrap_site_info', 'understrap_add_site_info' );
if ( ! function_exists( 'understrap_add_site_info' ) ) {
/**
* Add site info content.
*/
function understrap_add_site_info() {
$the_theme = wp_get_theme();
$site_info = sprintf(
'<a href="%1$s">%2$s</a><span class="sep"> | </span>%3$s(%4$s)',
esc_url( __( 'http://wordpress.org/', 'understrap' ) ),
sprintf(
/* translators: WordPress */
esc_html__( 'Proudly powered by %s', 'understrap' ),
'WordPress'
),
sprintf( // WPCS: XSS ok.
/* translators: 1: Theme name, 2: Theme author */
esc_html__( 'Theme: %1$s by %2$s.', 'understrap' ),
$the_theme->get( 'Name' ),
'<a href="' . esc_url( __( 'http://understrap.com', 'understrap' ) ) . '">understrap.com</a>'
),
sprintf( // WPCS: XSS ok.
/* translators: Theme version */
esc_html__( 'Version: %1$s', 'understrap' ),
$the_theme->get( 'Version' )
)
);
echo apply_filters( 'understrap_site_info_content', $site_info ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}

View File

@ -7,39 +7,43 @@
* @package UnderStrap * @package UnderStrap
*/ */
/** // Exit if accessed directly.
* Jetpack setup function. defined( 'ABSPATH' ) || exit;
*
* See: https://jetpack.me/support/infinite-scroll/
* See: https://jetpack.me/support/responsive-videos/
*/
add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' ); add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
if ( ! function_exists( 'understrap_components_jetpack_setup' ) ) { if ( ! function_exists( 'understrap_components_jetpack_setup' ) ) {
/**
* Jetpack setup function.
*
* @link https://jetpack.me/support/infinite-scroll/
* @link https://jetpack.me/support/responsive-videos/
* @link https://jetpack.me/support/social-menu/
*/
function understrap_components_jetpack_setup() { function understrap_components_jetpack_setup() {
// Add theme support for Infinite Scroll. // Add theme support for Infinite Scroll.
add_theme_support( 'infinite-scroll', array( add_theme_support(
'infinite-scroll',
array(
'container' => 'main', 'container' => 'main',
'render' => 'components_infinite_scroll_render', 'render' => 'understrap_components_infinite_scroll_render',
'footer' => 'page', 'footer' => 'page',
) ); )
);
// Add theme support for Responsive Videos. // Add theme support for Responsive Videos.
add_theme_support( 'jetpack-responsive-videos' ); add_theme_support( 'jetpack-responsive-videos' );
// Add theme support for Social Menus // Add theme support for Social Menus.
add_theme_support( 'jetpack-social-menu' ); add_theme_support( 'jetpack-social-menu' );
} }
} }
if ( ! function_exists( 'understrap_components_infinite_scroll_render' ) ) {
/** /**
* Custom render function for Infinite Scroll. * Custom render function for Infinite Scroll.
*/ */
if ( ! function_exists ( 'understrap_components_infinite_scroll_render' ) ) {
function understrap_components_infinite_scroll_render() { function understrap_components_infinite_scroll_render() {
while ( have_posts() ) { while ( have_posts() ) {
the_post(); the_post();
@ -53,8 +57,13 @@ if ( ! function_exists ( 'understrap_components_infinite_scroll_render' ) ) {
} }
if ( ! function_exists( 'understrap_components_social_menu' ) ) { if ( ! function_exists( 'understrap_components_social_menu' ) ) {
/**
* Display Jetpack's social menu if available.
* Avoids fatal errors if Jetpack isnt activated.
*/
function understrap_components_social_menu() { function understrap_components_social_menu() {
if ( ! function_exists( 'jetpack_social_menu' ) ) { if ( ! function_exists( 'jetpack_social_menu' ) ) {
// Return early if social menu is not available.
return; return;
} else { } else {
jetpack_social_menu(); jetpack_social_menu();

View File

@ -1,45 +1,87 @@
<?php <?php
/** /**
* Pagination layout. * Pagination layout
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_pagination' ) ) { if ( ! function_exists( 'understrap_pagination' ) ) {
/**
* Displays the navigation to next/previous set of posts.
*
* @param string|array $args {
* (Optional) Array of arguments for generating paginated links for archives.
*
* @type string $base Base of the paginated url. Default empty.
* @type string $format Format for the pagination structure. Default empty.
* @type int $total The total amount of pages. Default is the value WP_Query's
* `max_num_pages` or 1.
* @type int $current The current page number. Default is 'paged' query var or 1.
* @type string $aria_current The value for the aria-current attribute. Possible values are 'page',
* 'step', 'location', 'date', 'time', 'true', 'false'. Default is 'page'.
* @type bool $show_all Whether to show all pages. Default false.
* @type int $end_size How many numbers on either the start and the end list edges.
* Default 1.
* @type int $mid_size How many numbers to either side of the current pages. Default 2.
* @type bool $prev_next Whether to include the previous and next links in the list. Default true.
* @type bool $prev_text The previous page text. Default '&laquo;'.
* @type bool $next_text The next page text. Default '&raquo;'.
* @type string $type Controls format of the returned value. Possible values are 'plain',
* 'array' and 'list'. Default is 'array'.
* @type array $add_args An array of query args to add. Default false.
* @type string $add_fragment A string to append to each link. Default empty.
* @type string $before_page_number A string to appear before the page number. Default empty.
* @type string $after_page_number A string to append after the page number. Default empty.
* @type string $screen_reader_text Screen reader text for the nav element. Default 'Posts navigation'.
* }
* @param string $class (Optional) Classes to be added to the <ul> element. Default 'pagination'.
*/
function understrap_pagination( $args = array(), $class = 'pagination' ) {
function understrap_pagination($args = [], $class = 'pagination') { if ( ! isset( $args['total'] ) && $GLOBALS['wp_query']->max_num_pages <= 1 ) {
return;
}
if ($GLOBALS['wp_query']->max_num_pages <= 1) return; $args = wp_parse_args(
$args,
$args = wp_parse_args( $args, [ array(
'mid_size' => 2, 'mid_size' => 2,
'prev_next' => true, 'prev_next' => true,
'prev_text' => __( '&laquo;', 'understrap' ), 'prev_text' => __( '&laquo;', 'understrap' ),
'next_text' => __( '&raquo;', 'understrap' ), 'next_text' => __( '&raquo;', 'understrap' ),
'screen_reader_text' => __('Posts navigation', 'understrap'),
'type' => 'array', 'type' => 'array',
'current' => max( 1, get_query_var( 'paged' ) ), 'current' => max( 1, get_query_var( 'paged' ) ),
]); 'screen_reader_text' => __( 'Posts navigation', 'understrap' ),
)
);
$links = paginate_links( $args ); $links = paginate_links( $args );
if ( ! $links ) {
return;
}
?> ?>
<nav aria-label="<?php echo $args['screen_reader_text']; ?>"> <nav aria-labelledby="posts-nav-label">
<ul class="pagination"> <h2 id="posts-nav-label" class="sr-only">
<?php echo esc_html( $args['screen_reader_text'] ); ?>
</h2>
<ul class="<?php echo esc_attr( $class ); ?>">
<?php <?php
foreach ( $links as $key => $link ) {
foreach ( $links as $key => $link ) { ?> ?>
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : ''; ?>">
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : '' ?>"> <?php echo str_replace( 'page-numbers', 'page-link', $link ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
</li> </li>
<?php
<?php } ?> }
?>
</ul> </ul>
@ -48,5 +90,3 @@ if ( ! function_exists ( 'understrap_pagination' ) ) {
<?php <?php
} }
} }
?>

View File

@ -1,10 +1,12 @@
<?php <?php
/** /**
* Theme basic setup. * Theme basic setup
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
// Set the content width based on the theme's design and stylesheet. // Set the content width based on the theme's design and stylesheet.
if ( ! isset( $content_width ) ) { if ( ! isset( $content_width ) ) {
@ -42,21 +44,28 @@ if ( ! function_exists ( 'understrap_setup' ) ) {
add_theme_support( 'title-tag' ); add_theme_support( 'title-tag' );
// This theme uses wp_nav_menu() in one location. // This theme uses wp_nav_menu() in one location.
register_nav_menus( array( register_nav_menus(
array(
'primary' => __( 'Primary Menu', 'understrap' ), 'primary' => __( 'Primary Menu', 'understrap' ),
) ); )
);
/* /*
* Switch default core markup for search form, comment form, and comments * Switch default core markup for search form, comment form, and comments
* to output valid HTML5. * to output valid HTML5.
*/ */
add_theme_support( 'html5', array( add_theme_support(
'html5',
array(
'search-form', 'search-form',
'comment-form', 'comment-form',
'comment-list', 'comment-list',
'gallery', 'gallery',
'caption', 'caption',
) ); 'script',
'style',
)
);
/* /*
* Adding Thumbnail basic support * Adding Thumbnail basic support
@ -72,23 +81,35 @@ if ( ! function_exists ( 'understrap_setup' ) ) {
* Enable support for Post Formats. * Enable support for Post Formats.
* See http://codex.wordpress.org/Post_Formats * See http://codex.wordpress.org/Post_Formats
*/ */
add_theme_support( 'post-formats', array( add_theme_support(
'post-formats',
array(
'aside', 'aside',
'image', 'image',
'video', 'video',
'quote', 'quote',
'link', 'link',
) ); )
);
// Set up the WordPress core custom background feature. // Set up the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'understrap_custom_background_args', array( add_theme_support(
'custom-background',
apply_filters(
'understrap_custom_background_args',
array(
'default-color' => 'ffffff', 'default-color' => 'ffffff',
'default-image' => '', 'default-image' => '',
) ) ); )
)
);
// Set up the WordPress Theme logo feature. // Set up the WordPress Theme logo feature.
add_theme_support( 'custom-logo' ); add_theme_support( 'custom-logo' );
// Add support for responsive embedded content.
add_theme_support( 'responsive-embeds' );
// Check and setup theme default settings. // Check and setup theme default settings.
understrap_setup_theme_default_settings(); understrap_setup_theme_default_settings();
@ -107,7 +128,10 @@ if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
* @return string * @return string
*/ */
function understrap_custom_excerpt_more( $more ) { function understrap_custom_excerpt_more( $more ) {
return ''; if ( ! is_admin() ) {
$more = '';
}
return $more;
} }
} }
@ -122,8 +146,12 @@ if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
* @return string * @return string
*/ */
function understrap_all_excerpts_get_more_link( $post_excerpt ) { function understrap_all_excerpts_get_more_link( $post_excerpt ) {
if ( ! is_admin() ) {
return $post_excerpt . ' [...]<p><a class="btn btn-secondary understrap-read-more-link" href="' . esc_url( get_permalink( get_the_ID() )) . '">' . __( 'Read More...', $post_excerpt = $post_excerpt . ' [...]<p><a class="btn btn-secondary understrap-read-more-link" href="' . esc_url( get_permalink( get_the_ID() ) ) . '">' . __(
'understrap' ) . '</a></p>'; 'Read More...',
'understrap'
) . '</a></p>';
}
return $post_excerpt;
} }
} }

View File

@ -1,57 +1,71 @@
<?php <?php
/** /**
* Custom template tags for this theme. * Custom template tags for this theme
* *
* Eventually, some of the functionality here could be replaced by core features. * Eventually, some of the functionality here could be replaced by core features.
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_posted_on' ) ) {
/** /**
* Prints HTML with meta information for the current post-date/time and author. * Prints HTML with meta information for the current post-date/time and author.
*/ */
if ( ! function_exists ( 'understrap_posted_on' ) ) {
function understrap_posted_on() { function understrap_posted_on() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>'; $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) { if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s"> (%4$s) </time>'; $time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s"> (%4$s) </time>';
} }
$time_string = sprintf( $time_string, $time_string = sprintf(
$time_string,
esc_attr( get_the_date( 'c' ) ), esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ), esc_html( get_the_date() ),
esc_attr( get_the_modified_date( 'c' ) ), esc_attr( get_the_modified_date( 'c' ) ),
esc_html( get_the_modified_date() ) esc_html( get_the_modified_date() )
); );
$posted_on = sprintf( $posted_on = apply_filters(
esc_html_x( 'Posted on %s', 'post date', 'understrap' ), 'understrap_posted_on',
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>' sprintf(
'<span class="posted-on">%1$s <a href="%2$s" rel="bookmark">%3$s</a></span>',
esc_html_x( 'Posted on', 'post date', 'understrap' ),
esc_url( get_permalink() ),
apply_filters( 'understrap_posted_on_time', $time_string )
)
); );
$byline = sprintf( $byline = apply_filters(
esc_html_x( 'by %s', 'post author', 'understrap' ), 'understrap_posted_by',
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>' sprintf(
'<span class="byline"> %1$s<span class="author vcard"> <a class="url fn n" href="%2$s">%3$s</a></span></span>',
$posted_on ? esc_html_x( 'by', 'post author', 'understrap' ) : esc_html_x( 'Posted by', 'post author', 'understrap' ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_html( get_the_author() )
)
); );
echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK. echo $posted_on . $byline; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} }
} }
if ( ! function_exists( 'understrap_entry_footer' ) ) {
/** /**
* Prints HTML with meta information for the categories, tags and comments. * Prints HTML with meta information for the categories, tags and comments.
*/ */
if ( ! function_exists ( 'understrap_entry_footer' ) ) {
function understrap_entry_footer() { function understrap_entry_footer() {
// Hide category and tag text for pages. // Hide category and tag text for pages.
if ( 'post' === get_post_type() ) { if ( 'post' === get_post_type() ) {
/* translators: used between list items, there is a space after the comma */ /* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) ); $categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) );
if ( $categories_list && understrap_categorized_blog() ) { if ( $categories_list && understrap_categorized_blog() ) {
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'understrap' ) . '</span>', $categories_list ); // WPCS: XSS OK. /* translators: %s: Categories of current post */
printf( '<span class="cat-links">' . esc_html__( 'Posted in %s', 'understrap' ) . '</span>', $categories_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} }
/* translators: used between list items, there is a space after the comma */ /* translators: used between list items, there is a space after the comma */
$tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) ); $tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) );
if ( $tags_list ) { if ( $tags_list ) {
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'understrap' ) . '</span>', $tags_list ); // WPCS: XSS OK. /* translators: %s: Tags of current post */
printf( '<span class="tags-links">' . esc_html__( 'Tagged %s', 'understrap' ) . '</span>', $tags_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} }
} }
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) { if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
@ -63,7 +77,7 @@ if ( ! function_exists ( 'understrap_entry_footer' ) ) {
sprintf( sprintf(
/* translators: %s: Name of current post */ /* translators: %s: Name of current post */
esc_html__( 'Edit %s', 'understrap' ), esc_html__( 'Edit %s', 'understrap' ),
the_title( '<span class="screen-reader-text">"', '"</span>', false ) the_title( '<span class="sr-only">"', '"</span>', false )
), ),
'<span class="edit-link">', '<span class="edit-link">',
'</span>' '</span>'
@ -71,44 +85,45 @@ if ( ! function_exists ( 'understrap_entry_footer' ) ) {
} }
} }
if ( ! function_exists( 'understrap_categorized_blog' ) ) {
/** /**
* Returns true if a blog has more than 1 category. * Returns true if a blog has more than 1 category.
* *
* @return bool * @return bool
*/ */
if ( ! function_exists ( 'understrap_categorized_blog' ) ) {
function understrap_categorized_blog() { function understrap_categorized_blog() {
if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) { $all_the_cool_cats = get_transient( 'understrap_categories' );
if ( false === $all_the_cool_cats ) {
// Create an array of all the categories that are attached to posts. // Create an array of all the categories that are attached to posts.
$all_the_cool_cats = get_categories( array( $all_the_cool_cats = get_categories(
array(
'fields' => 'ids', 'fields' => 'ids',
'hide_empty' => 1, 'hide_empty' => 1,
// We only need to know if there is more than one category. // We only need to know if there is more than one category.
'number' => 2, 'number' => 2,
) ); )
);
// Count the number of categories that are attached to the posts. // Count the number of categories that are attached to the posts.
$all_the_cool_cats = count( $all_the_cool_cats ); $all_the_cool_cats = count( $all_the_cool_cats );
set_transient( 'understrap_categories', $all_the_cool_cats ); set_transient( 'understrap_categories', $all_the_cool_cats );
} }
if ( $all_the_cool_cats > 1 ) { if ( $all_the_cool_cats > 1 ) {
// This blog has more than 1 category so components_categorized_blog should return true. // This blog has more than 1 category so understrap_categorized_blog should return true.
return true; return true;
} else { } else {
// This blog has only 1 category so components_categorized_blog should return false. // This blog has only 1 category so understrap_categorized_blog should return false.
return false; return false;
} }
} }
} }
/**
* Flush out the transients used in understrap_categorized_blog.
*/
add_action( 'edit_category', 'understrap_category_transient_flusher' ); add_action( 'edit_category', 'understrap_category_transient_flusher' );
add_action( 'save_post', 'understrap_category_transient_flusher' ); add_action( 'save_post', 'understrap_category_transient_flusher' );
if ( ! function_exists( 'understrap_category_transient_flusher' ) ) { if ( ! function_exists( 'understrap_category_transient_flusher' ) ) {
/**
* Flush out the transients used in understrap_categorized_blog.
*/
function understrap_category_transient_flusher() { function understrap_category_transient_flusher() {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return; return;
@ -117,3 +132,29 @@ if ( ! function_exists ( 'understrap_category_transient_flusher' ) ) {
delete_transient( 'understrap_categories' ); delete_transient( 'understrap_categories' );
} }
} }
if ( ! function_exists( 'understrap_body_attributes' ) ) {
/**
* Displays the attributes for the body element.
*/
function understrap_body_attributes() {
/**
* Filters the body attributes.
*
* @param array $atts An associative array of attributes.
*/
$atts = array_unique( apply_filters( 'understrap_body_attributes', $atts = array() ) );
if ( ! is_array( $atts ) || empty( $atts ) ) {
return;
}
$attributes = '';
foreach ( $atts as $name => $value ) {
if ( $value ) {
$attributes .= sanitize_key( $name ) . '="' . esc_attr( $value ) . '" ';
} else {
$attributes .= sanitize_key( $name ) . ' ';
}
}
echo trim( $attributes ); // phpcs:ignore WordPress.Security.EscapeOutput
}
}

View File

@ -3,30 +3,45 @@
* Check and setup theme's default settings * Check and setup theme's default settings
* *
* @package understrap * @package understrap
*
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) { if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) {
/**
* Store default theme settings in database.
*/
function understrap_setup_theme_default_settings() { function understrap_setup_theme_default_settings() {
$defaults = understrap_get_theme_default_settings();
$settings = get_theme_mods();
foreach ( $defaults as $setting_id => $default_value ) {
// Check if setting is set, if not set it to its default value.
if ( ! isset( $settings[ $setting_id ] ) ) {
set_theme_mod( $setting_id, $default_value );
}
}
}
}
if ( ! function_exists( 'understrap_get_theme_default_settings' ) ) {
/**
* Retrieve default theme settings.
*
* @return array
*/
function understrap_get_theme_default_settings() {
$defaults = array(
'understrap_posts_index_style' => 'default', // Latest blog posts style.
'understrap_sidebar_position' => 'right', // Sidebar position.
'understrap_container_type' => 'container', // Container width.
);
// check if settings are set, if not set defaults. /**
// Caution: DO NOT check existence using === always check with == . * Filters the default theme settings.
// Latest blog posts style. *
$understrap_posts_index_style = get_theme_mod( 'understrap_posts_index_style' ); * @param array $defaults Array of default theme settings.
if ( '' == $understrap_posts_index_style ) { */
set_theme_mod( 'understrap_posts_index_style', 'default' ); return apply_filters( 'understrap_theme_default_settings', $defaults );
}
// Sidebar position.
$understrap_sidebar_position = get_theme_mod( 'understrap_sidebar_position' );
if ( '' == $understrap_sidebar_position ) {
set_theme_mod( 'understrap_sidebar_position', 'right' );
}
// Container width.
$understrap_container_type = get_theme_mod( 'understrap_container_type' );
if ( '' == $understrap_container_type ) {
set_theme_mod( 'understrap_container_type', 'container' );
}
} }
} }

View File

@ -5,45 +5,92 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/** /**
* Count number of widgets in a sidebar * Add filter to the parameters passed to a widget's display callback.
* Used to add classes to widget areas so widgets can be displayed one, two, three or four per row * The filter is evaluated on both the front and the back end!
*
* @link https://developer.wordpress.org/reference/hooks/dynamic_sidebar_params/
*/ */
if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) { add_filter( 'dynamic_sidebar_params', 'understrap_widget_classes' );
function understrap_slbd_count_widgets( $sidebar_id ) {
// If loading from front page, consult $_wp_sidebars_widgets rather than options
// to see if wp_convert_widget_settings() has made manipulations in memory.
global $_wp_sidebars_widgets;
if ( empty( $_wp_sidebars_widgets ) ) :
$_wp_sidebars_widgets = get_option( 'sidebars_widgets', array() );
endif;
$sidebars_widgets_count = $_wp_sidebars_widgets; if ( ! function_exists( 'understrap_widget_classes' ) ) {
if ( isset( $sidebars_widgets_count[ $sidebar_id ] ) ) : /**
* Count number of visible widgets in a sidebar and add classes to widgets accordingly,
* so widgets can be displayed one, two, three or four per row.
*
* @global array $sidebars_widgets
*
* @param array $params {
* Parameters passed to a widgets display callback.
*
* @type array $args {
* An array of widget display arguments.
*
* @type string $name Name of the sidebar the widget is assigned to.
* @type string $id ID of the sidebar the widget is assigned to.
* @type string $description The sidebar description.
* @type string $class CSS class applied to the sidebar container.
* @type string $before_widget HTML markup to prepend to each widget in the sidebar.
* @type string $after_widget HTML markup to append to each widget in the sidebar.
* @type string $before_title HTML markup to prepend to the widget title when displayed.
* @type string $after_title HTML markup to append to the widget title when displayed.
* @type string $widget_id ID of the widget.
* @type string $widget_name Name of the widget.
* }
* @type array $widget_args {
* An array of multi-widget arguments.
*
* @type int $number Number increment used for multiples of the same widget.
* }
* }
* @return array $params
*/
function understrap_widget_classes( $params ) {
global $sidebars_widgets;
/*
* When the corresponding filter is evaluated on the front end
* this takes into account that there might have been made other changes.
*/
$sidebars_widgets_count = apply_filters( 'sidebars_widgets', $sidebars_widgets );
// Only apply changes if sidebar ID is set and the widget's classes depend on the number of widgets in the sidebar.
if ( isset( $params[0]['id'] ) && strpos( $params[0]['before_widget'], 'dynamic-classes' ) ) {
$sidebar_id = $params[0]['id'];
$widget_count = count( $sidebars_widgets_count[ $sidebar_id ] ); $widget_count = count( $sidebars_widgets_count[ $sidebar_id ] );
$widget_classes = 'widget-count-' . count( $sidebars_widgets_count[ $sidebar_id ] );
if ( $widget_count % 4 == 0 || $widget_count > 6 ) : $widget_classes = 'widget-count-' . $widget_count;
// Four widgets per row if there are exactly four or more than six if ( 0 === $widget_count % 4 || $widget_count > 6 ) {
// Four widgets per row if there are exactly four or more than six.
$widget_classes .= ' col-md-3'; $widget_classes .= ' col-md-3';
elseif ( 6 == $widget_count ) : } elseif ( 6 === $widget_count ) {
// If two widgets are published // If two widgets are published.
$widget_classes .= ' col-md-2'; $widget_classes .= ' col-md-2';
elseif ( $widget_count >= 3 ) : } elseif ( $widget_count >= 3 ) {
// Three widgets per row if there's three or more widgets // Three widgets per row if there's three or more widgets.
$widget_classes .= ' col-md-4'; $widget_classes .= ' col-md-4';
elseif ( 2 == $widget_count ) : } elseif ( 2 === $widget_count ) {
// If two widgets are published // If two widgets are published.
$widget_classes .= ' col-md-6'; $widget_classes .= ' col-md-6';
elseif ( 1 == $widget_count ) : } elseif ( 1 === $widget_count ) {
// If just on widget is active // If just on widget is active.
$widget_classes .= ' col-md-12'; $widget_classes .= ' col-md-12';
endif;
return $widget_classes;
endif;
} }
// Replace the placeholder class 'dynamic-classes' with the classes stored in $widget_classes.
$params[0]['before_widget'] = str_replace( 'dynamic-classes', $widget_classes, $params[0]['before_widget'] );
} }
return $params;
}
} // End of if function_exists( 'understrap_widget_classes' ).
add_action( 'widgets_init', 'understrap_widgets_init' ); add_action( 'widgets_init', 'understrap_widgets_init' );
if ( ! function_exists( 'understrap_widgets_init' ) ) { if ( ! function_exists( 'understrap_widgets_init' ) ) {
@ -51,65 +98,77 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
* Initializes themes widgets. * Initializes themes widgets.
*/ */
function understrap_widgets_init() { function understrap_widgets_init() {
register_sidebar( array( register_sidebar(
array(
'name' => __( 'Right Sidebar', 'understrap' ), 'name' => __( 'Right Sidebar', 'understrap' ),
'id' => 'right-sidebar', 'id' => 'right-sidebar',
'description' => 'Right sidebar widget area', 'description' => __( 'Right sidebar widget area', 'understrap' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>', 'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">', 'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>', 'after_title' => '</h3>',
) ); )
);
register_sidebar( array( register_sidebar(
array(
'name' => __( 'Left Sidebar', 'understrap' ), 'name' => __( 'Left Sidebar', 'understrap' ),
'id' => 'left-sidebar', 'id' => 'left-sidebar',
'description' => 'Left sidebar widget area', 'description' => __( 'Left sidebar widget area', 'understrap' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>', 'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">', 'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>', 'after_title' => '</h3>',
) ); )
);
register_sidebar( array( register_sidebar(
array(
'name' => __( 'Hero Slider', 'understrap' ), 'name' => __( 'Hero Slider', 'understrap' ),
'id' => 'hero', 'id' => 'hero',
'description' => 'Hero slider area. Place two or more widgets here and they will slide!', 'description' => __( 'Hero slider area. Place two or more widgets here and they will slide!', 'understrap' ),
'before_widget' => '<div class="carousel-item">', 'before_widget' => '<div class="carousel-item">',
'after_widget' => '</div>', 'after_widget' => '</div>',
'before_title' => '', 'before_title' => '',
'after_title' => '', 'after_title' => '',
) ); )
);
register_sidebar( array( register_sidebar(
array(
'name' => __( 'Hero Canvas', 'understrap' ), 'name' => __( 'Hero Canvas', 'understrap' ),
'id' => 'herocanvas', 'id' => 'herocanvas',
'description' => 'Full size canvas hero area for Bootstrap and other custom HTML markup', 'description' => __( 'Full size canvas hero area for Bootstrap and other custom HTML markup', 'understrap' ),
'before_widget' => '', 'before_widget' => '',
'after_widget' => '', 'after_widget' => '',
'before_title' => '', 'before_title' => '',
'after_title' => '', 'after_title' => '',
) ); )
);
register_sidebar( array( register_sidebar(
array(
'name' => __( 'Top Full', 'understrap' ), 'name' => __( 'Top Full', 'understrap' ),
'id' => 'statichero', 'id' => 'statichero',
'description' => 'Full top widget with dynmic grid', 'description' => __( 'Full top widget with dynamic grid', 'understrap' ),
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">', 'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s dynamic-classes">',
'after_widget' => '</div><!-- .static-hero-widget -->', 'after_widget' => '</div><!-- .static-hero-widget -->',
'before_title' => '<h3 class="widget-title">', 'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>', 'after_title' => '</h3>',
) ); )
);
register_sidebar( array( register_sidebar(
'name' => __( 'Bottom Full', 'understrap' ), array(
'name' => __( 'Footer Full', 'understrap' ),
'id' => 'footerfull', 'id' => 'footerfull',
'description' => 'Full bottom widget with dynmic grid', 'description' => __( 'Full sized footer widget with dynamic grid', 'understrap' ),
'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">', 'before_widget' => '<div id="%1$s" class="footer-widget %2$s dynamic-classes">',
'after_widget' => '</div><!-- .footer-widget -->', 'after_widget' => '</div><!-- .footer-widget -->',
'before_title' => '<h3 class="widget-title">', 'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>', 'after_title' => '</h3>',
) ); )
);
} }
} // endif function_exists( 'understrap_widgets_init' ). } // End of function_exists( 'understrap_widgets_init' ).

View File

@ -5,6 +5,8 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_action( 'after_setup_theme', 'understrap_woocommerce_support' ); add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
if ( ! function_exists( 'understrap_woocommerce_support' ) ) { if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
@ -14,7 +16,7 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
function understrap_woocommerce_support() { function understrap_woocommerce_support() {
add_theme_support( 'woocommerce' ); add_theme_support( 'woocommerce' );
// Add New Woocommerce 3.0.0 Product Gallery support // Add New Woocommerce 3.0.0 Product Gallery support.
add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-slider' ); add_theme_support( 'wc-product-gallery-slider' );
@ -24,19 +26,18 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
} }
} }
// First unhook the WooCommerce content wrappers.
/**
* First unhook the WooCommerce wrappers
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 ); remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
/** // Then hook in your own functions to display the wrappers your theme requires.
* Then hook in your own functions to display the wrappers your theme requires
*/
add_action( 'woocommerce_before_main_content', 'understrap_woocommerce_wrapper_start', 10 ); add_action( 'woocommerce_before_main_content', 'understrap_woocommerce_wrapper_start', 10 );
add_action( 'woocommerce_after_main_content', 'understrap_woocommerce_wrapper_end', 10 ); add_action( 'woocommerce_after_main_content', 'understrap_woocommerce_wrapper_end', 10 );
if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) { if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
/**
* Display the theme specific start of the page wrapper.
*/
function understrap_woocommerce_wrapper_start() { function understrap_woocommerce_wrapper_start() {
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
echo '<div class="wrapper" id="woocommerce-wrapper">'; echo '<div class="wrapper" id="woocommerce-wrapper">';
@ -46,7 +47,11 @@ if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
echo '<main class="site-main" id="main">'; echo '<main class="site-main" id="main">';
} }
} }
if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) { if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
/**
* Display the theme specific end of the page wrapper.
*/
function understrap_woocommerce_wrapper_end() { function understrap_woocommerce_wrapper_end() {
echo '</main><!-- #main -->'; echo '</main><!-- #main -->';
get_template_part( 'global-templates/right-sidebar-check' ); get_template_part( 'global-templates/right-sidebar-check' );
@ -56,7 +61,7 @@ function understrap_woocommerce_wrapper_end() {
} }
} }
if ( ! function_exists( 'understrap_wc_form_field_args' ) ) {
/** /**
* Filter hook function monkey patching form classes * Filter hook function monkey patching form classes
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826 * Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
@ -67,7 +72,6 @@ function understrap_woocommerce_wrapper_end() {
* *
* @return mixed * @return mixed
*/ */
if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
function understrap_wc_form_field_args( $args, $key, $value = null ) { function understrap_wc_form_field_args( $args, $key, $value = null ) {
// Start field type switch case. // Start field type switch case.
switch ( $args['type'] ) { switch ( $args['type'] ) {
@ -132,7 +136,31 @@ if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
$args['input_class'] = array( 'form-control', 'input-lg' ); $args['input_class'] = array( 'form-control', 'input-lg' );
$args['label_class'] = array( 'control-label' ); $args['label_class'] = array( 'control-label' );
break; break;
} // end switch ($args). } // End of switch ( $args ).
return $args; return $args;
} }
} }
if ( ! is_admin() && ! function_exists( 'wc_review_ratings_enabled' ) ) {
/**
* Check if reviews are enabled.
*
* Function introduced in WooCommerce 3.6.0., include it for backward compatibility.
*
* @return bool
*/
function wc_reviews_enabled() {
return 'yes' === get_option( 'woocommerce_enable_reviews' );
}
/**
* Check if reviews ratings are enabled.
*
* Function introduced in WooCommerce 3.6.0., include it for backward compatibility.
*
* @return bool
*/
function wc_review_ratings_enabled() {
return wc_reviews_enabled() && 'yes' === get_option( 'woocommerce_enable_review_rating' );
}
}

View File

@ -7,14 +7,17 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
if ( ! function_exists( 'understrap_wpcom_setup' ) ) {
/** /**
* Adds support for wp.com-specific theme functions. * Adds support for wp.com-specific theme functions.
* *
* @global array $themecolors * @global array $themecolors
*/ */
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
function understrap_wpcom_setup() { function understrap_wpcom_setup() {
global $themecolors; global $themecolors;
@ -34,14 +37,13 @@ if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
} }
} }
/*
* WordPress.com-specific styles
*/
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' ); add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
if ( ! function_exists( 'understrap_wpcom_styles' ) ) { if ( ! function_exists( 'understrap_wpcom_styles' ) ) {
/**
* WordPress.com-specific styles
*/
function understrap_wpcom_styles() { function understrap_wpcom_styles() {
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' ); wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', array(), '20160411' );
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/** /**
* The main template file. * The main template file
* *
* This is the most generic template file in a WordPress theme * This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css). * and one of the two required files for a theme (the other being style.css).
@ -11,6 +11,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
@ -31,13 +34,11 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main"> <main class="site-main" id="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php <?php
if ( have_posts() ) {
// Start the Loop.
while ( have_posts() ) {
the_post();
/* /*
* Include the Post-Format-specific template for the content. * Include the Post-Format-specific template for the content.
@ -45,16 +46,12 @@ $container = get_theme_mod( 'understrap_container_type' );
* called content-___.php (where ___ is the Post Format name) and that will be used instead. * called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/ */
get_template_part( 'loop-templates/content', get_post_format() ); get_template_part( 'loop-templates/content', get_post_format() );
}
} else {
get_template_part( 'loop-templates/content', 'none' );
}
?> ?>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part( 'loop-templates/content', 'none' ); ?>
<?php endif; ?>
</main><!-- #main --> </main><!-- #main -->
<!-- The pagination component --> <!-- The pagination component -->
@ -63,11 +60,11 @@ $container = get_theme_mod( 'understrap_container_type' );
<!-- Do the right sidebar check --> <!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?> <?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #index-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

BIN
js/.DS_Store vendored

Binary file not shown.

View File

@ -1,476 +0,0 @@
/* global Symbol */
// Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module
define( [
"./var/arr",
"./var/document",
"./var/getProto",
"./var/slice",
"./var/concat",
"./var/push",
"./var/indexOf",
"./var/class2type",
"./var/toString",
"./var/hasOwn",
"./var/fnToString",
"./var/ObjectFunctionString",
"./var/support",
"./core/DOMEval"
], function( arr, document, getProto, slice, concat, push, indexOf,
class2type, toString, hasOwn, fnToString, ObjectFunctionString,
support, DOMEval ) {
"use strict";
var
version = "3.2.1",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
},
// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([a-z])/g,
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: version,
constructor: jQuery,
// The default length of a jQuery object is 0
length: 0,
toArray: function() {
return slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
// Return all the elements in a clean array
if ( num == null ) {
return slice.call( this );
}
// Return just the one element from the set
return num < 0 ? this[ num + this.length ] : this[ num ];
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
// Return the newly-formed element set
return ret;
},
// Execute a callback for every element in the matched set.
each: function( callback ) {
return jQuery.each( this, callback );
},
map: function( callback ) {
return this.pushStack( jQuery.map( this, function( elem, i ) {
return callback.call( elem, i, elem );
} ) );
},
slice: function() {
return this.pushStack( slice.apply( this, arguments ) );
},
first: function() {
return this.eq( 0 );
},
last: function() {
return this.eq( -1 );
},
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
},
end: function() {
return this.prevObject || this.constructor();
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: arr.sort,
splice: arr.splice
};
jQuery.extend = jQuery.fn.extend = function() {
var options, name, src, copy, copyIsArray, clone,
target = arguments[ 0 ] || {},
i = 1,
length = arguments.length,
deep = false;
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
// Skip the boolean and the target
target = arguments[ i ] || {};
i++;
}
// Handle case when target is a string or something (possible in deep copy)
if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
target = {};
}
// Extend jQuery itself if only one argument is passed
if ( i === length ) {
target = this;
i--;
}
for ( ; i < length; i++ ) {
// Only deal with non-null/undefined values
if ( ( options = arguments[ i ] ) != null ) {
// Extend the base object
for ( name in options ) {
src = target[ name ];
copy = options[ name ];
// Prevent never-ending loop
if ( target === copy ) {
continue;
}
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) {
if ( copyIsArray ) {
copyIsArray = false;
clone = src && Array.isArray( src ) ? src : [];
} else {
clone = src && jQuery.isPlainObject( src ) ? src : {};
}
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
// Don't bring in undefined values
} else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}
// Return the modified object
return target;
};
jQuery.extend( {
// Unique for each copy of jQuery on the page
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
// Assume jQuery is ready without the ready module
isReady: true,
error: function( msg ) {
throw new Error( msg );
},
noop: function() {},
isFunction: function( obj ) {
return jQuery.type( obj ) === "function";
},
isWindow: function( obj ) {
return obj != null && obj === obj.window;
},
isNumeric: function( obj ) {
// As of jQuery 3.0, isNumeric is limited to
// strings and numbers (primitives or objects)
// that can be coerced to finite numbers (gh-2662)
var type = jQuery.type( obj );
return ( type === "number" || type === "string" ) &&
// parseFloat NaNs numeric-cast false positives ("")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
!isNaN( obj - parseFloat( obj ) );
},
isPlainObject: function( obj ) {
var proto, Ctor;
// Detect obvious negatives
// Use toString instead of jQuery.type to catch host objects
if ( !obj || toString.call( obj ) !== "[object Object]" ) {
return false;
}
proto = getProto( obj );
// Objects with no prototype (e.g., `Object.create( null )`) are plain
if ( !proto ) {
return true;
}
// Objects with prototype are plain iff they were constructed by a global Object function
Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
},
isEmptyObject: function( obj ) {
/* eslint-disable no-unused-vars */
// See https://github.com/eslint/eslint/issues/6125
var name;
for ( name in obj ) {
return false;
}
return true;
},
type: function( obj ) {
if ( obj == null ) {
return obj + "";
}
// Support: Android <=2.3 only (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call( obj ) ] || "object" :
typeof obj;
},
// Evaluates a script in a global context
globalEval: function( code ) {
DOMEval( code );
},
// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 13
// Microsoft forgot to hump their vendor prefix (#9572)
camelCase: function( string ) {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
each: function( obj, callback ) {
var length, i = 0;
if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
return obj;
},
// Support: Android <=4.0 only
trim: function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
},
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
if ( arr != null ) {
if ( isArrayLike( Object( arr ) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
[ arr ] : arr
);
} else {
push.call( ret, arr );
}
}
return ret;
},
inArray: function( elem, arr, i ) {
return arr == null ? -1 : indexOf.call( arr, elem, i );
},
// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function( first, second ) {
var len = +second.length,
j = 0,
i = first.length;
for ( ; j < len; j++ ) {
first[ i++ ] = second[ j ];
}
first.length = i;
return first;
},
grep: function( elems, callback, invert ) {
var callbackInverse,
matches = [],
i = 0,
length = elems.length,
callbackExpect = !invert;
// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}
return matches;
},
// arg is for internal usage only
map: function( elems, callback, arg ) {
var length, value,
i = 0,
ret = [];
// Go through the array, translating each of the items to their new values
if ( isArrayLike( elems ) ) {
length = elems.length;
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
// Go through every key on the object,
} else {
for ( i in elems ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
}
// Flatten any nested arrays
return concat.apply( [], ret );
},
// A global GUID counter for objects
guid: 1,
// Bind a function to a context, optionally partially applying any
// arguments.
proxy: function( fn, context ) {
var tmp, args, proxy;
if ( typeof context === "string" ) {
tmp = fn[ context ];
context = fn;
fn = tmp;
}
// Quick check to determine if target is callable, in the spec
// this throws a TypeError, but we will just return undefined.
if ( !jQuery.isFunction( fn ) ) {
return undefined;
}
// Simulated bind
args = slice.call( arguments, 2 );
proxy = function() {
return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
};
// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid = fn.guid = fn.guid || jQuery.guid++;
return proxy;
},
now: Date.now,
// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: support
} );
if ( typeof Symbol === "function" ) {
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}
// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
function( i, name ) {
class2type[ "[object " + name + "]" ] = name.toLowerCase();
} );
function isArrayLike( obj ) {
// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length = !!obj && "length" in obj && obj.length,
type = jQuery.type( obj );
if ( type === "function" || jQuery.isWindow( obj ) ) {
return false;
}
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}
return jQuery;
} );

0
js/customizer.js Normal file → Executable file
View File

File diff suppressed because it is too large Load Diff

5
js/popper.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

2
js/theme.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -77,7 +77,7 @@ msgstr "Jetez un œil dans les archives mensuelles. %1$s"
#: author.php:34 #: author.php:34
msgid "About:" msgid "About:"
msgstr "A propos:" msgstr "À propos:"
#: author.php:42 inc/custom-comments.php:30 #: author.php:42 inc/custom-comments.php:30
msgid "Website" msgid "Website"
@ -771,7 +771,7 @@ msgid ""
msgstr "" msgstr ""
"Une combinaison du thème _s d'Automattic et de Bootstrap 4. Un excellent " "Une combinaison du thème _s d'Automattic et de Bootstrap 4. Un excellent "
"point de départ pour votre prochain projet de thème et de site Web de " "point de départ pour votre prochain projet de thème et de site Web de "
"WordPress. Utilisez-le comme thème de démarrage ou comme thème parent. A " "WordPress. Utilisez-le comme thème de démarrage ou comme thème parent. À "
"vous de décider. Inclus Font-Awesome, des widgets intégrés et tout ce dont " "vous de décider. Inclus Font-Awesome, des widgets intégrés et tout ce dont "
"vous avez besoin pour votre site. IMPORTANT: les dépendances des " "vous avez besoin pour votre site. IMPORTANT: les dépendances des "
"développeurs ne sont pas livrées avec ce fichier d'installation. Il suffit " "développeurs ne sont pas livrées avec ce fichier d'installation. Il suffit "
@ -799,5 +799,5 @@ msgstr "http://www.holgerkoenemann.de"
#~ "as starter theme or as parent theme. It is up to you." #~ "as starter theme or as parent theme. It is up to you."
#~ msgstr "" #~ msgstr ""
#~ "Une combinaison du thème _s (Automattic) et de Bootstrap 4. Un solide " #~ "Une combinaison du thème _s (Automattic) et de Bootstrap 4. Un solide "
#~ "point de départ pour tout vos projets de site et de thèmes WordPress. A " #~ "point de départ pour tout vos projets de site et de thèmes WordPress. À "
#~ "utiliser comme thème de départ ou comme thème parent." #~ "utiliser comme thème de départ ou comme thème parent."

Binary file not shown.

882
languages/nl_NL.po Normal file → Executable file
View File

@ -2,84 +2,34 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: understrap\n" "Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-23 08:05+0000\n" "POT-Creation-Date: 2018-06-17 17:56+0000\n"
"PO-Revision-Date: 2016-11-23 20:11+0000\n" "PO-Revision-Date: 2018-07-12 20:51+0000\n"
"Last-Translator: Sander\n" "Last-Translator: vincent <v.vanbergen@gmail.com>\n"
"Language-Team: Dutch (Netherlands)\n" "Language-Team: Nederlands\n"
"Language: nl-NL\n" "Language: nl_NL\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz\n" "X-Generator: Loco https://localise.biz/\n"
"X-Loco-Source-Locale: en-NL\n" "X-Loco-Source-Locale: en-NL\n"
"X-Loco-Project-Id: 19218\n" "X-Loco-Project-Id: 19218\n"
"X-Loco-Api-Version: 1.0.15 20161122-1" "X-Loco-Api-Version: 1.0.15 20161122-1"
#: ../comments.php:28 loco:58356fd352e1a1670d8b4567 #: search.php:29
msgctxt "comments title" #, php-format
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Een reactie op &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s reacties op &ldquo;%2$s&rdquo;"
#: ../comments.php:35 ../comments.php:56 loco:58356fd352e1a1670d8b4569
msgid "Comment navigation"
msgstr "Reactienavigatie"
#: ../comments.php:37 ../comments.php:58 loco:58356fd352e1a1670d8b456a
msgid "&larr; Older Comments"
msgstr "&larr; Oudere reacties"
#: ../comments.php:40 ../comments.php:61 loco:58356fd352e1a1670d8b456b
msgid "Newer Comments &rarr;"
msgstr "Nieuwere reacties &rarr;"
#: ../comments.php:72 loco:58356fd352e1a1670d8b456c
msgid "Comments are closed."
msgstr "Reacties zijn gesloten."
#: ../author.php:27 loco:58356fd352e1a1670d8b456d
msgid "About:"
msgstr "Over:"
#: ../author.php:32 ../inc/custom-comments.php:16 loco:58356fd352e1a1670d8b456e
msgid "Website"
msgstr "Website"
#: ../author.php:34 loco:58356fd352e1a1670d8b456f
msgid "Profile"
msgstr "Profiel"
#: ../author.php:38 loco:58356fd352e1a1670d8b4570
msgid "Posts by"
msgstr "Berichten van"
#: ../footer.php:24 loco:58356fd352e1a1670d8b4571
msgid "http://wordpress.org/"
msgstr "http://wordpress.org/"
#: ../footer.php:24 loco:58356fd352e1a1670d8b4572
msgid "Proudly powered by %s"
msgstr "Met trots ondersteund door %s"
#: ../footer.php:26 loco:58356fd352e1a1670d8b4573
msgid "Theme: %1$s by %2$s."
msgstr "Thema: %1$s van %2$s."
#: ../header.php:30 loco:58356fd352e1a1670d8b4574
msgid "Skip to content"
msgstr "Ga naar inhoud"
#: ../search.php:23 loco:58356fd352e1a1670d8b4575
msgid "Search Results for: %s" msgid "Search Results for: %s"
msgstr "Zoekresultaten voor: %s" msgstr "Zoekresultaten voor: %s"
#: ../404.php:22 loco:58356fd352e1a1670d8b4576 #: header.php:34
msgid "Skip to content"
msgstr "Ga naar inhoud"
#: 404.php:24
msgid "Oops! That page can&rsquo;t be found." msgid "Oops! That page can&rsquo;t be found."
msgstr "Oeps! Deze pagina kan niet worden gevonden." msgstr "Oeps! Deze pagina kan niet worden gevonden."
#: ../404.php:27 loco:58356fd352e1a1670d8b4577 #: 404.php:31
msgid "" msgid ""
"It looks like nothing was found at this location. Maybe try one of the links " "It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?" "below or a search?"
@ -87,147 +37,110 @@ msgstr ""
"Het lijkt erop dat er niets gevonden is op deze locatie. Probeer anders " "Het lijkt erop dat er niets gevonden is op deze locatie. Probeer anders "
"&#233;&#233;n van de onderstaande links of een zoekopdracht? " "&#233;&#233;n van de onderstaande links of een zoekopdracht? "
#: ../404.php:37 loco:58356fd352e1a1670d8b4578 #: 404.php:42
msgid "Most Used Categories" msgid "Most Used Categories"
msgstr "Meestgebruikte categorie&#235;n" msgstr "Meestgebruikte categorie&#235;n"
#. translators: %1$s: smiley #. translators: %1$s: smiley
#: ../404.php:57 loco:58356fd352e1a1670d8b4579 #: 404.php:62
#, php-format
msgid "Try looking in the monthly archives. %1$s" msgid "Try looking in the monthly archives. %1$s"
msgstr "Wellicht kun je kijken in de maandelijkse archieven. %1$s" msgstr "Wellicht kun je kijken in de maandelijkse archieven. %1$s"
#: ../searchform.php:9 ../searchform.php:13 loco:58356fd352e1a1670d8b457a #: author.php:34
msgid "About:"
msgstr "Over:"
#: author.php:42 inc/custom-comments.php:30
msgid "Website"
msgstr "Website"
#: author.php:49
msgid "Profile"
msgstr "Profiel"
#: author.php:54
msgid "Posts by"
msgstr "Berichten van"
#: author.php:68
msgid "in"
msgstr "in"
#: comments.php:28
#, php-format
msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Een reactie op &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s reacties op &ldquo;%2$s&rdquo;"
#: comments.php:36 comments.php:59
msgid "Comment navigation"
msgstr "Reactienavigatie"
#: comments.php:38 comments.php:61
msgid "&larr; Older Comments"
msgstr "&larr; Oudere reacties"
#: comments.php:42 comments.php:65
msgid "Newer Comments &rarr;"
msgstr "Nieuwere reacties &rarr;"
#: comments.php:78
msgid "Comments are closed."
msgstr "Reacties zijn gesloten."
#: footer.php:27
msgid "http://wordpress.org/"
msgstr "http://wordpress.org/"
#: footer.php:28
#, php-format
msgid "Proudly powered by %s"
msgstr "Met trots ondersteund door %s"
#: footer.php:31
#, php-format
msgid "Theme: %1$s by %2$s."
msgstr "Thema: %1$s van %2$s."
#: footer.php:33
#, php-format
msgid "Version: %1$s"
msgstr "Versie: %1$s"
#: searchform.php:10 searchform.php:16
msgid "Search" msgid "Search"
msgstr "Zoek" msgstr "Zoek"
#: ../searchform.php:11 loco:58356fd352e1a1670d8b457b #: searchform.php:13
msgid "Search &hellip;" msgid "Search &hellip;"
msgstr "Zoek &hellip;" msgstr "Zoek &hellip;"
#. Name of the template #: loop-templates/content-card.php:43 loop-templates/content-page.php:25
#: loco:58356fd352e1a1670d8b457c #: loop-templates/content.php:37 loop-templates/content-single.php:31
msgid "Full Width Page" #: loop-templates/content-verticalpage.php:28
msgstr "Volledige breedte"
#. Name of the template
#: loco:58356fd352e1a1670d8b457d
msgid "Empty Page Template"
msgstr "Leeg paginasjabloon"
#: ../inc/widgets.php:10 loco:58356fd352e1a1670d8b457e
msgid "Sidebar"
msgstr "Sidebar"
#: ../inc/widgets.php:20 loco:58356fd352e1a1670d8b457f
msgid "Hero Slider"
msgstr "Hero Slider"
#: ../inc/widgets.php:30 loco:58356fd352e1a1670d8b4580
msgid "Hero Static"
msgstr "Hero Static"
#: ../inc/widgets.php:40 loco:58356fd352e1a1670d8b4581
msgid "Footer Full"
msgstr "Footer (volledige breedte)"
#: ../inc/customizer.php:24 loco:58356fd352e1a1670d8b4582
msgid "Slider Settings"
msgstr "Sliderinstellingen"
#: ../inc/customizer.php:33 loco:58356fd352e1a1670d8b4583
msgid "Number of slides displaying at once"
msgstr "Aantal gelijktijdig vertoonde slides"
#: ../inc/customizer.php:45 loco:58356fd352e1a1670d8b4584
msgid "Slider Time (in ms)"
msgstr "Slidertijd (in ms)"
#: ../inc/customizer.php:57 loco:58356fd352e1a1670d8b4585
msgid "Loop Slider Content"
msgstr "Sliderinhoud herhalen"
#: ../inc/template-tags.php:18 loco:58356fd352e1a1670d8b4586
msgid " Edited %4$s"
msgstr " Bewerkt op %4$s"
#: ../inc/template-tags.php:29 loco:58356fd352e1a1670d8b4587
msgctxt "post date"
msgid "Posted on %s"
msgstr "Geplaatst op %s"
#: ../inc/template-tags.php:34 loco:58356fd352e1a1670d8b4588
msgctxt "post author"
msgid "by %s"
msgstr "door %s"
#. translators: used between list items, there is a space after the comma
#: ../inc/template-tags.php:51 ../inc/template-tags.php:57
#: loco:58356fd352e1a1670d8b4589
msgid ", "
msgstr ", "
#: ../inc/template-tags.php:53 loco:58356fd352e1a1670d8b458a
msgid "Posted in %1$s"
msgstr "Geplaatst in %1$s"
#: ../inc/template-tags.php:59 loco:58356fd352e1a1670d8b458b
msgid "Tagged %1$s"
msgstr "%1$s getagd"
#: ../inc/template-tags.php:65 loco:58356fd352e1a1670d8b458c
msgid "Leave a comment"
msgstr "Plaats een reactie"
#: ../inc/template-tags.php:65 loco:58356fd352e1a1670d8b458d
msgid "1 Comment"
msgstr "1 Reactie"
#: ../inc/template-tags.php:65 loco:58356fd352e1a1670d8b458e
msgid "% Comments"
msgstr "% Reacties"
#. translators: %s: Name of current post
#: ../inc/template-tags.php:72 loco:58356fd352e1a1670d8b458f
msgid "Edit %s"
msgstr "Bewerk %s"
#: ../inc/setup.php:48 loco:58356fd352e1a1670d8b4590
msgid "Primary Menu"
msgstr "Hoofdmenu"
#: ../inc/setup.php:98 loco:58356fd352e1a1670d8b4591
msgid "Read More..."
msgstr "Lees verder..."
#: ../inc/custom-comments.php:12 loco:58356fd352e1a1670d8b4592
msgid "Name"
msgstr "Naam"
#: ../inc/custom-comments.php:14 loco:58356fd352e1a1670d8b4593
msgid "Email"
msgstr "Email"
#: ../inc/custom-comments.php:25 loco:58356fd352e1a1670d8b4594
msgctxt "noun"
msgid "Comment"
msgstr "Reactie"
#: ../loop-templates/content-single.php:29 ../loop-templates/content.php:33 ..
#: loop-templates/content-page.php:25 loco:58356fd352e1a1670d8b4595
msgid "Pages:" msgid "Pages:"
msgstr "Pagina's:" msgstr "Pagina's:"
#: ../loop-templates/content-none.php:16 loco:58356fd352e1a1670d8b4596 #: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Bewerk"
#: loop-templates/content-none.php:15
msgid "Nothing Found" msgid "Nothing Found"
msgstr "Niets gevonden" msgstr "Niets gevonden"
#: ../loop-templates/content-none.php:24 loco:58356fd352e1a1670d8b4597 #: loop-templates/content-none.php:23
#, php-format
msgid "" msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>." "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr "" msgstr ""
"Klaar om je eerste bericht te plaatsen? <a href=\"%1$s\">Begin hier</a>." "Klaar om je eerste bericht te plaatsen? <a href=\"%1$s\">Begin hier</a>."
#: ../loop-templates/content-none.php:28 loco:58356fd352e1a1670d8b4598 #: loop-templates/content-none.php:28
msgid "" msgid ""
"Sorry, but nothing matched your search terms. Please try again with some " "Sorry, but nothing matched your search terms. Please try again with some "
"different keywords." "different keywords."
@ -235,7 +148,7 @@ msgstr ""
"Helaas, er waren geen overeenkomsten met jouw zoekopdracht. Probeer het " "Helaas, er waren geen overeenkomsten met jouw zoekopdracht. Probeer het "
"opnieuw met enkele andere zoekwoorden." "opnieuw met enkele andere zoekwoorden."
#: ../loop-templates/content-none.php:33 loco:58356fd352e1a1670d8b4599 #: loop-templates/content-none.php:34
msgid "" msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps " "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help." "searching can help."
@ -243,37 +156,610 @@ msgstr ""
"Het lijkt erop dat wij niet kunnen vinden wat jij zoekt. Wellicht dat de " "Het lijkt erop dat wij niet kunnen vinden wat jij zoekt. Wellicht dat de "
"zoekfunctie kan helpen." "zoekfunctie kan helpen."
#: ../loop-templates/content-page.php:34 loco:58356fd352e1a1670d8b459a #. Name of the template
msgid "Edit" msgid "Blank Page Template"
msgstr "Bewerk" msgstr "Blank Pagina Sjabloon"
#. Name of the template
msgid "Left and Right Sidebar Layout"
msgstr "Linker en Rechter Zijbalk"
#. Name of the template
msgid "Empty Page Template"
msgstr "Leeg Pagina Sjabloon"
#. Name of the template
msgid "Full Width Page"
msgstr "Volledige breedte"
#. Name of the template
msgid "Left Sidebar Layout"
msgstr "Linker Zijbalk"
#. Name of the template
msgid "Vertical One Page"
msgstr "Verticale Enkele Pagina"
#: inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr " Bewerkt op %4$s"
#: inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Geplaatst op %s"
#: inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "door %s"
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:51 inc/template-tags.php:57
msgid ", "
msgstr ", "
#: inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Geplaatst in %1$s"
#: inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "%1$s getagd"
#: inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Plaats een reactie"
#: inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 Reactie"
#: inc/template-tags.php:65
msgid "% Comments"
msgstr "% Reacties"
#. translators: %s: Name of current post
#: inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Bewerk %s"
#: inc/template-tags.php:143
msgid "Post navigation"
msgstr "Bericht Navigatie"
#: inc/template-tags.php:148
msgctxt "Previous post link"
msgid "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
msgstr ""
#: inc/template-tags.php:151
msgctxt "Next post link"
msgid "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
msgstr ""
#: inc/setup.php:51
msgid "Primary Menu"
msgstr "Hoofdmenu"
#: inc/setup.php:122
msgid "Read More..."
msgstr "Lees verder..."
#: inc/widgets.php:14
msgid "Right Sidebar"
msgstr "Rechter zijbalk"
#: inc/widgets.php:24
msgid "Left Sidebar"
msgstr "Linkel zijbalk"
#: inc/widgets.php:34
msgid "Hero Slider"
msgstr "Hero Slider"
#: inc/widgets.php:44
msgid "Hero Static"
msgstr "Hero Static"
#: inc/widgets.php:54
msgid "Footer Full"
msgstr "Footer (volledige breedte)"
#: inc/custom-comments.php:24
msgid "Name"
msgstr "Naam"
#: inc/custom-comments.php:27
msgid "Email"
msgstr "Email"
#: inc/custom-comments.php:49
msgctxt "noun"
msgid "Comment"
msgstr "Reactie"
#: inc/customizer.php:36
msgid "Slider Settings"
msgstr "Sliderinstellingen"
#: inc/customizer.php:45
msgid "Number of slides displaying at once"
msgstr "Aantal gelijktijdig vertoonde slides"
#: inc/customizer.php:57
msgid "Slider Time (in ms)"
msgstr "Slidertijd (in ms)"
#: inc/customizer.php:69
msgid "Loop Slider Content"
msgstr "Sliderinhoud herhalen"
#: inc/customizer.php:81
msgid "Theme Layout Settings"
msgstr "Thema Layout Instellingen"
#: inc/customizer.php:83
msgid "Container width and sidebar defaults"
msgstr "Container breedte en zijbalk standaarden"
#: inc/customizer.php:98
msgid "Container Width"
msgstr "Container Breedte"
#: inc/customizer.php:99
msgid "Choose between Bootstrap's container and container-fluid"
msgstr "Kies tussen Bootstrap's container en container-fluid"
#: inc/customizer.php:104
msgid "Fixed width container"
msgstr "Container met vaste breedte"
#: inc/customizer.php:105
msgid "Full width container"
msgstr "Container met vollege breedte"
#: inc/customizer.php:122
msgid "Sidebar Positioning"
msgstr "Zijbalk Positie"
#: inc/customizer.php:123
msgid "Set sidebar's position. Can either be: right, left, both or none"
msgstr "Stel positie zijbalk in. Kan zijn: rechts, links, beiden of geen"
#: inc/customizer.php:129
msgid "Right sidebar"
msgstr "Rechter zijbalk"
#: inc/customizer.php:130
msgid "Left sidebar"
msgstr "Linker zijbalk"
#: inc/customizer.php:131
msgid "Left & Right sidebars"
msgstr "Linker & Rechter zijbalken"
#: inc/customizer.php:132
msgid "No sidebar"
msgstr "Geen zijbalk"
#: inc/customizer.php:150
msgid "Posts Index Style"
msgstr ""
#: inc/customizer.php:151
msgid "Choose how to display latest posts"
msgstr "Kies de weergave van laatste berichten"
#: inc/customizer.php:156
msgid "Default"
msgstr "Standaard"
#: inc/customizer.php:157
msgid "Masonry"
msgstr "Metselwerk"
#: inc/customizer.php:158
msgid "Grid"
msgstr "Rooster"
#: inc/customizer.php:187
msgid "Grid Post Columns"
msgstr "Rooster Bericht kolommen"
#: inc/customizer.php:188
msgid "Choose how many columns to use"
msgstr "Kies het aantal kolommen"
#: woocommerce/cart/proceed-to-checkout-button.php:27
msgid "Proceed to Checkout"
msgstr "Ga naar Uitchecken"
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
msgid "Remove this item"
msgstr "Verwijder dit item"
#: woocommerce/cart/mini-cart.php:72
msgid "No products in the cart."
msgstr "Geen producten in de winkelwagen."
#: woocommerce/cart/mini-cart.php:80
msgid "Subtotal"
msgstr "Subtotaal"
#: woocommerce/cart/mini-cart.php:85
msgid "View Cart"
msgstr "Bekijk Winkelwagen"
#: woocommerce/cart/mini-cart.php:86
msgid "Checkout"
msgstr "Uitchecken"
#: woocommerce/cart/cart-empty.php:28
msgid "Your cart is currently empty."
msgstr "Uw winkelwagen is momenteel leeg"
#: woocommerce/cart/cart-empty.php:36
msgid "Return To Shop"
msgstr "Terug Naar Winkel"
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
#: woocommerce/checkout/form-pay.php:29
msgid "Product"
msgstr "Artikel"
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
msgid "Price"
msgstr "Prijs"
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
msgid "Quantity"
msgstr "Aantal"
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
#: woocommerce/myaccount/my-orders.php:16
msgid "Total"
msgstr "Totaal"
#: woocommerce/cart/cart.php:92
msgid "Available on backorder"
msgstr "beschikbaar op nalevering"
#: woocommerce/cart/cart.php:138
msgid "Coupon:"
msgstr "Coupon:"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
msgid "Coupon code"
msgstr "Coupon code"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
msgid "Apply Coupon"
msgstr "Pas Coupon toe"
#: woocommerce/cart/cart.php:144
msgid "Update Cart"
msgstr "Winkelwagen Bijwerken"
#: woocommerce/checkout/payment.php:35
msgid ""
"Sorry, it seems that there are no available payment methods for your state. "
"Please contact us if you require assistance or wish to make alternate "
"arrangements."
msgstr ""
"Sorry, het lijkt er op dat er geen betaalmethode voor uw staat is. Neem "
"alstublieft contact met ons op als u assistentie nodig heeft of iets anders "
"wilt regelen."
#: woocommerce/checkout/payment.php:35
msgid "Please fill in your details above to see available payment methods."
msgstr "Voer alstublief uw gegevens in om beschikbare betaalmethoden te zien."
#: woocommerce/checkout/payment.php:42
msgid ""
"Since your browser does not support JavaScript, or it is disabled, please "
"ensure you click the <em>Update Totals</em> button before placing your order."
" You may be charged more than the amount stated above if you fail to do so."
msgstr ""
"Uw browser ondersteunt geen JavaScript ondersteunt, of het niet is "
"ingeschakeld. Klik daarom alstublieft op de <em>Update Totals</em> knop "
"voordat uw uw bestelling plaatst. Als u dat niet doet kan de situatie "
"ontstaan dat het bedrag hoger uitvalt dan dat hierboven staat."
#: woocommerce/checkout/payment.php:43
msgid "Update totals"
msgstr "Totalen bijwerken"
#: woocommerce/checkout/form-pay.php:30
msgid "Qty"
msgstr "Aantal"
#: woocommerce/checkout/form-pay.php:31
msgid "Totals"
msgstr "Totalen"
#: woocommerce/checkout/form-pay.php:79
msgid ""
"Sorry, it seems that there are no available payment methods for your "
"location. Please contact us if you require assistance or wish to make "
"alternate arrangements."
msgstr ""
"Sorry, het lijkt er op dat er geen betaalmethode voor uw locatie is. Neem "
"alstublieft contact met ons op als u assistentie nodig heeft of iets anders "
"wilt regelen."
#: woocommerce/checkout/form-coupon.php:28
msgid "Have a coupon?"
msgstr "Heeft u een coupon?"
#: woocommerce/checkout/form-coupon.php:28
msgid "Click here to enter your code"
msgstr "Klik hier om uw code in te voeren"
#: woocommerce/global/form-login.php:35
#: woocommerce/myaccount/form-lost-password.php:30
msgid "Username or email"
msgstr "Gebruikersnaam of email"
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
#: woocommerce/myaccount/form-login.php:98
msgid "Password"
msgstr "Wachtwoord"
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
#: woocommerce/myaccount/form-login.php:56
msgid "Login"
msgstr "Login"
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
msgid "Remember me"
msgstr "Onthoud mij"
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
msgid "Lost your password?"
msgstr "Uw wachtwoord vergeten?"
#: woocommerce/global/quantity-input.php:24
msgctxt "Product quantity input tooltip"
msgid "Qty"
msgstr "Aantal"
#: woocommerce/myaccount/form-lost-password.php:27
msgid ""
"Lost your password? Please enter your username or email address. You will "
"receive a link to create a new password via email."
msgstr ""
"Uw wachtwoord vergeten? Voer altublieft uw gebruikersnaam of email adres in. "
"U krijgt een een link via email om een nieuw wachtwoord aan te maken."
#: woocommerce/myaccount/form-lost-password.php:40
msgid "Reset Password"
msgstr "Reset Wachtwoord"
#: woocommerce/myaccount/form-login.php:44
msgid "Username or email address"
msgstr "Gebruikersnaam of email adres"
#: woocommerce/myaccount/form-login.php:75
#: woocommerce/myaccount/form-login.php:112
msgid "Register"
msgstr "Registreren"
#: woocommerce/myaccount/form-login.php:84
msgid "Username"
msgstr "Gebruikersnaam"
#: woocommerce/myaccount/form-login.php:91
#: woocommerce/myaccount/form-edit-account.php:40
msgid "Email address"
msgstr "Email adres"
#: woocommerce/myaccount/form-login.php:105
msgid "Anti-spam"
msgstr "Anti-spam"
#: woocommerce/myaccount/form-edit-account.php:30
msgid "First name"
msgstr "Voornaam"
#: woocommerce/myaccount/form-edit-account.php:34
msgid "Last name"
msgstr "Achternaam"
#: woocommerce/myaccount/form-edit-account.php:45
msgid "Password Change"
msgstr "Wachtwoord Verandering"
#: woocommerce/myaccount/form-edit-account.php:48
msgid "Current Password (leave blank to leave unchanged)"
msgstr "Huidige Wachtwoord (laat leeg om onveranderd te laten)"
#: woocommerce/myaccount/form-edit-account.php:52
msgid "New Password (leave blank to leave unchanged)"
msgstr "Nieuw Wachtwoord (laat leeg om ongewijzigd te laten)"
#: woocommerce/myaccount/form-edit-account.php:56
msgid "Confirm New Password"
msgstr "Bevestig Nieuw Wachtwoord"
#: woocommerce/myaccount/form-edit-account.php:66
msgid "Save changes"
msgstr "Bewaar veranderingen"
#: woocommerce/myaccount/my-orders.php:13
msgid "Order"
msgstr "Bestellling"
#: woocommerce/myaccount/my-orders.php:14
msgid "Date"
msgstr "Datum"
#: woocommerce/myaccount/my-orders.php:15
msgid "Status"
msgstr "Status"
#: woocommerce/myaccount/my-orders.php:30
msgid "Recent Orders"
msgstr "Recente bestellingen"
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
msgctxt "hash before order number"
msgid "#"
msgstr ""
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
#, php-format
msgid "%s for %s item"
msgid_plural "%s for %s items"
msgstr[0] "%s voor %s item"
msgstr[1] "%s for %s items"
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
msgid "Pay"
msgstr "Betalen"
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
msgid "View"
msgstr "Bekijk"
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
msgid "Cancel"
msgstr "Annuleer"
#: woocommerce/myaccount/orders.php:107
msgid "Previous"
msgstr "Vorige"
#: woocommerce/myaccount/orders.php:111
msgid "Next"
msgstr "Volgende"
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
msgid "Go Shop"
msgstr "Ga winkelen"
#: woocommerce/myaccount/orders.php:121
msgid "No order has been made yet."
msgstr "Er is nog geen bestelling aangemaakt."
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Billing Address"
msgstr "Factuur adres"
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Shipping Address"
msgstr "Verzendingsadres"
#: woocommerce/myaccount/form-edit-address.php:46
msgid "Save Address"
msgstr "Bewaard Adres"
#: woocommerce/myaccount/form-reset-password.php:27
msgid "Enter a new password below."
msgstr "Voer onder uw nieuwe wachtwoord in."
#: woocommerce/myaccount/form-reset-password.php:30
msgid "New password"
msgstr "Nieuw wachtwoord"
#: woocommerce/myaccount/form-reset-password.php:34
msgid "Re-enter new password"
msgstr "Voer wachtwoord opnieuw in"
#: woocommerce/myaccount/form-reset-password.php:47
msgid "Save"
msgstr "Opslaan"
#: woocommerce/myaccount/downloads.php:59
msgid "&infin;"
msgstr "&infin;"
#: woocommerce/myaccount/downloads.php:67
msgid "Never"
msgstr "Nooit"
#: woocommerce/myaccount/downloads.php:75
msgid "Download"
msgstr "Download"
#: woocommerce/myaccount/downloads.php:100
msgid "No downloads available yet."
msgstr "Nog geen downloads beschikbaar"
#: woocommerce/single-product/review-rating.php:28
#, php-format
msgid "Rated %d out of 5"
msgstr "Beoordeeld met %d van de 5"
#: woocommerce/single-product/review-rating.php:29
msgid "out of 5"
msgstr "van de 5"
#: woocommerce/single-product/rating.php:36
#, php-format
msgid "Rated %s out of 5"
msgstr "Beoordeeld met %s van de 5"
#: woocommerce/single-product/rating.php:38
#, php-format
msgid "out of %s5%s"
msgstr "van de %s5%s"
#: woocommerce/single-product/rating.php:39
#, php-format
msgid "based on %s customer rating"
msgid_plural "based on %s customer ratings"
msgstr[0] "gebaseerd op %s klant beoordeling"
msgstr[1] "gebaseerd op %s klant beoordelingen"
#: woocommerce/single-product/rating.php:42
#, php-format
msgid "%s customer review"
msgid_plural "%s customer reviews"
msgstr[0] "%s klant beoordeling"
msgstr[1] "%s klant beoordelingen"
#. Name of the theme #. Name of the theme
#: loco:58356fd352e1a1670d8b459b
msgid "UnderStrap" msgid "UnderStrap"
msgstr "UnderStrap" msgstr "UnderStrap"
#. Theme URI of the theme
#: loco:58356fd352e1a1670d8b459c
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Description of the theme #. Description of the theme
#: loco:58356fd352e1a1670d8b459d
msgid "" msgid ""
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid " "Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
"starting point for your next theme project and WordPress website. Use it as " "starting point for your next theme project and WordPress website. Use it as "
"starter theme or as parent theme. It is up to you." "starter theme or as a parent theme. It is up to you. Including Font Awesome "
"support, built-in widget slider and much more you need for basic websites. "
"IMPORTANT: All developer dependencies are not bundled with this install file."
" Just download the .zip, extract it and run \"npm install\" and \"gulp copy-"
"assets\" inside the extracted /understrap folder."
msgstr "" msgstr ""
"Een combinatie van het _s thema van Automattic en Bootstrap 4. Ontwikkeld "
"als startpunt voor het maken van jouw volgende thema en WordPress website. " #. Theme URI of the theme
"Gebruik het als starter thema of parent thema. De keuze is aan jou." msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Author of the theme #. Author of the theme
#: loco:58356fd352e1a1670d8b459e
msgid "Holger Koenemann" msgid "Holger Koenemann"
msgstr "Holger Koenemann" msgstr "Holger Koenemann"
#. Author URI of the theme #. Author URI of the theme
#: loco:58356fd352e1a1670d8b459f
msgid "http://www.holgerkoenemann.de" msgid "http://www.holgerkoenemann.de"
msgstr "http://www.holgerkoenemann.de" msgstr "http://www.holgerkoenemann.de"
msgid "Proceed to checkout"
msgstr "Ga naar uitchecken"
msgid "Apply coupon"
msgstr "Pas coupon toe"
msgid "Update cart"
msgstr "Update winkelwagen"
msgid "Your order"
msgstr "Uw bestelling"

Binary file not shown.

View File

@ -3,24 +3,24 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: understrap\n" "Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n" "Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
"POT-Creation-Date: 2016-10-27 11:09+0100\n" "POT-Creation-Date: 2018-06-17 17:56+0000\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n" "PO-Revision-Date: 2019-02-05 12:35+0000\n"
"PO-Revision-Date: 2016-10-27 12:01+0100\n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: pt_PT\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 2.2.1\n"
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;" "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;" "__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;" "_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;" "esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n" "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
"X-Poedit-Basepath: ..\n" "X-Poedit-Basepath: ..\n"
"Last-Translator: \n"
"Language: pt_PT\n"
"X-Poedit-SearchPath-0: footer.php\n" "X-Poedit-SearchPath-0: footer.php\n"
"X-Poedit-SearchPath-1: header.php\n" "X-Poedit-SearchPath-1: header.php\n"
"X-Poedit-SearchPath-2: index.php\n" "X-Poedit-SearchPath-2: index.php\n"
@ -44,7 +44,58 @@ msgstr ""
"X-Poedit-SearchPath-20: page-templates\n" "X-Poedit-SearchPath-20: page-templates\n"
"X-Poedit-SearchPath-21: inc\n" "X-Poedit-SearchPath-21: inc\n"
#: ../comments.php:28 #: search.php:29
#, php-format
msgid "Search Results for: %s"
msgstr "Procurar resultados para: %s"
#: header.php:34
msgid "Skip to content"
msgstr "Saltar para o conteúdo"
#: 404.php:24
msgid "Oops! That page can&rsquo;t be found."
msgstr "Ops! Essa página não foi encontrada."
#: 404.php:31
msgid ""
"It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?"
msgstr ""
"Parece que nada foi encontrado neste local. Talvez tente um dos links abaixo "
"ou uma pesquisa?"
#: 404.php:42
msgid "Most Used Categories"
msgstr "Categorias mais utilizadas"
#. translators: %1$s: smiley
#: 404.php:62
#, php-format
msgid "Try looking in the monthly archives. %1$s"
msgstr "Tente procurar nos arquivos mensais. %1$s"
#: author.php:34
msgid "About:"
msgstr "Sobre:"
#: author.php:42 inc/custom-comments.php:30
msgid "Website"
msgstr "Website"
#: author.php:49
msgid "Profile"
msgstr "Perfil"
#: author.php:54
msgid "Posts by"
msgstr "Post por"
#: author.php:68
msgid "in"
msgstr "em"
#: comments.php:28
#, php-format #, php-format
msgctxt "comments title" msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;" msgid "One thought on &ldquo;%2$s&rdquo;"
@ -52,220 +103,72 @@ msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Uma ideia sobre &ldquo;%2$s&rdquo;" msgstr[0] "Uma ideia sobre &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s ideias sobre &ldquo;%2$s&rdquo;" msgstr[1] "%1$s ideias sobre &ldquo;%2$s&rdquo;"
#: ../comments.php:35 ../comments.php:56 #: comments.php:36 comments.php:59
msgid "Comment navigation" msgid "Comment navigation"
msgstr "Navegação Respostas" msgstr "Navegação Respostas"
#: ../comments.php:37 ../comments.php:58 #: comments.php:38 comments.php:61
msgid "&larr; Older Comments" msgid "&larr; Older Comments"
msgstr "&larr; Comentários mais antigos" msgstr "&larr; Comentários mais antigos"
#: ../comments.php:40 ../comments.php:61 #: comments.php:42 comments.php:65
msgid "Newer Comments &rarr;" msgid "Newer Comments &rarr;"
msgstr "Comentários mais recentes &rarr;" msgstr "Comentários mais recentes &rarr;"
#: ../comments.php:72 #: comments.php:78
msgid "Comments are closed." msgid "Comments are closed."
msgstr "Comentários estão fechados." msgstr "Comentários estão fechados."
#: ../author.php:27 #: footer.php:27
msgid "About:"
msgstr "Sobre:"
#: ../author.php:32 ../inc/custom-comments.php:16
msgid "Website"
msgstr "Website"
#: ../author.php:34
msgid "Profile"
msgstr "Perfil"
#: ../author.php:38
msgid "Posts by"
msgstr "Post por"
#: ../footer.php:24
msgid "http://wordpress.org/" msgid "http://wordpress.org/"
msgstr "http://wordpress.org/" msgstr "http://wordpress.org/"
#: ../footer.php:24 #: footer.php:28
#, php-format #, php-format
msgid "Proudly powered by %s" msgid "Proudly powered by %s"
msgstr "Orgulhosamente criado com %s" msgstr "Orgulhosamente criado com %s"
#: ../footer.php:26 #: footer.php:31
#, php-format #, php-format
msgid "Theme: %1$s by %2$s." msgid "Theme: %1$s by %2$s."
msgstr "Tema: %1$s por %2$s." msgstr "Tema: %1$s por %2$s."
#: ../header.php:30 #: footer.php:33
msgid "Skip to content"
msgstr "Saltar para o conteúdo"
#: ../search.php:23
#, php-format #, php-format
msgid "Search Results for: %s" msgid "Version: %1$s"
msgstr "Procurar resultados para: %s" msgstr "Versão: %1$s"
#: ../404.php:22 #: searchform.php:10 searchform.php:16
msgid "Oops! That page can&rsquo;t be found."
msgstr "Ops! Essa página não foi encontrada."
#: ../404.php:27
msgid ""
"It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?"
msgstr ""
"Parece que nada foi encontrado neste local. Talvez tente um dos links abaixo "
"ou uma pesquisa!"
#: ../404.php:37
msgid "Most Used Categories"
msgstr "Categorias mais utilizadas"
#. translators: %1$s: smiley
#: ../404.php:57
#, php-format
msgid "Try looking in the monthly archives. %1$s"
msgstr "Tente procurar nos arquivos mensais. %1$s"
#: ../searchform.php:9 ../searchform.php:13
msgid "Search" msgid "Search"
msgstr "Pesquisar" msgstr "Pesquisar"
#: ../searchform.php:11 #: searchform.php:13
msgid "Search &hellip;" msgid "Search &hellip;"
msgstr "Pesquisar &hellip;" msgstr "Pesquisar &hellip;"
#. Name of the template #: loop-templates/content-card.php:43 loop-templates/content-page.php:25
msgid "Full Width Page" #: loop-templates/content.php:37 loop-templates/content-single.php:31
msgstr "Página largura completa" #: loop-templates/content-verticalpage.php:28
#. Name of the template
msgid "Empty Page Template"
msgstr "Template página vazia"
#: ../inc/widgets.php:10
msgid "Sidebar"
msgstr "Barra lateral"
#: ../inc/widgets.php:20
msgid "Hero Slider"
msgstr "Hero Slider"
#: ../inc/widgets.php:30
msgid "Hero Static"
msgstr "Hero Static"
#: ../inc/widgets.php:40
msgid "Footer Full"
msgstr "Rodapé completo"
#: ../inc/customizer.php:24
msgid "Slider Settings"
msgstr "Definições do Slider"
#: ../inc/customizer.php:33
msgid "Number of slides displaying at once"
msgstr "Número de slides mostrados de cada vez"
#: ../inc/customizer.php:45
msgid "Slider Time (in ms)"
msgstr "Tempo (ms) por slide"
#: ../inc/customizer.php:57
msgid "Loop Slider Content"
msgstr "Iterar conteúdo do Slider"
#: ../inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr " Editado %4$s"
#: ../inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Colocado em %s"
#: ../inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "por %s"
#. translators: used between list items, there is a space after the comma
#: ../inc/template-tags.php:51 ../inc/template-tags.php:57
msgid ", "
msgstr ", "
#: ../inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Colocado em %1$s"
#: ../inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "Etiquetas %1$s"
#: ../inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Comentar"
#: ../inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 Comentário"
#: ../inc/template-tags.php:65
#, php-format
msgid "% Comments"
msgstr "% Comentários"
#. translators: %s: Name of current post
#: ../inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Editar %s"
#: ../inc/setup.php:48
msgid "Primary Menu"
msgstr "Menu principal"
#: ../inc/setup.php:98
msgid "Read More..."
msgstr "Continuar a ler..."
#: ../inc/custom-comments.php:12
msgid "Name"
msgstr "Nome"
#: ../inc/custom-comments.php:14
msgid "Email"
msgstr "Email"
#: ../inc/custom-comments.php:25
msgctxt "noun"
msgid "Comment"
msgstr "Comentário"
#: ../loop-templates/content-single.php:29 ../loop-templates/content.php:33 ..
#: /loop-templates/content-page.php:25
msgid "Pages:" msgid "Pages:"
msgstr "Páginas:" msgstr "Páginas:"
#: ../loop-templates/content-none.php:16 #: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Editar"
#: loop-templates/content-none.php:15
msgid "Nothing Found" msgid "Nothing Found"
msgstr "Nada encontrado" msgstr "Nada encontrado"
#: ../loop-templates/content-none.php:24 #: loop-templates/content-none.php:23
#, php-format #, php-format
msgid "" msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>." "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr "" msgstr ""
"Pronto para publicar o primeiro post? <a href=\"%1$s\">Começar aqui</a>." "Pronto para publicar o primeiro post? <a href=\"%1$s\">Começar aqui</a>."
#: ../loop-templates/content-none.php:28 #: loop-templates/content-none.php:28
msgid "" msgid ""
"Sorry, but nothing matched your search terms. Please try again with some " "Sorry, but nothing matched your search terms. Please try again with some "
"different keywords." "different keywords."
@ -273,34 +176,607 @@ msgstr ""
"Lamentamos, nada corresponde aos termos de pesquisa. Por favor, tentar " "Lamentamos, nada corresponde aos termos de pesquisa. Por favor, tentar "
"novamente com algumas palavras-chave diferentes." "novamente com algumas palavras-chave diferentes."
#: ../loop-templates/content-none.php:33 #: loop-templates/content-none.php:34
msgid "" msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps " "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help." "searching can help."
msgstr "" msgstr ""
"Parece que não conseguimos encontrar o que procura. Talvez pesquisar ajude." "Parece que não conseguimos encontrar o que procura. Talvez pesquisar ajude."
#: ../loop-templates/content-page.php:34 #. Name of the template
msgid "Edit" msgid "Blank Page Template"
msgstr "Editar" msgstr "Template Página Vazia"
#. Name of the template
msgid "Left and Right Sidebar Layout"
msgstr "Layout com Barra Lateral à Esquerda"
#. Name of the template
msgid "Empty Page Template"
msgstr "Template página vazia"
#. Name of the template
msgid "Full Width Page"
msgstr "Página largura completa"
#. Name of the template
msgid "Left Sidebar Layout"
msgstr "Layout com Barra Lateral à Esquerda"
#. Name of the template
msgid "Vertical One Page"
msgstr "Uma Página Vertical"
#: inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr " Editado %4$s"
#: inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Colocado em %s"
#: inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "por %s"
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:51 inc/template-tags.php:57
msgid ", "
msgstr ", "
#: inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Colocado em %1$s"
#: inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "Etiquetas %1$s"
#: inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Comentar"
#: inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 Comentário"
#: inc/template-tags.php:65
msgid "% Comments"
msgstr "% Comentários"
#. translators: %s: Name of current post
#: inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Editar %s"
#: inc/template-tags.php:143
msgid "Post navigation"
msgstr "Navegação nos Posts"
#: inc/template-tags.php:148
msgctxt "Previous post link"
msgid "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
msgstr "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
#: inc/template-tags.php:151
msgctxt "Next post link"
msgid "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
msgstr "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
#: inc/setup.php:51
msgid "Primary Menu"
msgstr "Menu principal"
#: inc/setup.php:122
msgid "Read More..."
msgstr "Continuar a ler..."
#: inc/widgets.php:14
msgid "Right Sidebar"
msgstr "Barra Lateral Direita"
#: inc/widgets.php:24
msgid "Left Sidebar"
msgstr "Barra Lateral Esquerda"
#: inc/widgets.php:34
msgid "Hero Slider"
msgstr "Hero Slider"
#: inc/widgets.php:44
msgid "Hero Static"
msgstr "Hero Static"
#: inc/widgets.php:54
msgid "Footer Full"
msgstr "Rodapé completo"
#: inc/custom-comments.php:24
msgid "Name"
msgstr "Nome"
#: inc/custom-comments.php:27
msgid "Email"
msgstr "Email"
#: inc/custom-comments.php:49
msgctxt "noun"
msgid "Comment"
msgstr "Comentário"
#: inc/customizer.php:36
msgid "Slider Settings"
msgstr "Definições do Slider"
#: inc/customizer.php:45
msgid "Number of slides displaying at once"
msgstr "Número de slides mostrados de cada vez"
#: inc/customizer.php:57
msgid "Slider Time (in ms)"
msgstr "Tempo (ms) por slide"
#: inc/customizer.php:69
msgid "Loop Slider Content"
msgstr "Iterar conteúdo do Slider"
#: inc/customizer.php:81
msgid "Theme Layout Settings"
msgstr "Definições do Layout do tema"
#: inc/customizer.php:83
msgid "Container width and sidebar defaults"
msgstr "Contentor com Barras Laterais por defeito"
#: inc/customizer.php:98
msgid "Container Width"
msgstr "Largura do contentor"
#: inc/customizer.php:99
msgid "Choose between Bootstrap's container and container-fluid"
msgstr "Escolha entre Contentor do Bootstrap ou Contentor fluído"
#: inc/customizer.php:104
msgid "Fixed width container"
msgstr "Contentor com largura fixa"
#: inc/customizer.php:105
msgid "Full width container"
msgstr "Contentor com largura completa"
#: inc/customizer.php:122
msgid "Sidebar Positioning"
msgstr "Colocação da Barra Lateral"
#: inc/customizer.php:123
msgid "Set sidebar's position. Can either be: right, left, both or none"
msgstr ""
"Posições das Barras Laterais pode ser, esquerda, direita, ambas ou nenhuma"
#: inc/customizer.php:129
msgid "Right sidebar"
msgstr "Barra Lateral Direita"
#: inc/customizer.php:130
msgid "Left sidebar"
msgstr "Barra Lateral Esquerda"
#: inc/customizer.php:131
msgid "Left & Right sidebars"
msgstr "Barras Laterais Esquerda e Direita"
#: inc/customizer.php:132
msgid "No sidebar"
msgstr "Sem Barra Lateral"
#: inc/customizer.php:150
msgid "Posts Index Style"
msgstr "Estilo do Índex de Posts"
#: inc/customizer.php:151
msgid "Choose how to display latest posts"
msgstr "Escolher como mostrar os últimos posts"
#: inc/customizer.php:156
msgid "Default"
msgstr "Pré-definição"
#: inc/customizer.php:157
msgid "Masonry"
msgstr "Mosaico"
#: inc/customizer.php:158
msgid "Grid"
msgstr "Grelha"
#: inc/customizer.php:187
msgid "Grid Post Columns"
msgstr "Grelha"
#: inc/customizer.php:188
msgid "Choose how many columns to use"
msgstr "Escolher quantas colunas usar"
#: woocommerce/cart/proceed-to-checkout-button.php:27
msgid "Proceed to Checkout"
msgstr "Prosseguir com a compra"
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
msgid "Remove this item"
msgstr "Remover este item"
#: woocommerce/cart/mini-cart.php:72
msgid "No products in the cart."
msgstr "Sem produtos no carrilho."
#: woocommerce/cart/mini-cart.php:80
msgid "Subtotal"
msgstr "Subtotal"
#: woocommerce/cart/mini-cart.php:85
msgid "View Cart"
msgstr "Ver carrinho"
#: woocommerce/cart/mini-cart.php:86
msgid "Checkout"
msgstr "Comprar"
#: woocommerce/cart/cart-empty.php:28
msgid "Your cart is currently empty."
msgstr "O seu carrinho está vazio neste momento."
#: woocommerce/cart/cart-empty.php:36
msgid "Return To Shop"
msgstr "Voltar às compras"
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
#: woocommerce/checkout/form-pay.php:29
msgid "Product"
msgstr "Produto"
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
msgid "Price"
msgstr "Preço"
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
msgid "Quantity"
msgstr "Quantidade"
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
#: woocommerce/myaccount/my-orders.php:16
msgid "Total"
msgstr "Total"
#: woocommerce/cart/cart.php:92
msgid "Available on backorder"
msgstr "Disponível sob reserva"
#: woocommerce/cart/cart.php:138
msgid "Coupon:"
msgstr "Cupão:"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
msgid "Coupon code"
msgstr "Código do cupão"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
msgid "Apply Coupon"
msgstr "Aplicar cupão"
#: woocommerce/cart/cart.php:144
msgid "Update Cart"
msgstr "Actualizar carrilho"
#: woocommerce/checkout/payment.php:35
msgid ""
"Sorry, it seems that there are no available payment methods for your state. "
"Please contact us if you require assistance or wish to make alternate "
"arrangements."
msgstr ""
"Lamentamos, não há métodos de pagamento disponíveis para a sua localização. "
"Por favor contacte-nos se desejar combinar alternativas."
#: woocommerce/checkout/payment.php:35
msgid "Please fill in your details above to see available payment methods."
msgstr ""
"Por favor preencha os seus dados para ver métodos de pagamento disponíveis."
#: woocommerce/checkout/payment.php:42
msgid ""
"Since your browser does not support JavaScript, or it is disabled, please "
"ensure you click the <em>Update Totals</em> button before placing your "
"order. You may be charged more than the amount stated above if you fail to "
"do so."
msgstr ""
"Dado que o seu navegador de Internet não suporta Javascript, ou o tem "
"desligado, por favor carregue no botão <em>Actualizar Totais</em> antes de "
"colocar a sua encomenda. Não o fazer pode ocasionar erros."
#: woocommerce/checkout/payment.php:43
msgid "Update totals"
msgstr "Actualizar Totais"
#: woocommerce/checkout/form-pay.php:30
msgid "Qty"
msgstr "Qtd"
#: woocommerce/checkout/form-pay.php:31
msgid "Totals"
msgstr "Totais"
#: woocommerce/checkout/form-pay.php:79
msgid ""
"Sorry, it seems that there are no available payment methods for your "
"location. Please contact us if you require assistance or wish to make "
"alternate arrangements."
msgstr ""
"Lamentamos, não há métodos de pagamento disponíveis para a sua localização. "
"Por favor contacte-nos se desejar combinar alternativas."
#: woocommerce/checkout/form-coupon.php:28
msgid "Have a coupon?"
msgstr "Tem um cupão?"
#: woocommerce/checkout/form-coupon.php:28
msgid "Click here to enter your code"
msgstr "Carregue aqui para introduzir o seu código"
#: woocommerce/global/form-login.php:35
#: woocommerce/myaccount/form-lost-password.php:30
msgid "Username or email"
msgstr "Nome de utilizador ou endereço de email"
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
#: woocommerce/myaccount/form-login.php:98
msgid "Password"
msgstr "Palavra passe"
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
#: woocommerce/myaccount/form-login.php:56
msgid "Login"
msgstr "Entrar"
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
msgid "Remember me"
msgstr "Manter login"
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
msgid "Lost your password?"
msgstr "Perdeu a palavra passe?"
#: woocommerce/global/quantity-input.php:24
msgctxt "Product quantity input tooltip"
msgid "Qty"
msgstr "Qtd"
#: woocommerce/myaccount/form-lost-password.php:27
msgid ""
"Lost your password? Please enter your username or email address. You will "
"receive a link to create a new password via email."
msgstr ""
"Perdeu a palavra passe? Por favor preencha o seu endereço de email. Receberá "
"um link para criar uma nova palavra passe."
#: woocommerce/myaccount/form-lost-password.php:40
msgid "Reset Password"
msgstr "Enviar link"
#: woocommerce/myaccount/form-login.php:44
msgid "Username or email address"
msgstr "Nome de utilizador ou endereço de email"
#: woocommerce/myaccount/form-login.php:75
#: woocommerce/myaccount/form-login.php:112
msgid "Register"
msgstr "Registrar"
#: woocommerce/myaccount/form-login.php:84
msgid "Username"
msgstr "Nome de utilizador"
#: woocommerce/myaccount/form-login.php:91
#: woocommerce/myaccount/form-edit-account.php:40
msgid "Email address"
msgstr "Endereço de email"
#: woocommerce/myaccount/form-login.php:105
msgid "Anti-spam"
msgstr "Anti-spam"
#: woocommerce/myaccount/form-edit-account.php:30
msgid "First name"
msgstr "Primeiro nome"
#: woocommerce/myaccount/form-edit-account.php:34
msgid "Last name"
msgstr "Ultimo nome"
#: woocommerce/myaccount/form-edit-account.php:45
msgid "Password Change"
msgstr "Alterar palavra passe"
#: woocommerce/myaccount/form-edit-account.php:48
msgid "Current Password (leave blank to leave unchanged)"
msgstr "Palavra passe actual (deixar em branco para não alterar)"
#: woocommerce/myaccount/form-edit-account.php:52
msgid "New Password (leave blank to leave unchanged)"
msgstr "Nova Palavra passe (deixar em branco para não alterar)"
#: woocommerce/myaccount/form-edit-account.php:56
msgid "Confirm New Password"
msgstr "Reintroduzir nova palavra passe"
#: woocommerce/myaccount/form-edit-account.php:66
msgid "Save changes"
msgstr "Gravar"
#: woocommerce/myaccount/my-orders.php:13
msgid "Order"
msgstr "Encomenda"
#: woocommerce/myaccount/my-orders.php:14
msgid "Date"
msgstr "Data"
#: woocommerce/myaccount/my-orders.php:15
msgid "Status"
msgstr "Estado"
#: woocommerce/myaccount/my-orders.php:30
msgid "Recent Orders"
msgstr "Encomendas recentes"
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
msgctxt "hash before order number"
msgid "#"
msgstr "#"
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
#, php-format
msgid "%s for %s item"
msgid_plural "%s for %s items"
msgstr[0] "%s por %s item"
msgstr[1] "%s por %s items"
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
msgid "Pay"
msgstr "Pagar"
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
msgid "View"
msgstr "Ver"
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
msgid "Cancel"
msgstr "Cancelar"
#: woocommerce/myaccount/orders.php:107
msgid "Previous"
msgstr "Anterior"
#: woocommerce/myaccount/orders.php:111
msgid "Next"
msgstr "Próximo"
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
msgid "Go Shop"
msgstr "Ir comprar"
#: woocommerce/myaccount/orders.php:121
msgid "No order has been made yet."
msgstr "Sem encomendas."
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Billing Address"
msgstr "Endereço de faturação"
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Shipping Address"
msgstr "Endereço de expedição"
#: woocommerce/myaccount/form-edit-address.php:46
msgid "Save Address"
msgstr "Gravar endereço"
#: woocommerce/myaccount/form-reset-password.php:27
msgid "Enter a new password below."
msgstr "Introduzir nova palavra passe abaixo."
#: woocommerce/myaccount/form-reset-password.php:30
msgid "New password"
msgstr "Nova palavra passe"
#: woocommerce/myaccount/form-reset-password.php:34
msgid "Re-enter new password"
msgstr "Reintroduzir nova palavra passe"
#: woocommerce/myaccount/form-reset-password.php:47
msgid "Save"
msgstr "Gravar"
#: woocommerce/myaccount/downloads.php:59
msgid "&infin;"
msgstr "&infin;"
#: woocommerce/myaccount/downloads.php:67
msgid "Never"
msgstr "Nunca"
#: woocommerce/myaccount/downloads.php:75
msgid "Download"
msgstr "Descarregar"
#: woocommerce/myaccount/downloads.php:100
msgid "No downloads available yet."
msgstr "Ainda não há downloads disponíveis."
#: woocommerce/single-product/review-rating.php:28
#, php-format
msgid "Rated %d out of 5"
msgstr "Classificado %d de 5"
#: woocommerce/single-product/review-rating.php:29
msgid "out of 5"
msgstr "de 5"
#: woocommerce/single-product/rating.php:36
#, php-format
msgid "Rated %s out of 5"
msgstr "Classificado %s de 5"
#: woocommerce/single-product/rating.php:38
#, php-format
msgid "out of %s5%s"
msgstr "de %s5%s"
#: woocommerce/single-product/rating.php:39
#, php-format
msgid "based on %s customer rating"
msgid_plural "based on %s customer ratings"
msgstr[0] "baseado em %s classificação de cliente"
msgstr[1] "baseado em %s classificaçõs de clientes"
#: woocommerce/single-product/rating.php:42
#, php-format
msgid "%s customer review"
msgid_plural "%s customer reviews"
msgstr[0] "%s comentário de um cliente"
msgstr[1] "%s comentários de clientes"
#. Name of the theme #. Name of the theme
msgid "UnderStrap" msgid "UnderStrap"
msgstr "UnderStrap" msgstr "UnderStrap"
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Description of the theme #. Description of the theme
msgid "" msgid ""
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid " "Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
"starting point for your next theme project and WordPress website. Use it as " "starting point for your next theme project and WordPress website. Use it as "
"starter theme or as parent theme. It is up to you." "starter theme or as a parent theme. It is up to you. Including Font Awesome "
"support, built-in widget slider and much more you need for basic websites. "
"IMPORTANT: All developer dependencies are not bundled with this install "
"file. Just download the .zip, extract it and run \"npm install\" and \"gulp "
"copy-assets\" inside the extracted /understrap folder."
msgstr "" msgstr ""
"Combinação do tema _s da Automattic com Bootstrap 4. Feito como um sólido " "Combinação do tema _s da Automattic e Bootstrap 4. Pensado como um ponto de "
"ponto de partida para o tema do seu próximo website WordPress. Usar como " "arranque sólido para o teu próximo projecto e website WordPress. Utiliza "
"tema de arranque ou como tema base, cabe a si definir." "como um starter theme ou parent theme. Inclui suporte para Font Awesome, "
"slider de widgets e muito mais. IMPORTANTE as dependências de "
"desenvolvimento não estão incluídas com o ficheiro de instalação. é "
"necessário executar \"npm install\" e \"gulp copy-assets\" dentro da "
"directoria /understrap."
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Author of the theme #. Author of the theme
msgid "Holger Koenemann" msgid "Holger Koenemann"
@ -309,3 +785,24 @@ msgstr "Holger Koenemann"
#. Author URI of the theme #. Author URI of the theme
msgid "http://www.holgerkoenemann.de" msgid "http://www.holgerkoenemann.de"
msgstr "http://www.holgerkoenemann.de" msgstr "http://www.holgerkoenemann.de"
msgid "Proceed to checkout"
msgstr "Prosseguir com a compra"
msgid "Apply coupon"
msgstr "Aplicar cupão"
msgid "Update cart"
msgstr "Atualizar carrinho"
msgid "Your order"
msgstr "A sua encomenda"
#~ msgid ""
#~ "Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
#~ "starting point for your next theme project and WordPress website. Use it "
#~ "as starter theme or as parent theme. It is up to you."
#~ msgstr ""
#~ "Combinação do tema _s da Automattic com Bootstrap 4. Feito como um sólido "
#~ "ponto de partida para o tema do seu próximo website WordPress. Usar como "
#~ "tema de arranque ou como tema base, cabe a si definir."

BIN
languages/sl_SI.mo Normal file

Binary file not shown.

810
languages/sl_SI.po Normal file
View File

@ -0,0 +1,810 @@
msgid ""
msgstr ""
"Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
"POT-Creation-Date: 2018-06-17 17:56+0000\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
"PO-Revision-Date: 2019-02-01 10:57+0100\n"
"Language-Team: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 2.0.7\n"
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
"X-Poedit-Basepath: ..\n"
"Last-Translator: Davor Lonzaric <info@fatshape.com>\n"
"Language: sl_SI\n"
"X-Poedit-SearchPath-0: footer.php\n"
"X-Poedit-SearchPath-1: header.php\n"
"X-Poedit-SearchPath-2: index.php\n"
"X-Poedit-SearchPath-3: statichero.php\n"
"X-Poedit-SearchPath-4: 404.php\n"
"X-Poedit-SearchPath-5: archive.php\n"
"X-Poedit-SearchPath-6: search.php\n"
"X-Poedit-SearchPath-7: sticky.php\n"
"X-Poedit-SearchPath-8: single.php\n"
"X-Poedit-SearchPath-9: sidebar.php\n"
"X-Poedit-SearchPath-10: comment-form.php\n"
"X-Poedit-SearchPath-11: comments.php\n"
"X-Poedit-SearchPath-12: content-none.php\n"
"X-Poedit-SearchPath-13: content-page.php\n"
"X-Poedit-SearchPath-14: content-search.php\n"
"X-Poedit-SearchPath-15: content-single.php\n"
"X-Poedit-SearchPath-16: content.php\n"
"X-Poedit-SearchPath-17: hero.php\n"
"X-Poedit-SearchPath-18: page.php\n"
"X-Poedit-SearchPath-19: functions.php\n"
"X-Poedit-SearchPath-20: page-templates\n"
"X-Poedit-SearchPath-21: inc\n"
#: search.php:29
#, php-format
msgid "Search Results for: %s"
msgstr "Rezultati iskanja za: %s"
#: header.php:34
msgid "Skip to content"
msgstr "Preskoči na vsebino"
#: 404.php:24
msgid "Oops! That page can&rsquo;t be found."
msgstr "Ups! Strani ni bilo mogoče najti."
#: 404.php:31
msgid ""
"It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?"
msgstr ""
"Izgleda, da na tej lokaciji nismo našli ničesar. Poskusite s spodnjimi "
"povezavami ali pa z iskalnikom?"
#: 404.php:42
msgid "Most Used Categories"
msgstr "Najbolj uporabljene kategorije"
#. translators: %1$s: smiley
#: 404.php:62
#, php-format
msgid "Try looking in the monthly archives. %1$s"
msgstr "Pokukajte v mesečni arhiv. %1$s"
#: author.php:34
msgid "About:"
msgstr "O avtorju:"
#: author.php:42 inc/custom-comments.php:30
msgid "Website"
msgstr "Spletna stran"
#: author.php:49
msgid "Profile"
msgstr "Profil"
#: author.php:54
msgid "Posts by"
msgstr "Objave od"
#: author.php:68
msgid "in"
msgstr ""
#: comments.php:28
#, php-format
msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Ena misel o &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s misli o &ldquo;%2$s&rdquo;"
msgstr[2] "%1$s misli o &ldquo;%2$s&rdquo;"
msgstr[3] "%1$s misli o &ldquo;%2$s&rdquo;"
#: comments.php:36 comments.php:59
msgid "Comment navigation"
msgstr "Navigacija komentarjev"
#: comments.php:38 comments.php:61
msgid "&larr; Older Comments"
msgstr "&larr; Starejši komentarji"
#: comments.php:42 comments.php:65
msgid "Newer Comments &rarr;"
msgstr "Novejši komentarji &rarr;"
#: comments.php:78
msgid "Comments are closed."
msgstr "Komentarji so zaklenjeni."
#: footer.php:27
msgid "http://wordpress.org/"
msgstr "http://wordpress.org/"
#: footer.php:28
#, php-format
msgid "Proudly powered by %s"
msgstr "Ponosno poganja %s"
#: footer.php:31
#, php-format
msgid "Theme: %1$s by %2$s."
msgstr "Tema: %1$s od %2$s."
#: footer.php:33
#, php-format
msgid "Version: %1$s"
msgstr "Verzija: %1$s"
#: searchform.php:10 searchform.php:16
msgid "Search"
msgstr "Iskanje"
#: searchform.php:13
msgid "Search &hellip;"
msgstr "Iskanje &hellip;"
#: loop-templates/content-card.php:43 loop-templates/content-page.php:25
#: loop-templates/content.php:37 loop-templates/content-single.php:31
#: loop-templates/content-verticalpage.php:28
msgid "Pages:"
msgstr "Strani:"
#: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Uredi"
#: loop-templates/content-none.php:15
msgid "Nothing Found"
msgstr "Nič ni mogoče najti"
#: loop-templates/content-none.php:23
#, php-format
msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
"Ste pripravljeni objaviti prvo objavo? <a href=\"%1$s\"> Začnite tukaj </a>."
#: loop-templates/content-none.php:28
msgid ""
"Sorry, but nothing matched your search terms. Please try again with some "
"different keywords."
msgstr ""
"Oprostite, toda nič ne ustreza vašemu iskalnemu nizu. Poskusite znova z "
"drugimi ključnimi besedami."
#: loop-templates/content-none.php:34
msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help."
msgstr ""
"Videti je, da ne moremo najti tistega, kar iščete. Pomagajte si z iskalcem."
#. Name of the template
msgid "Blank Page Template"
msgstr "Predloga s prazno stranjo"
#. Name of the template
msgid "Left and Right Sidebar Layout"
msgstr "Razporeditev za levo in desno stransko pasico"
#. Name of the template
msgid "Empty Page Template"
msgstr "Predloga s prazno stranjo"
#. Name of the template
msgid "Full Width Page"
msgstr "Stran čez celo širino"
#. Name of the template
msgid "Left Sidebar Layout"
msgstr "Razporeditev za levo stransko pasico"
#. Name of the template
msgid "Vertical One Page"
msgstr "Ena vertikalna stran"
#: inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr "Urejeno %4$s"
#: inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Poslano: %s"
#: inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "od %s"
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:51 inc/template-tags.php:57
msgid ", "
msgstr ", "
#: inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Poslano v %1$s"
#: inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "Označeno %1$s"
#: inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Napiši komentar"
#: inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 Komentar"
#: inc/template-tags.php:65
msgid "% Comments"
msgstr "% komentarjev"
#. translators: %s: Name of current post
#: inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Uredi %s"
#: inc/template-tags.php:143
msgid "Post navigation"
msgstr "Navigacija za objave"
#: inc/template-tags.php:148
msgctxt "Previous post link"
msgid "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
msgstr "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
#: inc/template-tags.php:151
msgctxt "Next post link"
msgid "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
msgstr "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
#: inc/setup.php:51
msgid "Primary Menu"
msgstr "Primarni meni"
#: inc/setup.php:122
msgid "Read More..."
msgstr "Preberi več..."
#: inc/widgets.php:14
msgid "Right Sidebar"
msgstr "Desna stranska pasica"
#: inc/widgets.php:24
msgid "Left Sidebar"
msgstr "Leva stranska pasica"
#: inc/widgets.php:34
msgid "Hero Slider"
msgstr "Hero drsnik"
#: inc/widgets.php:44
msgid "Hero Static"
msgstr "Hero Static"
#: inc/widgets.php:54
msgid "Footer Full"
msgstr "Noga čez celo širino"
#: inc/custom-comments.php:24
msgid "Name"
msgstr "Ime"
#: inc/custom-comments.php:27
msgid "Email"
msgstr "E-pošta"
#: inc/custom-comments.php:49
msgctxt "noun"
msgid "Comment"
msgstr "Komentar"
#: inc/customizer.php:36
msgid "Slider Settings"
msgstr "Nastavitve drsnika"
#: inc/customizer.php:45
msgid "Number of slides displaying at once"
msgstr "Število elementov drsnika prikazanih naenkrat"
#: inc/customizer.php:57
msgid "Slider Time (in ms)"
msgstr "Čas drsnika (v ms)"
#: inc/customizer.php:69
msgid "Loop Slider Content"
msgstr "Vsebina drsnika"
#: inc/customizer.php:81
msgid "Theme Layout Settings"
msgstr "Nastavitve razporeditev v temi"
#: inc/customizer.php:83
msgid "Container width and sidebar defaults"
msgstr "Privzeta širina kontejnerja in stranskih pasic"
#: inc/customizer.php:98
msgid "Container Width"
msgstr "Širina kontejnerja"
#: inc/customizer.php:99
msgid "Choose between Bootstrap's container and container-fluid"
msgstr ""
"Izberite med Bootstrap \"container\" (omejen) ali \"container-fluid"
"\" (razpotegnjen)"
#: inc/customizer.php:104
msgid "Fixed width container"
msgstr "Stran s fiksno širino"
#: inc/customizer.php:105
msgid "Full width container"
msgstr "Čez celo širino"
#: inc/customizer.php:122
msgid "Sidebar Positioning"
msgstr "Pozicija stranske pasice"
#: inc/customizer.php:123
msgid "Set sidebar's position. Can either be: right, left, both or none"
msgstr ""
"Nastavite pozicijo stranske pasice. Lahko je: desno, levo, oboje ali nič"
#: inc/customizer.php:129
msgid "Right sidebar"
msgstr "Desna stranska pasica"
#: inc/customizer.php:130
msgid "Left sidebar"
msgstr "Leva stranska pasica"
#: inc/customizer.php:131
msgid "Left & Right sidebars"
msgstr "Leva in desna stranska pasica"
#: inc/customizer.php:132
msgid "No sidebar"
msgstr "Brez stranske pasica"
#: inc/customizer.php:150
msgid "Posts Index Style"
msgstr "Slog indeksa objav"
#: inc/customizer.php:151
msgid "Choose how to display latest posts"
msgstr "Izberite kako prikazovati zadnje objave"
#: inc/customizer.php:156
msgid "Default"
msgstr "Privzeto"
#: inc/customizer.php:157
msgid "Masonry"
msgstr "Zidaki"
#: inc/customizer.php:158
msgid "Grid"
msgstr "Mreža"
#: inc/customizer.php:187
msgid "Grid Post Columns"
msgstr "Stolpci objav v mreži"
#: inc/customizer.php:188
msgid "Choose how many columns to use"
msgstr "Izberite koliko vrstic uporabiti"
#: woocommerce/cart/proceed-to-checkout-button.php:27
msgid "Proceed to Checkout"
msgstr "Na blagajno"
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
msgid "Remove this item"
msgstr "Odstrani izdelek"
#: woocommerce/cart/mini-cart.php:72
msgid "No products in the cart."
msgstr "V košarici ni izdelkov."
#: woocommerce/cart/mini-cart.php:80
msgid "Subtotal"
msgstr "Vmesni znesek"
#: woocommerce/cart/mini-cart.php:85
msgid "View Cart"
msgstr "Poglej košarico"
#: woocommerce/cart/mini-cart.php:86
msgid "Checkout"
msgstr "Na blagajno"
#: woocommerce/cart/cart-empty.php:28
msgid "Your cart is currently empty."
msgstr "Vaša košarica je trenutno prazna."
#: woocommerce/cart/cart-empty.php:36
msgid "Return To Shop"
msgstr "Nadaljuj z nakupom"
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
#: woocommerce/checkout/form-pay.php:29
msgid "Product"
msgstr "Izdelek"
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
msgid "Price"
msgstr "Cena"
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
msgid "Quantity"
msgstr "Količina"
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
#: woocommerce/myaccount/my-orders.php:16
msgid "Total"
msgstr "Skupaj"
#: woocommerce/cart/cart.php:92
msgid "Available on backorder"
msgstr "Na voljo kot prednaročilo"
#: woocommerce/cart/cart.php:138
msgid "Coupon:"
msgstr "Kupon:"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
msgid "Coupon code"
msgstr "Koda kupona"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
msgid "Apply Coupon"
msgstr "Unovči kupon"
#: woocommerce/cart/cart.php:144
msgid "Update Cart"
msgstr "Posodobi košarico"
#: woocommerce/checkout/payment.php:35
msgid ""
"Sorry, it seems that there are no available payment methods for your state. "
"Please contact us if you require assistance or wish to make alternate "
"arrangements."
msgstr ""
"Žal kaže, da za vašo državo ni na voljo nobenega načina plačila. Če "
"potrebujete pomoč ali želite alternativno rešitev, nas prosim kontaktirajte."
#: woocommerce/checkout/payment.php:35
msgid "Please fill in your details above to see available payment methods."
msgstr ""
"Vnesite svoje podatke zgoraj, da boste videli razpoložljive načine plačila."
#: woocommerce/checkout/payment.php:42
msgid ""
"Since your browser does not support JavaScript, or it is disabled, please "
"ensure you click the <em>Update Totals</em> button before placing your "
"order. You may be charged more than the amount stated above if you fail to "
"do so."
msgstr ""
"Ker vaš brskalnik ne podpira JavaScripta ali pa je onemogočen, se "
"prepričajte, da kliknete gumb <em> Posodobi končni znesek </em>, preden "
"oddate naročilo. Če tega ne storite, vam lahko zaračunamo več, kot je "
"navedeno zgoraj."
#: woocommerce/checkout/payment.php:43
msgid "Update totals"
msgstr "Posodobi končni znesek"
#: woocommerce/checkout/form-pay.php:30
msgid "Qty"
msgstr "Kol"
#: woocommerce/checkout/form-pay.php:31
msgid "Totals"
msgstr "Skupaj"
#: woocommerce/checkout/form-pay.php:79
msgid ""
"Sorry, it seems that there are no available payment methods for your "
"location. Please contact us if you require assistance or wish to make "
"alternate arrangements."
msgstr ""
"Žal kaže, da za vašo lokacijo ni na voljo nobenega načina plačila. Če "
"potrebujete pomoč ali želite alternativno rešitev, nas prosim kontaktirajte."
#: woocommerce/checkout/form-coupon.php:28
msgid "Have a coupon?"
msgstr "Imate kupon?"
#: woocommerce/checkout/form-coupon.php:28
msgid "Click here to enter your code"
msgstr "Kliknite sem za vpis kode"
#: woocommerce/global/form-login.php:35
#: woocommerce/myaccount/form-lost-password.php:30
msgid "Username or email"
msgstr "Uporabniško ime ali email"
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
#: woocommerce/myaccount/form-login.php:98
msgid "Password"
msgstr "Geslo"
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
#: woocommerce/myaccount/form-login.php:56
msgid "Login"
msgstr "Prijava"
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
msgid "Remember me"
msgstr "Zapomni si me"
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
msgid "Lost your password?"
msgstr "Izgubljeno geslo?"
#: woocommerce/global/quantity-input.php:24
msgctxt "Product quantity input tooltip"
msgid "Qty"
msgstr "Kol"
#: woocommerce/myaccount/form-lost-password.php:27
msgid ""
"Lost your password? Please enter your username or email address. You will "
"receive a link to create a new password via email."
msgstr ""
"Pozabili geslo? Vnesite svoje uporabniško ime ali e-poštni naslov. Prejeli "
"boste povezavo za ustvarjanje novega gesla po e-pošti."
#: woocommerce/myaccount/form-lost-password.php:40
msgid "Reset Password"
msgstr "Ponastavi geslo"
#: woocommerce/myaccount/form-login.php:44
msgid "Username or email address"
msgstr "Uporabniško ime ali email naslov"
#: woocommerce/myaccount/form-login.php:75
#: woocommerce/myaccount/form-login.php:112
msgid "Register"
msgstr "Registriraj se"
#: woocommerce/myaccount/form-login.php:84
msgid "Username"
msgstr "Uporabniško ime"
#: woocommerce/myaccount/form-login.php:91
#: woocommerce/myaccount/form-edit-account.php:40
msgid "Email address"
msgstr "E-mail naslov"
#: woocommerce/myaccount/form-login.php:105
msgid "Anti-spam"
msgstr "Anti-spam"
#: woocommerce/myaccount/form-edit-account.php:30
msgid "First name"
msgstr "Ime"
#: woocommerce/myaccount/form-edit-account.php:34
msgid "Last name"
msgstr "Priimek"
#: woocommerce/myaccount/form-edit-account.php:45
msgid "Password Change"
msgstr "Menjava gesla"
#: woocommerce/myaccount/form-edit-account.php:48
msgid "Current Password (leave blank to leave unchanged)"
msgstr "Trenutno geslo (pustite prazno, če ne želite spremeniti)"
#: woocommerce/myaccount/form-edit-account.php:52
msgid "New Password (leave blank to leave unchanged)"
msgstr "Novo geslo (pustite prazno, če ne želite spremeniti)"
#: woocommerce/myaccount/form-edit-account.php:56
msgid "Confirm New Password"
msgstr "Potrdite novo geslo"
#: woocommerce/myaccount/form-edit-account.php:66
msgid "Save changes"
msgstr "Shrani spremembe"
#: woocommerce/myaccount/my-orders.php:13
msgid "Order"
msgstr "Naročilo"
#: woocommerce/myaccount/my-orders.php:14
msgid "Date"
msgstr "Datum"
#: woocommerce/myaccount/my-orders.php:15
msgid "Status"
msgstr "Stanje"
#: woocommerce/myaccount/my-orders.php:30
msgid "Recent Orders"
msgstr "Zadnja naročila"
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
msgctxt "hash before order number"
msgid "#"
msgstr "#"
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
#, php-format
msgid "%s for %s item"
msgid_plural "%s for %s items"
msgstr[0] "%s za %s izdelek"
msgstr[1] "%s za %s izdelka"
msgstr[2] "%s za %s izdelke"
msgstr[3] "%s za %s izdelkov"
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
msgid "Pay"
msgstr "Plačaj"
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
msgid "View"
msgstr "Poglej"
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
msgid "Cancel"
msgstr "Prekliči"
#: woocommerce/myaccount/orders.php:107
msgid "Previous"
msgstr "Prejšnji"
#: woocommerce/myaccount/orders.php:111
msgid "Next"
msgstr "Naslednji"
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
msgid "Go Shop"
msgstr "Pojdi nakupovati"
#: woocommerce/myaccount/orders.php:121
msgid "No order has been made yet."
msgstr "Do sedaj ni bilo oddano nobeno naročilo."
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Billing Address"
msgstr "Naslov plačnika"
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Shipping Address"
msgstr "Naslov prejemnika"
#: woocommerce/myaccount/form-edit-address.php:46
msgid "Save Address"
msgstr "Shrani naslov"
#: woocommerce/myaccount/form-reset-password.php:27
msgid "Enter a new password below."
msgstr "Vnesite novo geslo."
#: woocommerce/myaccount/form-reset-password.php:30
msgid "New password"
msgstr "Novo geslo"
#: woocommerce/myaccount/form-reset-password.php:34
msgid "Re-enter new password"
msgstr "Znova vnesite novo geslo"
#: woocommerce/myaccount/form-reset-password.php:47
msgid "Save"
msgstr "Shrani"
#: woocommerce/myaccount/downloads.php:59
msgid "&infin;"
msgstr "&infin;"
#: woocommerce/myaccount/downloads.php:67
msgid "Never"
msgstr "Nikoli"
#: woocommerce/myaccount/downloads.php:75
msgid "Download"
msgstr "Prenos"
#: woocommerce/myaccount/downloads.php:100
msgid "No downloads available yet."
msgstr "Zaenkrat še ni razpoložljivih prenosov."
#: woocommerce/single-product/review-rating.php:28
#, php-format
msgid "Rated %d out of 5"
msgstr "Ocena %d od 5"
#: woocommerce/single-product/review-rating.php:29
msgid "out of 5"
msgstr "od 5"
#: woocommerce/single-product/rating.php:36
#, php-format
msgid "Rated %s out of 5"
msgstr "Ocena %s od 5"
#: woocommerce/single-product/rating.php:38
#, php-format
msgid "out of %s5%s"
msgstr "od %s5%s"
#: woocommerce/single-product/rating.php:39
#, php-format
msgid "based on %s customer rating"
msgid_plural "based on %s customer ratings"
msgstr[0] "glede na %s uporabnikovo oceno"
msgstr[1] "glede na %s uporabnikovi oceni"
msgstr[2] "glede na %s uporabnikove ocene"
msgstr[3] "glede na %s uporabniških ocen"
#: woocommerce/single-product/rating.php:42
#, php-format
msgid "%s customer review"
msgid_plural "%s customer reviews"
msgstr[0] "%s mnenje uporabnika"
msgstr[1] "%s mnenji uporabnikov"
msgstr[2] "%s mnenja uporabnikov"
msgstr[3] "%s mnenj uporabnikov"
#. Name of the theme
msgid "UnderStrap"
msgstr "UnderStrap"
#. Description of the theme
msgid ""
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
"starting point for your next theme project and WordPress website. Use it as "
"starter theme or as a parent theme. It is up to you. Including Font Awesome "
"support, built-in widget slider and much more you need for basic websites. "
"IMPORTANT: All developer dependencies are not bundled with this install "
"file. Just download the .zip, extract it and run \"npm install\" and \"gulp "
"copy-assets\" inside the extracted /understrap folder."
msgstr ""
"Kombinacija teme \"_s\" s strani Automattic ekipe in Bootstrap 4. Namenjena "
"kot izhodiščni točki pri izdelavi predloge (teme) in WordPress spletne "
"strani. Uporabite jo lahko kot začetno temo ali kot nadrejeno temo. Podpira "
"Font Awesome, ima vgrajen drsnik za gradnike in še veliko več. POMEMBNO: Vse "
"odvisnosti razvijalcev niso povezane s to namestitveno datoteko. Preprosto "
"prenesite datoteko .zip, jo odpakirajte in zaženite \"npm install\" in "
"\"gulp copy-assets\" v mapi /understrap."
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Author of the theme
msgid "Holger Koenemann"
msgstr "Holger Koenemann"
#. Author URI of the theme
msgid "http://www.holgerkoenemann.de"
msgstr "http://www.holgerkoenemann.de"
msgid "Proceed to checkout"
msgstr "Na blagajno"
msgid "Apply coupon"
msgstr "Unovči kupon"
msgid "Update cart"
msgstr "Posodobi košarico"
msgid "Your order"
msgstr "Vaše naročilo"

View File

@ -1,8 +1,11 @@
<?php <?php
/** /**
* Blank content partial template. * Blank content partial template
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
the_content(); the_content();

View File

@ -1,8 +1,11 @@
<?php <?php
/** /**
* Content empty partial template. * Content empty partial template
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
the_content(); the_content();

View File

@ -1,12 +1,14 @@
<?php <?php
/** /**
* The template part for displaying a message that posts cannot be found. * The template part for displaying a message that posts cannot be found
* *
* Learn more: http://codex.wordpress.org/Template_Hierarchy * Learn more: http://codex.wordpress.org/Template_Hierarchy
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<section class="no-results not-found"> <section class="no-results not-found">
@ -20,25 +22,33 @@
<div class="page-content"> <div class="page-content">
<?php <?php
if ( is_home() && current_user_can( 'publish_posts' ) ) : ?> if ( is_home() && current_user_can( 'publish_posts' ) ) :
<p><?php printf( wp_kses( __( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'understrap' ), array( $kses = array( 'a' => array( 'href' => array() ) );
'a' => array( printf(
'href' => array(), /* translators: 1: Link to WP admin new post page. */
), '<p>' . wp_kses( __( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'understrap' ), $kses ) . '</p>',
) ), esc_url( admin_url( 'post-new.php' ) ) ); ?></p> esc_url( admin_url( 'post-new.php' ) )
);
<?php elseif ( is_search() ) : ?> elseif ( is_search() ) :
<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'understrap' ); ?></p> printf(
<?php '<p>%s<p>',
esc_html__( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'understrap' )
);
get_search_form(); get_search_form();
else : ?>
<p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'understrap' ); ?></p> else :
<?php
printf(
'<p>%s<p>',
esc_html__( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'understrap' )
);
get_search_form(); get_search_form();
endif; ?>
endif;
?>
</div><!-- .page-content --> </div><!-- .page-content -->
</section><!-- .no-results --> </section><!-- .no-results -->

View File

@ -5,7 +5,10 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<article <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<header class="entry-header"> <header class="entry-header">
@ -21,10 +24,12 @@
<?php the_content(); ?> <?php the_content(); ?>
<?php <?php
wp_link_pages( array( wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ), 'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ),
'after' => '</div>', 'after' => '</div>',
) ); )
);
?> ?>
</div><!-- .entry-content --> </div><!-- .entry-content -->

View File

@ -1,19 +1,26 @@
<?php <?php
/** /**
* Search results partial template. * Search results partial template
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<article <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<header class="entry-header"> <header class="entry-header">
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), <?php
'</a></h2>' ); ?> the_title(
sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ),
'</a></h2>'
);
?>
<?php if ( 'post' == get_post_type() ) : ?> <?php if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta"> <div class="entry-meta">

View File

@ -1,11 +1,14 @@
<?php <?php
/** /**
* Single post partial template. * Single post partial template
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<article <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<header class="entry-header"> <header class="entry-header">
@ -27,10 +30,12 @@
<?php the_content(); ?> <?php the_content(); ?>
<?php <?php
wp_link_pages( array( wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ), 'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ),
'after' => '</div>', 'after' => '</div>',
) ); )
);
?> ?>
</div><!-- .entry-content --> </div><!-- .entry-content -->

View File

@ -1,20 +1,26 @@
<?php <?php
/** /**
* Post rendering content according to caller of get_template_part. * Post rendering content according to caller of get_template_part
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<article <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<header class="entry-header"> <header class="entry-header">
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), <?php
'</a></h2>' ); ?> the_title(
sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ),
'</a></h2>'
);
?>
<?php if ( 'post' == get_post_type() ) : ?> <?php if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta"> <div class="entry-meta">
<?php understrap_posted_on(); ?> <?php understrap_posted_on(); ?>
@ -28,15 +34,15 @@
<div class="entry-content"> <div class="entry-content">
<?php <?php the_excerpt(); ?>
the_excerpt();
?>
<?php <?php
wp_link_pages( array( wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ), 'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ),
'after' => '</div>', 'after' => '</div>',
) ); )
);
?> ?>
</div><!-- .entry-content --> </div><!-- .entry-content -->

17339
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,18 @@
{ {
"name": "understrap", "name": "understrap",
"version": "0.8.3", "version": "0.9.4",
"description": "WordPress Theme framework", "description": "WordPress Theme framework",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"postinstall": "gulp copy-assets" "postinstall": "gulp copy-assets",
"watch-bs": "gulp watch-bs"
}, },
"engines": { "engines": {
"npm": ">=2.1.8" "npm": ">=2.1.8"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/holger1411/understrap.git" "url": "https://github.com/understrap/understrap.git"
}, },
"keywords": [ "keywords": [
"wordpress", "wordpress",
@ -27,26 +28,29 @@
}, },
"homepage": "https://understrap.com", "homepage": "https://understrap.com",
"dependencies": { "dependencies": {
"autoprefixer": "^8.6.4", "browsersync": "0.0.1-security"
"bootstrap": "4.1.1", },
"browser-sync": "^2.24.5", "devDependencies": {
"del": "^3.0.0", "@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"autoprefixer": "^9.7.6",
"bootstrap": "^4.4.1",
"browser-sync": "^2.26.7",
"del": "^4.1.1",
"font-awesome": "^4.7.0", "font-awesome": "^4.7.0",
"gulp": "4.0.0", "gulp": "^4.0.2",
"gulp-clean-css": "^3.9.4", "gulp-babel": "^8.0.0",
"gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"gulp-imagemin": "^4.1.0", "gulp-imagemin": "^5.0.3",
"gulp-postcss": "^7.0.1", "gulp-plumber": "^1.2.1",
"gulp-rename": "^1.3.0", "gulp-postcss": "^8.0.0",
"gulp-rename": "^1.4.0",
"gulp-replace": "^1.0.0", "gulp-replace": "^1.0.0",
"gulp-rev": "^8.1.1", "gulp-sass": "^4.1.0",
"gulp-sass": "^4.0.1", "gulp-sourcemaps": "^2.6.5",
"gulp-sourcemaps": "2.6.4", "gulp-touch-fd": "^2.0.0",
"gulp-uglify": "^3.0.0", "gulp-uglify": "^3.0.2",
"gulp-watch": "5.0.0",
"merge2": "^1.2.2",
"popper.js": "^1.14.3",
"rev-del": "^1.0.5",
"undescores-for-npm": "^1.0.0" "undescores-for-npm": "^1.0.0"
} }
} }

View File

@ -7,6 +7,8 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html <?php language_attributes(); ?>> <html <?php language_attributes(); ?>>
@ -14,20 +16,16 @@
<meta charset="<?php bloginfo( 'charset' ); ?>"> <meta charset="<?php bloginfo( 'charset' ); ?>">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title"
content="<?php bloginfo( 'name' ); ?> - <?php bloginfo( 'description' ); ?>">
<link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?> <?php wp_head(); ?>
</head> </head>
<body> <body>
<?php while ( have_posts() ) : the_post(); ?> <?php
while ( have_posts() ) {
<?php get_template_part( 'loop-templates/content', 'blank' ); ?> the_post();
get_template_part( 'loop-templates/content', 'blank' );
<?php endwhile; // end of the loop. ?> }
<?php wp_footer(); ?> wp_footer();
?>
</body> </body>
</html> </html>

View File

@ -7,6 +7,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -17,30 +20,33 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="row"> <div class="row">
<?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?> <?php
get_template_part( 'sidebar-templates/sidebar', 'left' );
<div if ( is_active_sidebar( 'left-sidebar' ) xor is_active_sidebar( 'right-sidebar' ) ) {
class="<?php $class = 'col-md-8';
if ( is_active_sidebar( 'left-sidebar' ) xor is_active_sidebar( 'right-sidebar' ) ) : ?>col-md-8<?php } elseif ( is_active_sidebar( 'left-sidebar' ) && is_active_sidebar( 'right-sidebar' ) ) {
elseif ( is_active_sidebar( 'left-sidebar' ) && is_active_sidebar( 'right-sidebar' ) ) : ?>col-md-4<?php $class = 'col-md-4';
else : ?>col-md-12<?php } else {
endif; ?> content-area" $class = 'col-md-12';
id="primary"> }
?>
<div class="<?php echo $class; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> content-area" id="primary">
<main class="site-main" id="main" role="main"> <main class="site-main" id="main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php <?php
// If comments are open or we have at least one comment, load up the comment template. while ( have_posts() ) {
if ( comments_open() || get_comments_number() ) : the_post();
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?> get_template_part( 'loop-templates/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
}
?>
</main><!-- #main --> </main><!-- #main -->
@ -50,8 +56,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #page-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -8,9 +8,13 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
while ( have_posts() ) : the_post(); while ( have_posts() ) :
the_post();
get_template_part( 'loop-templates/content', 'empty' ); get_template_part( 'loop-templates/content', 'empty' );
endwhile; endwhile;

View File

@ -7,8 +7,15 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
if ( is_front_page() ) {
get_template_part( 'global-templates/hero' );
}
?> ?>
<div class="wrapper" id="full-width-page-wrapper"> <div class="wrapper" id="full-width-page-wrapper">
@ -21,29 +28,27 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main" role="main"> <main class="site-main" id="main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php <?php
while ( have_posts() ) {
the_post();
get_template_part( 'loop-templates/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template. // If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) : if ( comments_open() || get_comments_number() ) {
comments_template(); comments_template();
}
endif; }
?> ?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main --> </main><!-- #main -->
</div><!-- #primary --> </div><!-- #primary -->
</div><!-- .row end --> </div><!-- .row end -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #full-width-page-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -7,6 +7,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -19,24 +22,22 @@ $container = get_theme_mod( 'understrap_container_type' );
<?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?> <?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?>
<div <div class="<?php echo is_active_sidebar( 'right-sidebar' ) ? 'col-md-8' : 'col-md-12'; ?> content-area" id="primary">
class="<?php if ( is_active_sidebar( 'left-sidebar' ) ) : ?>col-md-8<?php else : ?>col-md-12<?php endif; ?> content-area"
id="primary">
<main class="site-main" id="main" role="main"> <main class="site-main" id="main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php <?php
// If comments are open or we have at least one comment, load up the comment template. while ( have_posts() ) {
if ( comments_open() || get_comments_number() ) : the_post();
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?> get_template_part( 'loop-templates/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
}
?>
</main><!-- #main --> </main><!-- #main -->
@ -44,8 +45,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #page-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -7,6 +7,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -17,24 +20,22 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="row"> <div class="row">
<div <div class="<?php echo is_active_sidebar( 'right-sidebar' ) ? 'col-md-8' : 'col-md-12'; ?> content-area" id="primary">
class="<?php if ( is_active_sidebar( 'right-sidebar' ) ) : ?>col-md-8<?php else : ?>col-md-12<?php endif; ?> content-area"
id="primary">
<main class="site-main" id="main" role="main"> <main class="site-main" id="main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php <?php
// If comments are open or we have at least one comment, load up the comment template. while ( have_posts() ) {
if ( comments_open() || get_comments_number() ) : the_post();
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?> get_template_part( 'loop-templates/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
}
?>
</main><!-- #main --> </main><!-- #main -->
@ -44,8 +45,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #page-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -1,6 +1,6 @@
<?php <?php
/** /**
* The template for displaying all pages. * The template for displaying all pages
* *
* This is the template that displays all pages by default. * This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages * Please note that this is the WordPress construct of pages
@ -10,6 +10,9 @@
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
@ -27,18 +30,17 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main"> <main class="site-main" id="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php <?php
// If comments are open or we have at least one comment, load up the comment template. while ( have_posts() ) {
if ( comments_open() || get_comments_number() ) : the_post();
comments_template(); get_template_part( 'loop-templates/content', 'page' );
endif;
?>
<?php endwhile; // end of the loop. ?> // If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
}
?>
</main><!-- #main --> </main><!-- #main -->
@ -47,8 +49,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #page-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

92
phpcs.xml Normal file
View File

@ -0,0 +1,92 @@
<?xml version="1.0"?>
<ruleset name="UnderStrap Coding Standards">
<description>Apply WordPress Coding Standards to UnderStrap</description>
<!-- Only scan PHP files. -->
<arg name="extensions" value="php"/>
<!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. -->
<arg name="cache"/>
<!-- Strip the filepaths down to the relevant bit. -->
<arg name="basepath" value="./"/>
<!-- Show colors in console -->
<arg value="-colors"/>
<!-- Show sniff codes in all reports -->
<arg value="s"/>
<!-- Don't show warnings -->
<arg value="n"/>
<!-- Scan these files -->
<file>.</file>
<!-- Directories and third party library exclusions. -->
<exclude-pattern>/vendor/*</exclude-pattern>
<exclude-pattern>/node_modules/*</exclude-pattern>
<exclude-pattern>/dist/*</exclude-pattern>
<!-- Use the WordPress Ruleset -->
<rule ref="WordPress"/>
<!--
Verify that the text_domain is set to the desired text-domain.
Multiple valid text domains can be provided as a comma-delimited list.
-->
<rule ref="WordPress.WP.I18n">
<properties>
<property name="text_domain" type="array" value="understrap"/>
</properties>
</rule>
<!--
Allow for theme specific exceptions to the file name rules based
on the theme hierarchy.
-->
<rule ref="WordPress.Files.FileName">
<properties>
<property name="is_theme" value="true"/>
</properties>
</rule>
<!-- Assignments in while conditions are a valid method of looping over iterables. -->
<rule ref="WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition">
<exclude-pattern>*</exclude-pattern>
</rule>
<!-- Exclude incorrectly named files that won't be renamed. -->
<rule ref="WordPress.Files.FileName.InvalidClassFileName">
<exclude-pattern>/inc/class-wp-bootstrap-navwalker\.php</exclude-pattern>
</rule>
<rule ref="WordPress.Security.EscapeOutput">
<!-- Exclude functions which are escaped in inc/extras.php -->
<properties>
<property name="customAutoEscapedFunctions" type="array">
<element value="get_the_title"/>
<element value="get_the_archive_title"/>
<element value="get_the_archive_description"/>
</property>
</properties>
</rule>
<!--
Exclude checking of line endings when reporting errors, but fix them
when running phpcbf.
-->
<rule ref="Generic.Files.LineEndings">
<exclude phpcs-only="true" name="Generic.Files.LineEndings"/>
</rule>
<!-- A closing tag is not permitted at the end of a PHP file -->
<rule ref="Zend.Files.ClosingTag"/>
<!-- Use the PHPCompatibility Ruleset -->
<config name="testVersion" value="5.6-99.0"/>
<rule ref="PHPCompatibilityWP">
<include-pattern>*\.php$</include-pattern>
</rule>
</ruleset>

View File

@ -11,7 +11,7 @@ At the moment, UnderStrap is in a very early stage. But if you want, feel free t
# UnderStrap WordPress Theme Framework # UnderStrap WordPress Theme Framework
Website: [http://understrap.com](http://understrap.com) Website: [https://understrap.com](https://understrap.com)
Child Theme Project: [https://github.com/holger1411/understrap-child](https://github.com/holger1411/understrap-child) Child Theme Project: [https://github.com/holger1411/understrap-child](https://github.com/holger1411/understrap-child)
@ -212,12 +212,12 @@ The front-page slider is widget driven. Simply add more than one widget to widge
- Add two, or more, widgets of any kind to widget area “Hero”. - Add two, or more, widgets of any kind to widget area “Hero”.
- Thats it. - Thats it.
[1] Visit [http://browsersync.io](http://browsersync.io) for more information on Browser Sync [1] Visit [https://browsersync.io](https://browsersync.io) for more information on Browser Sync
Licenses & Credits Licenses & Credits
= =
- Font Awesome: http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - Font Awesome: http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- Bootstrap: http://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (Code licensed under MIT documentation under CC BY 3.0.) - Bootstrap: https://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (Code licensed under MIT documentation under CC BY 3.0.)
- Owl Carousel 2: http://www.owlcarousel.owlgraphic.com/ | https://github.com/smashingboxes/OwlCarousel2/blob/develop/LICENSE (Code licensed under MIT) - Owl Carousel 2: http://www.owlcarousel.owlgraphic.com/ | https://github.com/smashingboxes/OwlCarousel2/blob/develop/LICENSE (Code licensed under MIT)
and of course and of course
- jQuery: https://jquery.org | (Code licensed under MIT) - jQuery: https://jquery.org | (Code licensed under MIT)

22
rename-theme.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
if [ -z "$1" ] ; then
_name=${PWD##*/}
if [ -z "$_name" ] ; then
echo "Error - could not determine theme name"
echo "Please rerun and pass theme name as an argument."
exit 1
fi
else
_name="$1"
fi
# search and replace
find . -type f -name "*.php" -print0 | xargs -0 sed -i '' -e 's/understrap/'"$_name"'_/g'
echo
echo "---------------------------------"
echo "Don't forget to edit `style.css`!"
echo "---------------------------------"

View File

BIN
sass/.DS_Store vendored

Binary file not shown.

View File

@ -1,7 +1,7 @@
/*! /*!
* Bootstrap v4.1.0 (https://getbootstrap.com/) * Bootstrap v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -34,9 +34,11 @@
@import "../../src/sass/bootstrap4/media"; @import "../../src/sass/bootstrap4/media";
@import "../../src/sass/bootstrap4/list-group"; @import "../../src/sass/bootstrap4/list-group";
@import "../../src/sass/bootstrap4/close"; @import "../../src/sass/bootstrap4/close";
@import "../../src/sass/bootstrap4/toasts";
@import "../../src/sass/bootstrap4/modal"; @import "../../src/sass/bootstrap4/modal";
@import "../../src/sass/bootstrap4/tooltip"; @import "../../src/sass/bootstrap4/tooltip";
@import "../../src/sass/bootstrap4/popover"; @import "../../src/sass/bootstrap4/popover";
@import "../../src/sass/bootstrap4/carousel"; @import "../../src/sass/bootstrap4/carousel";
@import "../../src/sass/bootstrap4/spinners";
@import "../../src/sass/bootstrap4/utilities"; @import "../../src/sass/bootstrap4/utilities";
@import "../../src/sass/bootstrap4/print"; @import "../../src/sass/bootstrap4/print";

View File

@ -1,12 +1,12 @@
@import "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here @import "theme/theme_variables"; // <-------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
@import "assets/bootstrap4";// <--------- Loads Bootstrap3 or Bootstrap4. Change from /bootstrap3 to /bootstrap4 Watch out! just for testing in the moment! @import "assets/bootstrap4"; // <-------- Loads Bootstrap4
@import "understrap/understrap"; // <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP @import "understrap/understrap"; // <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP
@import "understrap/woocommerce"; // <-------- Loads WooCommerce style fixes. Comment out if you aren't using WooCommerce @import "understrap/woocommerce"; // <-------- Loads WooCommerce style fixes. Comment out if you aren't using WooCommerce
// Optional files - If you dont use the corresponding scripts/fonts comment em out // Optional files - If you dont use the corresponding scripts/fonts comment em out
@import "assets/font-awesome"; // <------- Font Awesome Icon font // @import "assets/font-awesome"; // <-------- Font Awesome Icon font
@import "assets/underscores"; // <------- Underscores media styles @import "assets/underscores"; // <-------- Underscores media styles
// Any additional imported files // // Any additional imported files //
@import "theme/theme"; // <--------- That's where you can add your own design. Thats your part! @import "theme/theme"; // <-------- That's where you can add your own design. Thats your part!
@import "theme/contact-form7"; // Contact Form 7 - Bootstrap 4 support @import "theme/contact-form7"; // <-------- Contact Form 7 - Bootstrap 4 support

View File

@ -1 +1,5 @@
// This is an empty scss file for your custom styles - Please add your super duper awesome mega design styles here // This is an empty scss file for your custom styles - Please add your super duper awesome mega design styles here
.site-footer {
text-align: center;
}

View File

@ -3,4 +3,64 @@
// Just copy a variable from src/sass/bootstrap4/_variables.scss, paste it here and edit the value. // Just copy a variable from src/sass/bootstrap4/_variables.scss, paste it here and edit the value.
$primary: #6f31cd; // Thats a sample how you could change a BootStrap variable. $primary: #3311cc; // Thats a sample how you could change a BootStrap variable.
// stylelint-disable value-keyword-case
$font-family-sans-serif: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
$font-family-base: $font-family-sans-serif;
// stylelint-enable value-keyword-case
$font-size-base: 1rem; // Assumes the browser default, typically `16px`
$font-size-lg: $font-size-base * 1.25;
$font-size-sm: $font-size-base * .875;
$font-weight-lighter: lighter;
$font-weight-light: 300;
$font-weight-normal: 400;
$font-weight-bold: 600;
$font-weight-bolder: bolder;
$font-weight-base: $font-weight-normal;
$line-height-base: 1.5;
$h1-font-size: $font-size-base * 2.5;
$h2-font-size: $font-size-base * 2;
$h3-font-size: $font-size-base * 1.75;
$h4-font-size: $font-size-base * 1.5;
$h5-font-size: $font-size-base * 1.25;
$h6-font-size: $font-size-base;
$headings-font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
$headings-font-weight: 400;
$headings-line-height: 1.2;
$headings-color: null;
$display1-size: 6rem;
$display2-size: 5.5rem;
$display3-size: 4.5rem;
$display4-size: 3.5rem;
$display1-weight: 300;
$display2-weight: 300;
$display3-weight: 300;
$display4-weight: 300;
$display-line-height: $headings-line-height;
$lead-font-size: $font-size-base * 1.25;
$lead-font-weight: 300;
$small-font-size: 80%;
$blockquote-small-font-size: $small-font-size;
$blockquote-font-size: $font-size-base * 1.25;
$mark-padding: .2em;
$dt-font-weight: $font-weight-bold;
$nested-kbd-font-weight: $font-weight-bold;
$list-inline-padding: .5rem;
$mark-bg: #fcf8e3;

View File

@ -1,9 +1,12 @@
// Some basic padding for all wrappers // Some basic padding for all wrappers
.wrapper { .wrapper {
padding: $grid-gutter-width 0; } padding: $grid-gutter-width 0;
}
// Reset hero wrapper padding to 0 // Reset hero wrapper padding to 0
#wrapper-hero { padding: 0px !important; } #wrapper-hero {
padding: 0px !important;
}
// Adding basic WordPress classes to pass the WordPress.org tests // Adding basic WordPress classes to pass the WordPress.org tests
.sticky, .sticky,
@ -13,18 +16,28 @@
} }
// Separate sticky wrapper from main content // Separate sticky wrapper from main content
.wrapper#wrapper-sticky { border-bottom: 1px solid $gray-300; } .wrapper#wrapper-sticky {
border-bottom: 1px solid $gray-300;
}
// Adding some contrast background color to footer full widget // Adding some contrast background color to footer full widget
#wrapper-footer-full, #wrapper-footer-full,
#wrapper-static-hero { background-color: $gray-200; } #wrapper-static-hero {
background-color: $gray-200;
}
// Necessary WP classes // Necessary WP classes
.wp-caption { font-size: inherit; } .wp-caption {
font-size: inherit;
}
.wp-caption-text { font-size: inherit; } .wp-caption-text {
font-size: inherit;
}
.screen-reader-text { font-size: inherit; } .screen-reader-text {
@extend .sr-only;
}
.alignleft { .alignleft {
display: inline; display: inline;
@ -38,17 +51,23 @@
margin-left: 1.5em; margin-left: 1.5em;
} }
.aligncenter { margin: 0px auto; } .aligncenter {
@extend .mx-auto,
// Post design .d-block;
.entry-footer span { padding-right: 10px; } }
//Woocommerce product gallery slider width fix .widget_categories,
figure.woocommerce-product-gallery__wrapper { .widget_archive {
max-width: inherit !important; select {
@extend .form-control;
}
}
// Post design
.entry-footer span {
padding-right: 10px;
} }
// Limit featured image size to 100%
img.wp-post-image, img.wp-post-image,
article img, article img,
figure, figure,
@ -67,7 +86,9 @@ a.skip-link {
} }
// Reset Jumbotron default margin // Reset Jumbotron default margin
.jumbotron { margin-bottom: 0px; } .jumbotron {
margin-bottom: 0px;
}
// Dropdown translation // Dropdown translation
.navbar-dark .navbar-nav .dropdown-menu .nav-link { .navbar-dark .navbar-nav .dropdown-menu .nav-link {
@ -99,6 +120,7 @@ a.skip-link {
&:disabled { &:disabled {
color: $dropdown-link-disabled-color !important; color: $dropdown-link-disabled-color !important;
background-color: transparent; background-color: transparent;
// Remove CSS gradients if they're enabled // Remove CSS gradients if they're enabled
@if $enable-gradients { @if $enable-gradients {
background-image: none; background-image: none;
@ -121,3 +143,7 @@ a.skip-link {
color: $navbar-dark-active-color; color: $navbar-dark-active-color;
} }
} }
.navbar h1 {
font-weight: $font-weight-normal;
}

View File

@ -2,3 +2,15 @@
.woocommerce-input-wrapper { .woocommerce-input-wrapper {
width: 100%; width: 100%;
} }
// Woocommerce product gallery slider width fix
figure.woocommerce-product-gallery__wrapper {
max-width: inherit !important;
}
// Fix coupon code input width
@media(min-width: 768px) {
#coupon_code.input-text {
width: 110px !important;
}
}

View File

@ -1,10 +1,13 @@
<?php <?php
/** /**
* The template for displaying search results pages. * The template for displaying search results pages
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header(); get_header();
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
@ -26,27 +29,32 @@ $container = get_theme_mod( 'understrap_container_type' );
<header class="page-header"> <header class="page-header">
<h1 class="page-title"><?php printf( <h1 class="page-title">
/* translators:*/ <?php
printf(
/* translators: %s: query term */
esc_html__( 'Search Results for: %s', 'understrap' ), esc_html__( 'Search Results for: %s', 'understrap' ),
'<span>' . get_search_query() . '</span>' ); ?></h1> '<span>' . get_search_query() . '</span>'
);
?>
</h1>
</header><!-- .page-header --> </header><!-- .page-header -->
<?php /* Start the Loop */ ?> <?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php <?php
/** while ( have_posts() ) :
the_post();
/*
* Run the loop for the search to output the results. * Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file * If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead. * called content-search.php and that will be used instead.
*/ */
get_template_part( 'loop-templates/content', 'search' ); get_template_part( 'loop-templates/content', 'search' );
endwhile;
?> ?>
<?php endwhile; ?>
<?php else : ?> <?php else : ?>
<?php get_template_part( 'loop-templates/content', 'none' ); ?> <?php get_template_part( 'loop-templates/content', 'none' ); ?>
@ -63,8 +71,9 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row --> </div><!-- .row -->
</div><!-- Container end --> </div><!-- #content -->
</div><!-- Wrapper end --> </div><!-- #search-wrapper -->
<?php get_footer(); ?> <?php
get_footer();

View File

@ -1,13 +1,16 @@
<?php <?php
/** /**
* The template for displaying search forms in Underscores.me * The template for displaying search forms
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search"> <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search">
<label class="assistive-text" for="s"><?php esc_html_e( 'Search', 'understrap' ); ?></label> <label class="sr-only" for="s"><?php esc_html_e( 'Search', 'understrap' ); ?></label>
<div class="input-group"> <div class="input-group">
<input class="field form-control" id="s" name="s" type="text" <input class="field form-control" id="s" name="s" type="text"
placeholder="<?php esc_attr_e( 'Search &hellip;', 'understrap' ); ?>" value="<?php the_search_query(); ?>"> placeholder="<?php esc_attr_e( 'Search &hellip;', 'understrap' ); ?>" value="<?php the_search_query(); ?>">

View File

@ -1,10 +1,13 @@
<?php <?php
/** /**
* Sidebar setup for footer full. * Sidebar setup for footer full
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$container = get_theme_mod( 'understrap_container_type' ); $container = get_theme_mod( 'understrap_container_type' );
?> ?>
@ -27,4 +30,5 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- #wrapper-footer-full --> </div><!-- #wrapper-footer-full -->
<?php endif; ?> <?php
endif;

View File

@ -1,10 +1,12 @@
<?php <?php
/** /**
* Sidebar - hero setup. * Sidebar - hero setup
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?> ?>
<?php if ( is_active_sidebar( 'hero' ) ) : ?> <?php if ( is_active_sidebar( 'hero' ) ) : ?>
@ -41,4 +43,5 @@
jQuery( ".carousel-item" ).first().addClass( "active" ); jQuery( ".carousel-item" ).first().addClass( "active" );
</script> </script>
<?php endif; ?> <?php
endif;

View File

@ -1,16 +1,15 @@
<?php <?php
/** /**
* Sidebar - hero canvas setup. * Sidebar - The Hero Canvas Widget Area
* *
* @package understrap * @package understrap
*/ */
?> // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
<?php if ( is_active_sidebar( 'herocanvas' ) ) : ?> if ( is_active_sidebar( 'herocanvas' ) ) {
<!-- ******************* The Hero Canvas Widget Area ******************* --> dynamic_sidebar( 'herocanvas' );
<?php dynamic_sidebar( 'herocanvas' ); ?> }
<?php endif; ?>

View File

@ -1,10 +1,13 @@
<?php <?php
/** /**
* The sidebar containing the main widget area. * The sidebar containing the main widget area
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! is_active_sidebar( 'left-sidebar' ) ) { if ( ! is_active_sidebar( 'left-sidebar' ) ) {
return; return;
} }

View File

@ -1,10 +1,13 @@
<?php <?php
/** /**
* The right sidebar containing the main widget area. * The right sidebar containing the main widget area
* *
* @package understrap * @package understrap
*/ */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! is_active_sidebar( 'right-sidebar' ) ) { if ( ! is_active_sidebar( 'right-sidebar' ) ) {
return; return;
} }

View File

@ -1,12 +1,14 @@
<?php <?php
/** /**
* Static hero sidebar setup. * Static hero sidebar setup
* *
* @package understrap * @package understrap
*/ */
$container = get_theme_mod( 'understrap_container_type' ); // Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$container = get_theme_mod( 'understrap_container_type' );
?> ?>
<?php if ( is_active_sidebar( 'statichero' ) ) : ?> <?php if ( is_active_sidebar( 'statichero' ) ) : ?>
@ -27,4 +29,5 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- #wrapper-static-hero --> </div><!-- #wrapper-static-hero -->
<?php endif; ?> <?php
endif;

20
sidebar.php Normal file
View File

@ -0,0 +1,20 @@
<?php
/**
* The sidebar containing the main widget area
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}
?>
<div class="col-md-4 widget-area" id="secondary" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div><!-- #secondary -->

Some files were not shown because too many files have changed in this diff Show More