Compare commits

..

3 Commits

Author SHA1 Message Date
Holger f978758e85
Merge pull request #745 from 0dp/patch-11 - Thx @0dp !
Browser-Sync loop
2018-07-25 11:25:27 +02:00
Johan Nielsen e19005d2ce
remove search.js ref 2018-07-24 16:12:38 +02:00
Johan Nielsen 41416d61c2
Browser-Sync loop
minor fix to prevent Browser-Sync loop
2018-07-16 13:57:36 +02:00
212 changed files with 23268 additions and 32149 deletions

View File

@ -1,10 +0,0 @@
# 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

View File

@ -1,21 +0,0 @@
# 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

1
.gitignore vendored
View File

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

View File

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

View File

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

38
404.php
View File

@ -1,16 +1,15 @@
<?php
/**
* The template for displaying 404 pages (not found)
* The template for displaying 404 pages (not found).
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
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">
@ -27,13 +26,15 @@ $container = get_theme_mod( 'understrap_container_type' );
<header class="page-header">
<h1 class="page-title"><?php esc_html_e( 'Oops! That page can&rsquo;t be found.', 'understrap' ); ?></h1>
<h1 class="page-title"><?php esc_html_e( 'Oops! That page can&rsquo;t be found.',
'understrap' ); ?></h1>
</header><!-- .page-header -->
<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?', 'understrap' ); ?></p>
<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>
<?php get_search_form(); ?>
@ -47,15 +48,13 @@ $container = get_theme_mod( 'understrap_container_type' );
<ul>
<?php
wp_list_categories(
array(
'orderby' => 'count',
'order' => 'DESC',
'show_count' => 1,
'title_li' => '',
'number' => 10,
)
);
wp_list_categories( array(
'orderby' => 'count',
'order' => 'DESC',
'show_count' => 1,
'title_li' => '',
'number' => 10,
) );
?>
</ul>
@ -82,9 +81,8 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #error-404-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

@ -1,288 +1,3 @@
- ** 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 **
- Update to Bootstrap 4.1.1
- Update to Gulp 4
@ -297,7 +12,7 @@
- WooCommerce 3.4.0 update - Thx @ZacharyElkins
- Organize sidebar files into loop-templates directory - Thx @axlright
- Update package.json
- POT file and Russian translation update - Thx @edkozuto
- POT file and Russian translation update - Thx @edkozuto
- ** Release 0.8.2 April 11th 2018 **
@ -349,7 +64,7 @@
- Hotfix release
- ** Release 0.6.11 December 11th 2017 **
- ** Release 0.6.11 December 11th 2017 **
- Fixing WooCommerce functions
- Fixing sanitizing, escaping and prefix´s issues
- Fixing customizer settings
@ -383,20 +98,20 @@
- Update page.php - thx @Vishal-Deshpande
- Fixing colormap problem with beta 2
- Making navwalker function pluggable - Thx @bruceconlon
- Adding WordPress title attribute - Thx @JDVirtual and @Thomas-A-Reinert
- Fixing comments in theme_variable.scss - thx @ianwyllie
- Adding WordPress title attribute - Thx @JDVirtual and @Thomas-A-Reinert
- Fixing comments in _theme_variable.scss - thx @ianwyllie
- Adding spaces the separate "posted on" and "edited" timestamps - Thx @bruceconlon
- ** Release 0.6.6 October 23h 2017 **
- Update to Bootstrap 4 Beta 2
- Moving hamburger icon to the right by default
- Fixing issue #392
- Fixing issue #392
- Gramma and typo fixes
- Making inc/security.php hookable
- Variable product ajax_add_to_cart fix
- Update Woocommerce 3.2.1 compatibility
- ** Release 0.6.5 August 17h 2017 **
- Hot fix release
@ -451,23 +166,23 @@
- ** Release 0.5.7 Feb. 13th 2017 **
- Fixing WooCommerce base layout by reverting custom woocommerce integration and switch back to default integration
- Adding /js/ folder to watcher task excluding theme.js and theme.min.js
- Removing duplicate DIV from "both-sidebars" page template - Thx @evandiamond
- Removing duplicate DIV from "both-sidebars" page template - Thx @evandiamond
- Fixing sidebar check
- Remove customizer from theme.min.js
- ** Release 0.5.6 (skipping 0.5.5) Feb. 9th 2017 **
- Adding automated tests - thx @carl-alberto
- Adding automated tests - thx @carl-alberto
- Remove custom Bootstrap gellery completely
- Fixing typos - thx to @catgofire
- Checking for WP coding standards
- Adding a "dist-product" gulp task
- Adding WooCommerce form-checkout.php - thx @stef-k
- Fixing bug #240 - thx @arpage
- Adding AJAX classes to add-to-cart buttons - thx @typeplus
- Adding WooCommerce form-checkout.php - thx @stef-k
- Fixing bug #240 - thx @arpage
- Adding AJAX classes to add-to-cart buttons - thx @typeplus
- Updating Jetpack integration
- Fixing "missing" h1 on frontpage problem
- Updating inc/template-tags.php from s
- Updating inc/template-tags.php from _s
- Fixing W3C validator issues
- Removing cleancss gulp task from cssnano task sequence due to performance issues
@ -538,7 +253,7 @@
- Fixing "Gulp dist" Task
- Adding masonry layout option to optimizer - Thx @stef-k
- Adding fluid/fixed conatiner option to optimizer
- ** 0.4.9 Oct. 25th 2016 **
- Updating to Bootstrap 4 Alpha 5
@ -625,7 +340,7 @@
- ** 0.3.4 SEP. 9th 2015**
- Adding basic WooCommerce support
- 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**
@ -654,4 +369,4 @@
- Adding Jasny Off-Canvas nav and Owl.Carousel Slider script
- Enqueue scipts and styled dynamically
- ** 0.1 Dec. 10th 2014 - First commit**
- ** 0.1 Dec. 10th 2014 - First commit**

View File

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

View File

@ -1,8 +1,4 @@
[![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)
Travis build: [![Build Status](https://travis-ci.org/understrap/understrap.svg?branch=master)](https://travis-ci.org/understrap/understrap)
#### See: [Official Demo](https://understrap.com/understrap) | Read: [Official Docs Page](https://understrap.github.io/)
@ -12,8 +8,6 @@ Website: [https://understrap.com](https://understrap.com)
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
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.
@ -37,7 +31,7 @@ See [changelog](CHANGELOG.md)
- Jetpack ready.
- WooCommerce support.
- Contact Form 7 support.
- [Child Theme](https://github.com/understrap/understrap-child) ready.
- [Child Theme](https://github.com/holger1411/understrap-child) ready.
- Translation ready.
## Starter Theme + HTML Framework = WordPress Theme Framework
@ -59,14 +53,14 @@ Some basics about the Sass and CSS files that come with UnderStrap:
@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!
- Your design goes into: `/sass/theme`.
- Add your styles to the `/sass/theme/_theme.scss` file
- 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`.
- Add your styles to the `/sass/theme/_theme.scss` file
- And your variables to the `/sass/theme/_theme_variables.scss`
- Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss`.
## Installation
There are several ways to install UnderStrap. We'll look at three of them: (1) classic install by uploading UnderStrap to a WordPress install, (2) using npm, and (3) using the theme directory in WordPress.
There are several ways to install UnderStrap. We'll look at three of them: (1) classic install by uploading UnderStrap to a WordPress install, (2) using npm, and (3) using the theme directory in WordPress.
### Classic install
- Download the understrap folder from GitHub or from [https://understrap.com](https://understrap.com)
@ -153,3 +147,6 @@ and of course
- jQuery: https://jquery.org | (Code licensed under MIT)
- 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
[![Analytics](https://ga-beacon.appspot.com/UA-139292-31/chromeskel_a/readme)](https://github.com/igrigorik/ga-beacon)

View File

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

View File

@ -1,19 +1,17 @@
<?php
/**
* The template for displaying the author pages
* The template for displaying the author pages.
*
* Learn more: https://codex.wordpress.org/Author_Templates
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
$container = get_theme_mod( 'understrap_container_type' );
?>
<div class="wrapper" id="author-wrapper">
<div class="<?php echo esc_attr( $container ); ?>" id="content" tabindex="-1">
@ -28,78 +26,71 @@ $container = get_theme_mod( 'understrap_container_type' );
<header class="page-header author-header">
<?php
if ( get_query_var( 'author_name' ) ) {
$curauth = get_user_by( 'slug', get_query_var( 'author_name' ) );
} else {
$curauth = get_userdata( intval( $author ) );
}
$curauth = ( isset( $_GET['author_name'] ) ) ? get_user_by( 'slug',
$author_name ) : get_userdata( intval( $author ) );
?>
<h1><?php echo esc_html__( 'About:', 'understrap' ) . ' ' . esc_html( $curauth->nickname ); ?></h1>
<h1><?php esc_html_e( 'About:', 'understrap' ); ?><?php echo esc_html( $curauth->nickname ); ?></h1>
<?php
if ( ! empty( $curauth->ID ) ) {
echo get_avatar( $curauth->ID );
}
?>
<?php if ( ! empty( $curauth->user_url ) || ! empty( $curauth->user_description ) ) : ?>
<dl>
<?php if ( ! empty( $curauth->user_url ) ) : ?>
<dt><?php esc_html_e( 'Website', 'understrap' ); ?></dt>
<dd>
<a href="<?php echo esc_url( $curauth->user_url ); ?>"><?php echo esc_html( $curauth->user_url ); ?></a>
</dd>
<?php endif; ?>
<?php if ( ! empty( $curauth->user_description ) ) : ?>
<dt><?php esc_html_e( 'Profile', 'understrap' ); ?></dt>
<dd><?php echo esc_html( $curauth->user_description ); ?></dd>
<?php endif; ?>
</dl>
<?php if ( ! empty( $curauth->ID ) ) : ?>
<?php echo get_avatar( $curauth->ID ); ?>
<?php endif; ?>
<h2><?php echo esc_html__( 'Posts by', 'understrap' ) . ' ' . esc_html( $curauth->nickname ); ?>:</h2>
<dl>
<?php if ( ! empty( $curauth->user_url ) ) : ?>
<dt><?php esc_html_e( 'Website', 'understrap' ); ?></dt>
<dd>
<a href="<?php echo esc_url( $curauth->user_url ); ?>"><?php echo esc_html( $curauth->user_url ); ?></a>
</dd>
<?php endif; ?>
<?php if ( ! empty( $curauth->user_description ) ) : ?>
<dt><?php esc_html_e( 'Profile', 'understrap' ); ?></dt>
<dd><?php echo esc_html( $curauth->user_description ); ?></dd>
<?php endif; ?>
</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() ) {
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' );
}
?>
<?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; ?>
<!-- End Loop -->
</ul>
</main><!-- #main -->
<!-- The pagination component -->
<?php understrap_pagination(); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
</div> <!-- .row -->
</div> <!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #author-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

31
bower.json Normal file
View File

@ -0,0 +1,31 @@
{
"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"
}

28
codesniffer.ruleset.xml Normal file
View File

@ -0,0 +1,28 @@
<?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
/**
* The template for displaying comments
* The template for displaying comments.
*
* The area of the page that contains both current comments
* and the comment form.
@ -8,9 +8,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/*
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
@ -28,93 +25,92 @@ if ( post_password_required() ) {
<?php if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
$comments_number = get_comments_number();
if ( 1 === (int) $comments_number ) {
printf(
/* translators: %s: post title */
esc_html_x( 'One thought on &ldquo;%s&rdquo;', 'comments title', 'understrap' ),
'<span>' . get_the_title() . '</span>'
);
} else {
printf(
esc_html(
$comments_number = get_comments_number();
if ( 1 === (int)$comments_number ) {
printf(
/* translators: %s: post title */
esc_html_x( 'One thought on &ldquo;%s&rdquo;', 'comments title', 'understrap' ),
'<span>' . get_the_title() . '</span>'
);
} else {
printf( // WPCS: XSS OK.
/* translators: 1: number of comments, 2: post title */
_nx(
esc_html( _nx(
'%1$s thought on &ldquo;%2$s&rdquo;',
'%1$s thoughts on &ldquo;%2$s&rdquo;',
$comments_number,
'comments title',
'understrap'
)
),
number_format_i18n( $comments_number ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'<span>' . get_the_title() . '</span>'
);
}
) ),
number_format_i18n( $comments_number ),
'<span>' . get_the_title() . '</span>'
);
}
?>
</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">
<h1 class="sr-only"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<h1 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<?php if ( get_previous_comments_link() ) { ?>
<div class="nav-previous">
<?php previous_comments_link( __( '&larr; Older Comments', 'understrap' ) ); ?>
</div>
<?php } ?>
<?php if ( get_next_comments_link() ) { ?>
<div class="nav-next">
<?php next_comments_link( __( 'Newer Comments &rarr;', 'understrap' ) ); ?>
</div>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments',
'understrap' ) ); ?></div>
<?php }
if ( get_next_comments_link() ) { ?>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;',
'understrap' ) ); ?></div>
<?php } ?>
</nav><!-- #comment-nav-above -->
<?php endif; // Check for comment navigation. ?>
<?php endif; // check for comment navigation. ?>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'style' => 'ol',
'short_ping' => true,
)
);
wp_list_comments( array(
'style' => 'ol',
'short_ping' => true,
) );
?>
</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">
<h1 class="sr-only"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<h1 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'understrap' ); ?></h1>
<?php if ( get_previous_comments_link() ) { ?>
<div class="nav-previous">
<?php previous_comments_link( __( '&larr; Older Comments', 'understrap' ) ); ?>
</div>
<?php } ?>
<?php if ( get_next_comments_link() ) { ?>
<div class="nav-next">
<?php next_comments_link( __( 'Newer Comments &rarr;', 'understrap' ) ); ?>
</div>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments',
'understrap' ) ); ?></div>
<?php }
if ( get_next_comments_link() ) { ?>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;',
'understrap' ) ); ?></div>
<?php } ?>
</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. ?>

View File

@ -1,30 +1,10 @@
{
"name": "understrap/understrap",
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
"type": "wordpress-theme",
"license": "GPL-2.0",
"minimum-stability": "stable",
"keywords": [
"wordpress",
"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"
}
}
"name": "holger1411/understrap",
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
"type": "wordpress-theme",
"license": "GPL-2.0",
"minimum-stability": "stable",
"require": {"composer/installers": "^1.5"},
"keywords": ["wordpress","theme","bootstrap"],
"homepage": "https://github.com/holger1411/understrap"
}

807
composer.lock generated
View File

@ -1,807 +0,0 @@
{
"_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 Normal file

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,15 +1,13 @@
<?php
/**
* The template for displaying the footer
* The template for displaying the footer.
*
* Contains the closing of the #content div and all content after
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$the_theme = wp_get_theme();
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -27,8 +25,18 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="site-info">
<?php understrap_site_info(); ?>
<a href="<?php echo esc_url( __( 'http://wordpress.org/','understrap' ) ); ?>"><?php printf(
/* 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 -->
</footer><!-- #colophon -->

View File

@ -1,31 +1,71 @@
<?php
/**
* UnderStrap functions and definitions
* Understrap functions and definitions
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Initialize theme default settings
*/
require get_template_directory() . '/inc/theme-settings.php';
$understrap_includes = array(
'/theme-settings.php', // Initialize theme default settings.
'/setup.php', // Theme setup and custom theme supports.
'/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.
);
/**
* Theme setup and custom theme supports.
*/
require get_template_directory() . '/inc/setup.php';
foreach ( $understrap_includes as $file ) {
require_once get_template_directory() . '/inc' . $file;
}
/**
* Register widget area.
*/
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';

BIN
global-templates/.DS_Store vendored Normal file

Binary file not shown.

View File

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

View File

@ -1,18 +1,40 @@
<?php
/**
* Left sidebar check
* Left sidebar check.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
if ( 'left' === $sidebar_pos || 'both' === $sidebar_pos ) {
get_template_part( 'sidebar-templates/sidebar', 'left' );
}
?>
<div class="col-md content-area" id="primary">
<?php
$sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
?>
<?php if ( 'left' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
<?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,19 +1,17 @@
<?php
/**
* Right sidebar check
* Right sidebar check.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?>
</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' ); ?>
if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) {
get_template_part( 'sidebar-templates/sidebar', 'right' );
}
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
<?php get_template_part( 'sidebar-templates/sidebar', 'right' ); ?>
<?php endif; ?>

View File

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

View File

@ -1,324 +1,189 @@
// Defining requirements
var gulp = require('gulp');
var plumber = require('gulp-plumber');
var sass = require('gulp-sass');
var babel = require('gulp-babel');
var postcss = require('gulp-postcss');
var touch = require('gulp-touch-fd');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var sourcemaps = require('gulp-sourcemaps');
var browserSync = require('browser-sync').create();
var del = require('del');
var cleanCSS = require('gulp-clean-css');
var replace = require('gulp-replace');
var autoprefixer = require('autoprefixer');
var autoprefixer = require( 'autoprefixer' ),
browserSync = require('browser-sync').create(),
cleanCSS = require( 'gulp-clean-css' ),
concat = require( 'gulp-concat' ),
del = require( 'del' ),
gulp = require( 'gulp' ),
imagemin = require( 'gulp-imagemin' ),
postcss = require( 'gulp-postcss' ),
rename = require( 'gulp-rename' ),
replace = require( 'gulp-replace' ),
sass = require( 'gulp-sass' ),
sourcemaps = require( 'gulp-sourcemaps' ),
uglify = require( 'gulp-uglify' ),
rev = require('gulp-rev'),
revDel = require('rev-del');
// Configuration file to keep your code DRY
var cfg = require('./gulpconfig.json');
var paths = cfg.paths;
const cfg = require( './gulpconfig.json' );
const paths = cfg.paths;
// 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');
}
})
)
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(sass({ errLogToConsole: true }))
.pipe(postcss([autoprefixer()]))
.pipe(sourcemaps.write(undefined, { sourceRoot: null }))
.pipe(gulp.dest(paths.css))
.pipe(touch());
return stream;
});
// 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 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'));
});
exports.scss = scss;
// Run:
// gulp imagemin
// Running image optimizing task
gulp.task('imagemin', function () {
gulp
.src(`${paths.imgsrc}/**`)
.pipe(imagemin())
.pipe(gulp.dest(paths.img));
});
// Minify CSS
function minifycss( ) {
return gulp.src( paths.css + '/theme.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( cleanCSS( { compatibility: '*' } ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) )
/**
* Ensures the 'imagemin' task is complete before reloading browsers
* @verbose
*/
gulp.task(
'imagemin-watch',
gulp.series('imagemin', function () {
browserSync.reload();
})
);
gulp.src( paths.css + '/custom-editor-style.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( cleanCSS( { compatibility: '*' } ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) );
};
gulp.task('minifycss', function () {
exports.minifycss = minifycss;
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(sourcemaps.write('./'))
.pipe(gulp.dest(paths.css))
.pipe(touch());
});
// Concatinate scripts and minify them
function scripts( done ) {
var scripts = [
/**
* Delete minified CSS files and their maps
*/
gulp.task('cleancss', function () {
return del(paths.css + '/*.min.css*');
});
paths.dev + '/js/bootstrap4/bootstrap.js',
gulp.task('styles', function (callback) {
gulp.series('sass', 'minifycss')(callback);
});
paths.dev + '/js/skip-link-focus-fix.js',
// Adding currently empty javascript file to add on for your own themes´ customizations
// Please add any customizations to this .js file only!
paths.dev + '/js/custom-javascript.js'
];
// Run:
// gulp browser-sync
// Starts browser-sync task for starting the server.
gulp.task('browser-sync', function () {
browserSync.init(cfg.browserSyncWatchFiles, cfg.browserSyncOptions);
});
gulp.src( scripts )
.pipe( concat( 'theme.js' ) )
.pipe( gulp.dest( paths.js ) )
// Run:
// gulp scripts.
// Uglifies and concat all JS files into one
gulp.task('scripts', function () {
var scripts = [
// Start - All BS4 stuff
`${paths.dev}/js/bootstrap4/bootstrap.bundle.js`,
`${paths.dev}/js/themejs/*.js`,
gulp.src( scripts )
.pipe( concat( 'theme.min.js' ) )
.pipe( uglify() )
.pipe( gulp.dest( paths.js ) );
revision();
// End - All BS4 stuff
}
`${paths.dev}/js/skip-link-focus-fix.js`,
exports.scripts = scripts;
// Adding currently empty javascript file to add on for your own themes´ customizations
// Please add any customizations to this .js file only!
`${paths.dev}/js/custom-javascript.js`
];
gulp
.src(scripts, { allowEmpty: true })
.pipe(babel({ presets: ['@babel/preset-env'] }))
.pipe(concat('theme.min.js'))
.pipe(uglify())
.pipe(gulp.dest(paths.js));
// Compress image assets
function imagemin() {
return gulp.src( paths.imgsrc + '/**' )
.pipe( imagemin() )
.pipe( gulp.dest( paths.img ) );
}
return gulp
.src(scripts, { allowEmpty: true })
.pipe(babel())
.pipe(concat('theme.js'))
.pipe(gulp.dest(paths.js));
});
// Deleting any file inside the /src folder
gulp.task('clean-source', function () {
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'));
exports.imagemin = imagemin;
// 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
// 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
var stream = gulp
.src(`${paths.node}/bootstrap/dist/js/**/*.js`)
.pipe(gulp.dest(`${paths.dev}/js/bootstrap4`));
gulp.task( 'copy-assets', function(done) {
// Copy all Bootstrap SCSS files
gulp
.src(`${paths.node}/bootstrap/scss/**/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/bootstrap4`));
////////////////// End Bootstrap 4 Assets /////////////////////////
////////////////// 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 Font Awesome Fonts
gulp
.src(`${paths.node}/font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}`)
.pipe(gulp.dest('./fonts'));
// Copy all Bootstrap SCSS files
gulp.src( paths.node + 'bootstrap/scss/**/*.scss' )
.pipe( gulp.dest( paths.dev + '/sass/bootstrap4' ) );
// Copy all Font Awesome SCSS files
gulp
.src(`${paths.node}/font-awesome/scss/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/fontawesome`));
////////////////// End Bootstrap 4 Assets /////////////////////////
// _s SCSS files
gulp
.src(`${paths.node}/undescores-for-npm/sass/media/*.scss`)
.pipe(gulp.dest(`${paths.dev}/sass/underscores`));
// Copy all Font Awesome Fonts
gulp.src( paths.node + 'font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}' )
.pipe( gulp.dest( './fonts' ) );
// _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 all Font Awesome SCSS files
gulp.src( paths.node + 'font-awesome/scss/*.scss' )
.pipe( gulp.dest( paths.dev + '/sass/fontawesome' ) );
done();
// _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 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 /src folder
gulp.task( 'clean-source', function() {
return del( ['src/**/*', '!src'] );
});
// Deleting any file inside the /dist folder
gulp.task('clean-dist', function () {
return del([paths.dist + '/**']);
gulp.task( 'clean-dist', function() {
return del( ['dist/**/*', '!dist'] );
});
function revision( done ) {
// by default, gulp would pick `assets/css` as the base,
// so we need to set it explicitly:
return 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: './', force: true}))
.pipe(gulp.dest('./')); // write manifest to build dir
done();
};
exports.revision = revision;
// Run
// gulp dist
// Copies the files to the /dist folder for distribution as simple theme
gulp.task(
'dist',
gulp.series(['clean-dist'], function () {
return gulp
.src(
[
'**/*',
`!${paths.node}`,
`!${paths.node}/**`,
`!${paths.dev}`,
`!${paths.dev}/**`,
`!${paths.dist}`,
`!${paths.dist}/**`,
`!${paths.distprod}`,
`!${paths.distprod}/**`,
`!${paths.sass}`,
`!${paths.sass}/**`,
`!${paths.composer}`,
`!${paths.composer}/**`,
'!readme.txt',
'!README.md',
'!*.+(json|js|lock|xml)',
'!CHANGELOG.md',
],
{ 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());
})
);
gulp.task( 'dist', gulp.series( 'clean-dist', function(done) {
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 } )
.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( gulp.dest( paths.dist ) );
done();
}));
// BrowserSync reload helper function
function reload( done ){
browserSync.reload();
done();
}
// BrowserSync main task
gulp.task( 'watch-bs', function( done ) {
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions );
gulp.watch( paths.sass + '/**/*.scss', gulp.series( scss, minifycss, revision, reload ) );
gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], gulp.series( scripts, reload ) );
//Inside the watch task.
gulp.watch( paths.imgsrc + '/**', gulp.series( imagemin, reload ) );
done();
// 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,43 +1,41 @@
<?php
/**
* The header for our theme
* The header for our theme.
*
* Displays all of the <head> section and everything up till <div id="content">
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
$container = get_theme_mod( 'understrap_container_type' );
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<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="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="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?> <?php understrap_body_attributes(); ?>>
<?php do_action( 'wp_body_open' ); ?>
<div class="site" id="page">
<body <?php body_class(); ?>>
<div class="hfeed site" id="page">
<!-- ******************* The Navbar Area ******************* -->
<div id="wrapper-navbar">
<div id="wrapper-navbar" itemscope itemtype="http://schema.org/WebSite">
<a class="skip-link sr-only sr-only-focusable" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
<a class="skip-link screen-reader-text sr-only" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
<nav id="main-nav" class="navbar fixed-top navbar-expand-md navbar-light bg-light" aria-labelledby="main-nav-label">
<nav class="navbar navbar-expand-md navbar-dark bg-primary">
<h2 id="main-nav-label" class="sr-only">
<?php esc_html_e( 'Main Navigation', 'understrap' ); ?>
</h2>
<?php if ( 'container' === $container ) : ?>
<div class="container">
<?php if ( 'container' == $container ) : ?>
<div class="container" >
<?php endif; ?>
<!-- Your site title as branding in the menu -->
@ -53,20 +51,17 @@ $container = get_theme_mod( 'understrap_container_type' );
<?php endif; ?>
<?php
} else {
the_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="<?php esc_attr_e( 'Toggle navigation', 'understrap' ); ?>">
<?php } else {
the_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">
<span class="navbar-toggler-icon"></span>
</button>
<!-- The WordPress Menu goes here -->
<?php
wp_nav_menu(
<?php wp_nav_menu(
array(
'theme_location' => 'primary',
'container_class' => 'collapse navbar-collapse',
@ -77,9 +72,8 @@ $container = get_theme_mod( 'understrap_container_type' );
'depth' => 2,
'walker' => new Understrap_WP_Bootstrap_Navwalker(),
)
);
?>
<?php if ( 'container' === $container ) : ?>
); ?>
<?php if ( 'container' == $container ) : ?>
</div><!-- .container -->
<?php endif; ?>

BIN
inc/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -5,9 +5,6 @@
* @package WP-Bootstrap-Navwalker
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/*
* Class Name: WP_Bootstrap_Navwalker
* Plugin Name: WP Bootstrap Navwalker
@ -20,7 +17,7 @@ defined( 'ABSPATH' ) || exit;
* GitHub Branch: master
* License: GPL-3.0+
* License URI: http://www.gnu.org/licenses/gpl-3.0.txt
*/
*/
/* Check if Class Exists. */
if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
@ -182,14 +179,9 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
}
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
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;
}
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
// If item has_children add atts to <a>.
if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && 1 !== $args->depth ) {
if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && $args->depth > 1 ) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['aria-haspopup'] = 'true';
@ -206,8 +198,6 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
}
}
$atts['aria-current'] = $item->current ? 'page' : '';
// update atts of this item based on any custom linkmod classes.
$atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes );
// Allow filtering of the $atts array before using it.
@ -274,7 +264,7 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
*/
if ( in_array( 'sr-only', $linkmod_classes, true ) ) {
$title = self::wrap_for_screen_reader( $title );
$keys_to_unset = array_keys( $linkmod_classes, 'sr-only', true );
$keys_to_unset = array_keys( $linkmod_classes, 'sr-only' );
foreach ( $keys_to_unset as $k ) {
unset( $linkmod_classes[ $k ] );
}
@ -381,7 +371,7 @@ if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
// if $args has 'echo' key and it's true echo, otherwise return.
if ( array_key_exists( 'echo', $args ) && $args['echo'] ) {
echo $fallback_output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo $fallback_output; // WPCS: XSS OK.
} else {
return $fallback_output;
}

View File

@ -1,106 +1,65 @@
<?php
/**
* Comment layout
* Comment layout.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
// Add Bootstrap classes to comment form fields.
// Comments form.
add_filter( 'comment_form_default_fields', 'understrap_bootstrap_comment_form_fields' );
/**
* Creates the comments form.
*
* @param string $fields Form fields.
*
* @return array
*/
if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
/**
* Add Bootstrap classes to WP's comment form default 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
*/
function understrap_bootstrap_comment_form_fields( $fields ) {
$replace = array(
'<p class="' => '<div class="form-group ',
'<input' => '<input class="form-control" ',
'</p>' => '</div>',
$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );
$aria_req = ( $req ? " aria-required='true'" : '' );
$html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0;
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
$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;
}
} // End of if function_exists( 'understrap_bootstrap_comment_form_fields' )
} // endif 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' );
/**
* Builds the form.
*
* @param string $args Arguments for form's fields.
*
* @return mixed
*/
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 ) {
$replace = array(
'<p class="' => '<div class="form-group ',
'<textarea' => '<textarea class="form-control" ',
'</p>' => '</div>',
);
if ( isset( $args['comment_field'] ) ) {
$args['comment_field'] = strtr( $args['comment_field'], $replace );
}
if ( isset( $args['class_submit'] ) ) {
$args['class_submit'] = 'btn btn-secondary';
}
$args['comment_field'] = '<div class="form-group comment-form-comment">
<label for="comment">' . _x( 'Comment', 'noun', 'understrap' ) . ( ' <span class="required">*</span>' ) . '</label>
<textarea class="form-control" id="comment" name="comment" aria-required="true" cols="45" rows="8"></textarea>
</div>';
$args['class_submit'] = 'btn btn-secondary'; // since WP 4.1.
return $args;
}
} // 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' ).
} // endif function_exists( 'understrap_bootstrap_comment_form' )

View File

@ -1,19 +1,13 @@
<?php
/**
* Custom header setup
* Custom header setup.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
if ( ! function_exists( 'understrap_custom_header_setup' ) ) {
/**
* Set up custom header feature.
*/
if ( ! function_exists ( 'understrap_custom_header_setup' ) ) {
function understrap_custom_header_setup() {
/**
@ -24,36 +18,28 @@ if ( ! function_exists( 'understrap_custom_header_setup' ) ) {
* @param array $args {
* An array of custom-header support arguments.
*
* @type string $default-image Default image of the header.
* @type string $default-image Default image of the header.
* @type string $default_text_color Default color of the header text.
* @type int $width Width in pixels of the custom header image. Default 954.
* @type int $height Height in pixels of the custom header image. Default 1300.
* @type string $wp-head-callback Callback function used to styles the header image and text
* displayed on the blog.
* @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(
'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
'width' => 2000,
'height' => 1200,
'flex-height' => true,
)
)
);
add_theme_support( 'custom-header', apply_filters( 'understrap_custom_header_args', array(
'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
'width' => 2000,
'height' => 1200,
'flex-height' => true,
) ) );
register_default_headers(
array(
'default-image' => array(
'url' => '%s/img/header.jpg',
'thumbnail_url' => '%s/img/header.jpg',
'description' => __( 'Default Header Image', 'understrap' ),
),
)
);
register_default_headers( array(
'default-image' => array(
'url' => '%s/img/header.jpg',
'thumbnail_url' => '%s/img/header.jpg',
'description' => __( 'Default Header Image', 'understrap' ),
),
) );
}
}
}

View File

@ -1,13 +1,10 @@
<?php
/**
* UnderStrap Theme Customizer
* Understrap Theme Customizer
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
@ -36,53 +33,40 @@ if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
function understrap_theme_customize_register( $wp_customize ) {
// Theme layout settings.
$wp_customize->add_section(
'understrap_theme_layout_options',
array(
'title' => __( 'Theme Layout Settings', 'understrap' ),
'capability' => 'edit_theme_options',
'description' => __( 'Container width and sidebar defaults', 'understrap' ),
'priority' => apply_filters( 'understrap_theme_layout_options_priority', 160 ),
)
);
$wp_customize->add_section( 'understrap_theme_layout_options', array(
'title' => __( 'Theme Layout Settings', 'understrap' ),
'capability' => 'edit_theme_options',
'description' => __( 'Container width and sidebar defaults', 'understrap' ),
'priority' => 160,
) );
/**
* 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 ) {
//select sanitization function
function understrap_theme_slug_sanitize_select( $input, $setting ){
//input must be a slug: lowercase alphanumeric characters, dashes and underscores are allowed only
$input = sanitize_key($input);
//get the list of possible select options
$choices = $setting->manager->get_control( $setting->id )->choices;
//return input if valid or return default option
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
// Ensure input is a slug (lowercase alphanumeric characters, dashes and underscores are allowed only).
$input = sanitize_key( $input );
// Get the list of possible select options.
$choices = $setting->manager->get_control( $setting->id )->choices;
// If the input is a valid key, return it; otherwise, return the default.
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
$wp_customize->add_setting(
'understrap_container_type',
array(
'default' => 'container',
'type' => 'theme_mod',
'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
'capability' => 'edit_theme_options',
)
);
$wp_customize->add_setting( 'understrap_container_type', array(
'default' => 'container',
'type' => 'theme_mod',
'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
'capability' => 'edit_theme_options',
) );
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'understrap_container_type',
array(
'understrap_container_type', array(
'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',
'settings' => 'understrap_container_type',
'type' => 'select',
@ -90,47 +74,39 @@ if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
'container' => __( 'Fixed width container', 'understrap' ),
'container-fluid' => __( 'Full width container', 'understrap' ),
),
'priority' => apply_filters( 'understrap_container_type_priority', 10 ),
'priority' => '10',
)
)
);
) );
$wp_customize->add_setting(
'understrap_sidebar_position',
array(
'default' => 'right',
'type' => 'theme_mod',
'sanitize_callback' => 'sanitize_text_field',
'capability' => 'edit_theme_options',
)
);
$wp_customize->add_setting( 'understrap_sidebar_position', array(
'default' => 'right',
'type' => 'theme_mod',
'sanitize_callback' => 'sanitize_text_field',
'capability' => 'edit_theme_options',
) );
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'understrap_sidebar_position',
array(
'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.',
'understrap'
),
'section' => 'understrap_theme_layout_options',
'settings' => 'understrap_sidebar_position',
'type' => 'select',
'understrap_sidebar_position', array(
'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.",
'understrap' ),
'section' => 'understrap_theme_layout_options',
'settings' => 'understrap_sidebar_position',
'type' => 'select',
'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
'choices' => array(
'choices' => array(
'right' => __( 'Right sidebar', 'understrap' ),
'left' => __( 'Left sidebar', 'understrap' ),
'both' => __( 'Left & Right sidebars', 'understrap' ),
'none' => __( 'No sidebar', 'understrap' ),
),
'priority' => apply_filters( 'understrap_sidebar_position_priority', 20 ),
'priority' => '20',
)
)
);
) );
}
} // End of if function_exists( 'understrap_theme_customize_register' ).
} // endif function_exists( 'understrap_theme_customize_register' ).
add_action( 'customize_register', 'understrap_theme_customize_register' );
/**
@ -141,13 +117,8 @@ if ( ! function_exists( 'understrap_customize_preview_js' ) ) {
* Setup JS integration for live previewing.
*/
function understrap_customize_preview_js() {
wp_enqueue_script(
'understrap_customizer',
get_template_directory_uri() . '/js/customizer.js',
array( 'customize-preview' ),
'20130508',
true
);
wp_enqueue_script( 'understrap_customizer', get_template_directory_uri() . '/js/customizer.js',
array( 'customize-preview' ), '20130508', true );
}
}
add_action( 'customize_preview_init', 'understrap_customize_preview_js' );

View File

@ -1,49 +0,0 @@
<?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,85 +1,74 @@
<?php
/**
* UnderStrap modify editor
* Understrap modify editor
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Registers an editor stylesheet for the theme.
*/
add_action( 'admin_init', '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() {
add_editor_style( 'css/custom-editor-style.min.css' );
}
if ( ! function_exists ( 'understrap_wpdocs_theme_add_editor_styles' ) ) {
function understrap_wpdocs_theme_add_editor_styles() {
add_editor_style( 'css/custom-editor-style.min.css' );
}
}
// Add TinyMCE style formats.
add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
if ( ! function_exists( 'understrap_tiny_mce_style_formats' ) ) {
/**
* Reveals TinyMCE's hidden Style dropdown.
*
* @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;
}
if ( ! function_exists ( 'understrap_tiny_mce_style_formats' ) ) {
function understrap_tiny_mce_style_formats( $styles ) {
array_unshift( $styles, 'styleselect' );
return $styles;
}
}
add_filter( 'tiny_mce_before_init', '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 ) {
if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
function understrap_tiny_mce_before_init( $settings ) {
$style_formats = array(
array(
'title' => 'Lead Paragraph',
'selector' => 'p',
'classes' => 'lead',
'wrapper' => true,
),
array(
'title' => 'Small',
'inline' => 'small',
),
array(
'title' => 'Blockquote',
'block' => 'blockquote',
'classes' => 'blockquote',
'wrapper' => true,
),
array(
'title' => 'Blockquote Footer',
'block' => 'footer',
'classes' => 'blockquote-footer',
'wrapper' => true,
),
array(
'title' => 'Cite',
'inline' => 'cite',
),
);
$style_formats = array(
array(
'title' => 'Lead Paragraph',
'selector' => 'p',
'classes' => 'lead',
'wrapper' => true
),
array(
'title' => 'Small',
'inline' => 'small'
),
array(
'title' => 'Blockquote',
'block' => 'blockquote',
'classes' => 'blockquote',
'wrapper' => true
),
array(
'title' => 'Blockquote Footer',
'block' => 'footer',
'classes' => 'blockquote-footer',
'wrapper' => true
),
array(
'title' => 'Cite',
'inline' => 'cite'
)
);
if ( isset( $settings['style_formats'] ) ) {
$orig_style_formats = json_decode($settings['style_formats'],true);
$style_formats = array_merge($orig_style_formats,$style_formats);
}
if ( isset( $settings['style_formats'] ) ) {
$orig_style_formats = json_decode( $settings['style_formats'], true );
$style_formats = array_merge( $orig_style_formats, $style_formats );
}
$settings['style_formats'] = wp_json_encode( $style_formats );
return $settings;
}
$settings['style_formats'] = json_encode( $style_formats );
return $settings;
}
}

View File

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

View File

@ -1,15 +1,12 @@
<?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.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_filter( 'body_class', 'understrap_body_classes' );
if ( ! function_exists( 'understrap_body_classes' ) ) {
@ -48,7 +45,7 @@ if ( ! function_exists( 'understrap_adjust_body_class' ) ) {
function understrap_adjust_body_class( $classes ) {
foreach ( $classes as $key => $value ) {
if ( 'tag' === $value ) {
if ( 'tag' == $value ) {
unset( $classes[ $key ] );
}
}
@ -67,22 +64,23 @@ if ( ! function_exists( 'understrap_change_logo_class' ) ) {
*
* @param string $html Markup.
*
* @return string
* @return mixed
*/
function understrap_change_logo_class( $html ) {
$html = str_replace( 'class="custom-logo"', 'class="img-fluid"', $html );
$html = str_replace( 'class="custom-logo-link"', 'class="navbar-brand custom-logo-link"', $html );
$html = str_replace( 'alt=""', 'title="Home" alt="logo"', $html );
$html = str_replace( 'alt=""', 'title="Home" alt="logo"' , $html );
return $html;
}
}
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() {
// 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 );
@ -92,163 +90,21 @@ if ( ! function_exists( 'understrap_post_nav' ) ) {
return;
}
?>
<nav class="container navigation post-navigation">
<h2 class="sr-only"><?php esc_html_e( 'Post navigation', 'understrap' ); ?></h2>
<div class="row nav-links justify-content-between">
<?php
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' ) );
}
if ( get_next_post_link() ) {
next_post_link( '<span class="nav-next">%link</span>', _x( '%title&nbsp;<i class="fa fa-angle-right"></i>', 'Next post link', 'understrap' ) );
}
?>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
<nav class="container navigation post-navigation">
<h2 class="sr-only"><?php _e( 'Post navigation', 'understrap' ); ?></h2>
<div class="row nav-links justify-content-between">
<?php
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' ) );
}
if ( get_next_post_link() ) {
next_post_link( '<span class="nav-next">%link</span>', _x( '%title&nbsp;<i class="fa fa-angle-right"></i>', 'Next post link', 'understrap' ) );
}
?>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
<?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' ).
}

View File

@ -1,51 +0,0 @@
<?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,43 +7,39 @@
* @package UnderStrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Jetpack setup function.
*
* See: https://jetpack.me/support/infinite-scroll/
* See: https://jetpack.me/support/responsive-videos/
*/
add_action( 'after_setup_theme', '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/
*/
if ( ! function_exists ( 'understrap_components_jetpack_setup' ) ) {
function understrap_components_jetpack_setup() {
// Add theme support for Infinite Scroll.
add_theme_support(
'infinite-scroll',
array(
'container' => 'main',
'render' => 'understrap_components_infinite_scroll_render',
'footer' => 'page',
)
);
add_theme_support( 'infinite-scroll', array(
'container' => 'main',
'render' => 'components_infinite_scroll_render',
'footer' => 'page',
) );
// Add theme support for 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' );
}
}
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() {
while ( have_posts() ) {
the_post();
@ -56,17 +52,12 @@ if ( ! function_exists( 'understrap_components_infinite_scroll_render' ) ) {
}
}
if ( ! function_exists( 'understrap_components_social_menu' ) ) {
/**
* Display Jetpack's social menu if available.
* Avoids fatal errors if Jetpack isnt activated.
*/
if ( ! function_exists ( 'understrap_components_social_menu' ) ) {
function understrap_components_social_menu() {
if ( ! function_exists( 'jetpack_social_menu' ) ) {
// Return early if social menu is not available.
return;
} else {
jetpack_social_menu();
}
}
}
}

View File

@ -1,92 +1,52 @@
<?php
/**
* Pagination layout
* Pagination layout.
*
* @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,
array(
'mid_size' => 2,
'prev_next' => true,
'prev_text' => __( '&laquo;', 'understrap' ),
'next_text' => __( '&raquo;', 'understrap' ),
'type' => 'array',
'current' => max( 1, get_query_var( 'paged' ) ),
'screen_reader_text' => __( 'Posts navigation', 'understrap' ),
)
);
$args = wp_parse_args( $args, [
'mid_size' => 2,
'prev_next' => true,
'prev_text' => __('&laquo;', 'understrap'),
'next_text' => __('&raquo;', 'understrap'),
'screen_reader_text' => __('Posts navigation', 'understrap'),
'type' => 'array',
'current' => max( 1, get_query_var('paged') ),
]);
$links = paginate_links( $args );
if ( ! $links ) {
return;
}
$links = paginate_links($args);
?>
?>
<nav aria-labelledby="posts-nav-label">
<nav aria-label="<?php echo $args['screen_reader_text']; ?>">
<h2 id="posts-nav-label" class="sr-only">
<?php echo esc_html( $args['screen_reader_text'] ); ?>
</h2>
<ul class="pagination">
<ul class="<?php echo esc_attr( $class ); ?>">
<?php
<?php
foreach ( $links as $key => $link ) {
?>
<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 ?>
</li>
<?php
}
?>
foreach ( $links as $key => $link ) { ?>
</ul>
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : '' ?>">
</nav>
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
<?php
}
</li>
<?php } ?>
</ul>
</nav>
<?php
}
}
?>

View File

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

View File

@ -1,71 +1,57 @@
<?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.
*
* @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() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
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 = sprintf(
$time_string,
$time_string = sprintf( $time_string,
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( 'c' ) ),
esc_html( get_the_modified_date() )
);
$posted_on = apply_filters(
'understrap_posted_on',
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 )
)
$posted_on = sprintf(
esc_html_x( 'Posted on %s', 'post date', 'understrap' ),
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
);
$byline = apply_filters(
'understrap_posted_by',
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() )
)
$byline = sprintf(
esc_html_x( 'by %s', 'post author', 'understrap' ),
'<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>'
);
echo $posted_on . $byline; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
}
}
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() {
// Hide category and tag text for pages.
if ( 'post' === get_post_type() ) {
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) );
if ( $categories_list && understrap_categorized_blog() ) {
/* 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
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'understrap' ) . '</span>', $categories_list ); // WPCS: XSS OK.
}
/* translators: used between list items, there is a space after the comma */
$tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) );
if ( $tags_list ) {
/* 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
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'understrap' ) . '</span>', $tags_list ); // WPCS: XSS OK.
}
}
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
@ -77,7 +63,7 @@ if ( ! function_exists( 'understrap_entry_footer' ) ) {
sprintf(
/* translators: %s: Name of current post */
esc_html__( 'Edit %s', 'understrap' ),
the_title( '<span class="sr-only">"', '"</span>', false )
the_title( '<span class="screen-reader-text">"', '"</span>', false )
),
'<span class="edit-link">',
'</span>'
@ -85,45 +71,44 @@ if ( ! function_exists( 'understrap_entry_footer' ) ) {
}
}
if ( ! function_exists( 'understrap_categorized_blog' ) ) {
/**
* Returns true if a blog has more than 1 category.
*
* @return bool
*/
/**
* Returns true if a blog has more than 1 category.
*
* @return bool
*/
if ( ! function_exists ( 'understrap_categorized_blog' ) ) {
function understrap_categorized_blog() {
$all_the_cool_cats = get_transient( 'understrap_categories' );
if ( false === $all_the_cool_cats ) {
if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) {
// Create an array of all the categories that are attached to posts.
$all_the_cool_cats = get_categories(
array(
'fields' => 'ids',
'hide_empty' => 1,
// We only need to know if there is more than one category.
'number' => 2,
)
);
$all_the_cool_cats = get_categories( array(
'fields' => 'ids',
'hide_empty' => 1,
// We only need to know if there is more than one category.
'number' => 2,
) );
// Count the number of categories that are attached to the posts.
$all_the_cool_cats = count( $all_the_cool_cats );
set_transient( 'understrap_categories', $all_the_cool_cats );
}
if ( $all_the_cool_cats > 1 ) {
// This blog has more than 1 category so understrap_categorized_blog should return true.
// This blog has more than 1 category so components_categorized_blog should return true.
return true;
} else {
// This blog has only 1 category so understrap_categorized_blog should return false.
// This blog has only 1 category so components_categorized_blog should return false.
return false;
}
}
}
add_action( 'edit_category', 'understrap_category_transient_flusher' );
add_action( 'save_post', 'understrap_category_transient_flusher' );
if ( ! function_exists( 'understrap_category_transient_flusher' ) ) {
/**
* Flush out the transients used in understrap_categorized_blog.
*/
/**
* Flush out the transients used in understrap_categorized_blog.
*/
add_action( 'edit_category', 'understrap_category_transient_flusher' );
add_action( 'save_post', 'understrap_category_transient_flusher' );
if ( ! function_exists ( 'understrap_category_transient_flusher' ) ) {
function understrap_category_transient_flusher() {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
@ -131,30 +116,4 @@ if ( ! function_exists( 'understrap_category_transient_flusher' ) ) {
// Like, beat it. Dig?
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,45 +3,30 @@
* Check and setup theme's default settings
*
* @package understrap
*
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) {
/**
* Store default theme settings in database.
*/
if ( ! function_exists ( '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 );
}
// check if settings are set, if not set defaults.
// Caution: DO NOT check existence using === always check with == .
// Latest blog posts style.
$understrap_posts_index_style = get_theme_mod( 'understrap_posts_index_style' );
if ( '' == $understrap_posts_index_style ) {
set_theme_mod( 'understrap_posts_index_style', 'default' );
}
// 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' );
}
}
}
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.
);
/**
* Filters the default theme settings.
*
* @param array $defaults Array of default theme settings.
*/
return apply_filters( 'understrap_theme_default_settings', $defaults );
}
}
}

View File

@ -5,91 +5,44 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Add filter to the parameters passed to a widget's display callback.
* The filter is evaluated on both the front and the back end!
*
* @link https://developer.wordpress.org/reference/hooks/dynamic_sidebar_params/
* 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
*/
add_filter( 'dynamic_sidebar_params', 'understrap_widget_classes' );
if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) {
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;
if ( ! function_exists( 'understrap_widget_classes' ) ) {
$sidebars_widgets_count = $_wp_sidebars_widgets;
/**
* 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'];
if ( isset( $sidebars_widgets_count[ $sidebar_id ] ) ) :
$widget_count = count( $sidebars_widgets_count[ $sidebar_id ] );
$widget_classes = 'widget-count-' . $widget_count;
if ( 0 === $widget_count % 4 || $widget_count > 6 ) {
// Four widgets per row if there are exactly four or more than six.
$widget_classes = 'widget-count-' . count( $sidebars_widgets_count[ $sidebar_id ] );
if ( $widget_count % 4 == 0 || $widget_count > 6 ) :
// Four widgets per row if there are exactly four or more than six
$widget_classes .= ' col-md-3';
} elseif ( 6 === $widget_count ) {
// If two widgets are published.
elseif ( 6 == $widget_count ) :
// 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.
elseif ( $widget_count >= 3 ) :
// Three widgets per row if there's three or more widgets
$widget_classes .= ' col-md-4';
} elseif ( 2 === $widget_count ) {
// If two widgets are published.
elseif ( 2 == $widget_count ) :
// If two widgets are published
$widget_classes .= ' col-md-6';
} elseif ( 1 === $widget_count ) {
// If just on widget is active.
elseif ( 1 == $widget_count ) :
// If just on widget is active
$widget_classes .= ' col-md-12';
}
// 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;
endif;
return $widget_classes;
endif;
}
} // End of if function_exists( 'understrap_widget_classes' ).
}
add_action( 'widgets_init', 'understrap_widgets_init' );
@ -98,77 +51,65 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
* Initializes themes widgets.
*/
function understrap_widgets_init() {
register_sidebar(
array(
'name' => __( 'Right Sidebar', 'understrap' ),
'id' => 'right-sidebar',
'description' => __( 'Right sidebar widget area', 'understrap' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
register_sidebar( array(
'name' => __( 'Right Sidebar', 'understrap' ),
'id' => 'right-sidebar',
'description' => 'Right sidebar widget area',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar(
array(
'name' => __( 'Left Sidebar', 'understrap' ),
'id' => 'left-sidebar',
'description' => __( 'Left sidebar widget area', 'understrap' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
register_sidebar( array(
'name' => __( 'Left Sidebar', 'understrap' ),
'id' => 'left-sidebar',
'description' => 'Left sidebar widget area',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar(
array(
'name' => __( 'Hero Slider', 'understrap' ),
'id' => 'hero',
'description' => __( 'Hero slider area. Place two or more widgets here and they will slide!', 'understrap' ),
'before_widget' => '<div class="carousel-item">',
'after_widget' => '</div>',
'before_title' => '',
'after_title' => '',
)
);
register_sidebar( array(
'name' => __( 'Hero Slider', 'understrap' ),
'id' => 'hero',
'description' => 'Hero slider area. Place two or more widgets here and they will slide!',
'before_widget' => '<div class="carousel-item">',
'after_widget' => '</div>',
'before_title' => '',
'after_title' => '',
) );
register_sidebar(
array(
'name' => __( 'Hero Canvas', 'understrap' ),
'id' => 'herocanvas',
'description' => __( 'Full size canvas hero area for Bootstrap and other custom HTML markup', 'understrap' ),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
)
);
register_sidebar( array(
'name' => __( 'Hero Canvas', 'understrap' ),
'id' => 'herocanvas',
'description' => 'Full size canvas hero area for Bootstrap and other custom HTML markup',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
) );
register_sidebar(
array(
'name' => __( 'Top Full', 'understrap' ),
'id' => 'statichero',
'description' => __( 'Full top widget with dynamic grid', 'understrap' ),
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s dynamic-classes">',
'after_widget' => '</div><!-- .static-hero-widget -->',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
register_sidebar( array(
'name' => __( 'Top Full', 'understrap' ),
'id' => 'statichero',
'description' => 'Full top widget with dynmic grid',
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">',
'after_widget' => '</div><!-- .static-hero-widget -->',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar(
array(
'name' => __( 'Footer Full', 'understrap' ),
'id' => 'footerfull',
'description' => __( 'Full sized footer widget with dynamic grid', 'understrap' ),
'before_widget' => '<div id="%1$s" class="footer-widget %2$s dynamic-classes">',
'after_widget' => '</div><!-- .footer-widget -->',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
register_sidebar( array(
'name' => __( 'Bottom Full', 'understrap' ),
'id' => 'footerfull',
'description' => 'Full bottom widget with dynmic grid',
'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">',
'after_widget' => '</div><!-- .footer-widget -->',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
}
} // End of function_exists( 'understrap_widgets_init' ).
} // endif function_exists( 'understrap_widgets_init' ).

View File

@ -5,8 +5,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
@ -16,7 +14,7 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
function understrap_woocommerce_support() {
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-zoom' );
add_theme_support( 'wc-product-gallery-slider' );
@ -26,57 +24,55 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
}
}
// First unhook the WooCommerce content wrappers.
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 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.
add_action( 'woocommerce_before_main_content', 'understrap_woocommerce_wrapper_start', 10 );
add_action( 'woocommerce_after_main_content', 'understrap_woocommerce_wrapper_end', 10 );
/**
* First unhook the WooCommerce wrappers
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 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
*/
add_action('woocommerce_before_main_content', 'understrap_woocommerce_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'understrap_woocommerce_wrapper_end', 10);
if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
/**
* Display the theme specific start of the page wrapper.
*/
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="' . esc_attr( $container ) . '" id="content" tabindex="-1">';
echo '<div class="' . esc_attr( $container ) . '" id="content" tabindex="-1">';
echo '<div class="row">';
get_template_part( 'global-templates/left-sidebar-check' );
echo '<main class="site-main" id="main">';
}
}
if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
/**
* Display the theme specific end of the page wrapper.
*/
function understrap_woocommerce_wrapper_end() {
echo '</main><!-- #main -->';
get_template_part( 'global-templates/right-sidebar-check' );
echo '</div><!-- .row -->';
echo '</div><!-- Container end -->';
echo '</div><!-- Wrapper end -->';
function understrap_woocommerce_wrapper_end() {
echo '</main><!-- #main -->';
get_template_part( 'global-templates/right-sidebar-check' );
echo '</div><!-- .row -->';
echo '</div><!-- Container end -->';
echo '</div><!-- Wrapper end -->';
}
}
if ( ! function_exists( 'understrap_wc_form_field_args' ) ) {
/**
* Filter hook function monkey patching form classes
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
*
* @param string $args Form attributes.
* @param string $key Not in use.
* @param null $value Not in use.
*
* @return mixed
*/
/**
* Filter hook function monkey patching form classes
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
*
* @param string $args Form attributes.
* @param string $key Not in use.
* @param null $value Not in use.
*
* @return mixed
*/
if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
function understrap_wc_form_field_args( $args, $key, $value = null ) {
// Start field type switch case.
switch ( $args['type'] ) {
/* Targets all select input type elements, except the country and state select input types */
case 'select':
case 'select' :
// Add a class to the field's html element wrapper - woocommerce
// input types (fields) are often wrapped within a <p></p> tag.
$args['class'][] = 'form-group';
@ -92,13 +88,13 @@ if ( ! function_exists( 'understrap_wc_form_field_args' ) ) {
break;
// By default WooCommerce will populate a select with the country names - $args
// defined for this specific input type targets only the country select element.
case 'country':
case 'country' :
$args['class'][] = 'form-group single-country';
$args['label_class'] = array( 'control-label' );
break;
// By default WooCommerce will populate a select with state names - $args defined
// for this specific input type targets only the country select element.
case 'state':
case 'state' :
// Add class to the field's html element wrapper.
$args['class'][] = 'form-group';
// add class to the form input itself.
@ -110,57 +106,33 @@ if ( ! function_exists( 'understrap_wc_form_field_args' ) ) {
'aria-hidden' => 'true',
);
break;
case 'password':
case 'text':
case 'email':
case 'tel':
case 'number':
case 'password' :
case 'text' :
case 'email' :
case 'tel' :
case 'number' :
$args['class'][] = 'form-group';
$args['input_class'] = array( 'form-control', 'input-lg' );
$args['label_class'] = array( 'control-label' );
break;
case 'textarea':
case 'textarea' :
$args['input_class'] = array( 'form-control', 'input-lg' );
$args['label_class'] = array( 'control-label' );
break;
case 'checkbox':
case 'checkbox' :
$args['label_class'] = array( 'custom-control custom-checkbox' );
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
break;
case 'radio':
case 'radio' :
$args['label_class'] = array( 'custom-control custom-radio' );
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
break;
default:
default :
$args['class'][] = 'form-group';
$args['input_class'] = array( 'form-control', 'input-lg' );
$args['label_class'] = array( 'control-label' );
break;
} // End of switch ( $args ).
} // end switch ($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,17 +7,14 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Adds support for wp.com-specific theme functions.
*
* @global array $themecolors
*/
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
if ( ! function_exists( 'understrap_wpcom_setup' ) ) {
/**
* Adds support for wp.com-specific theme functions.
*
* @global array $themecolors
*/
if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
function understrap_wpcom_setup() {
global $themecolors;
@ -31,19 +28,20 @@ if ( ! function_exists( 'understrap_wpcom_setup' ) ) {
'url' => '',
);
}
/* Add WP.com print styles */
add_theme_support( 'print-styles' );
}
}
/*
* WordPress.com-specific styles
*/
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
if ( ! function_exists( 'understrap_wpcom_styles' ) ) {
/**
* WordPress.com-specific styles
*/
if ( ! function_exists ( 'understrap_wpcom_styles' ) ) {
function understrap_wpcom_styles() {
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', array(), '20160411' );
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' );
}
}
}

View File

@ -1,6 +1,6 @@
<?php
/**
* The main template file
* The main template file.
*
* 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).
@ -11,12 +11,9 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
$container = get_theme_mod( 'understrap_container_type' );
?>
<?php if ( is_front_page() && is_home() ) : ?>
@ -34,11 +31,13 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main">
<?php
if ( have_posts() ) {
// Start the Loop.
while ( have_posts() ) {
the_post();
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/*
* Include the Post-Format-specific template for the content.
@ -46,25 +45,29 @@ $container = get_theme_mod( 'understrap_container_type' );
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
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 -->
<!-- The pagination component -->
<?php understrap_pagination(); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
</div><!-- .row -->
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #index-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

BIN
js/.DS_Store vendored Normal file

Binary file not shown.

476
js/core.js Normal file
View File

@ -0,0 +1,476 @@
/* 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 Executable file → Normal file
View File

2528
js/popper.js Normal file

File diff suppressed because it is too large Load Diff

5
js/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

10550
js/theme.js

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
msgid "About:"
msgstr "À propos:"
msgstr "A propos:"
#: author.php:42 inc/custom-comments.php:30
msgid "Website"
@ -771,7 +771,7 @@ msgid ""
msgstr ""
"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 "
"WordPress. Utilisez-le comme thème de démarrage ou comme thème parent. À "
"WordPress. Utilisez-le comme thème de démarrage ou comme thème parent. A "
"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 "
"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."
#~ msgstr ""
#~ "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. À "
#~ "point de départ pour tout vos projets de site et de thèmes WordPress. A "
#~ "utiliser comme thème de départ ou comme thème parent."

Binary file not shown.

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

@ -2,34 +2,84 @@ msgid ""
msgstr ""
"Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-17 17:56+0000\n"
"PO-Revision-Date: 2018-07-12 20:51+0000\n"
"Last-Translator: vincent <v.vanbergen@gmail.com>\n"
"Language-Team: Nederlands\n"
"Language: nl_NL\n"
"POT-Creation-Date: 2016-11-23 08:05+0000\n"
"PO-Revision-Date: 2016-11-23 20:11+0000\n"
"Last-Translator: Sander\n"
"Language-Team: Dutch (Netherlands)\n"
"Language: nl-NL\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\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-Project-Id: 19218\n"
"X-Loco-Api-Version: 1.0.15 20161122-1"
#: search.php:29
#, php-format
msgid "Search Results for: %s"
msgstr "Zoekresultaten voor: %s"
#: ../comments.php:28 loco:58356fd352e1a1670d8b4567
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;"
#: header.php:34
#: ../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"
#: 404.php:24
#: ../search.php:23 loco:58356fd352e1a1670d8b4575
msgid "Search Results for: %s"
msgstr "Zoekresultaten voor: %s"
#: ../404.php:22 loco:58356fd352e1a1670d8b4576
msgid "Oops! That page can&rsquo;t be found."
msgstr "Oeps! Deze pagina kan niet worden gevonden."
#: 404.php:31
#: ../404.php:27 loco:58356fd352e1a1670d8b4577
msgid ""
"It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?"
@ -37,110 +87,147 @@ msgstr ""
"Het lijkt erop dat er niets gevonden is op deze locatie. Probeer anders "
"&#233;&#233;n van de onderstaande links of een zoekopdracht? "
#: 404.php:42
#: ../404.php:37 loco:58356fd352e1a1670d8b4578
msgid "Most Used Categories"
msgstr "Meestgebruikte categorie&#235;n"
#. translators: %1$s: smiley
#: 404.php:62
#, php-format
#: ../404.php:57 loco:58356fd352e1a1670d8b4579
msgid "Try looking in the monthly archives. %1$s"
msgstr "Wellicht kun je kijken in de maandelijkse archieven. %1$s"
#: 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
#: ../searchform.php:9 ../searchform.php:13 loco:58356fd352e1a1670d8b457a
msgid "Search"
msgstr "Zoek"
#: searchform.php:13
#: ../searchform.php:11 loco:58356fd352e1a1670d8b457b
msgid "Search &hellip;"
msgstr "Zoek &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
#. Name of the template
#: loco:58356fd352e1a1670d8b457c
msgid "Full Width Page"
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:"
msgstr "Pagina's:"
#: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Bewerk"
#: loop-templates/content-none.php:15
#: ../loop-templates/content-none.php:16 loco:58356fd352e1a1670d8b4596
msgid "Nothing Found"
msgstr "Niets gevonden"
#: loop-templates/content-none.php:23
#, php-format
#: ../loop-templates/content-none.php:24 loco:58356fd352e1a1670d8b4597
msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
"Klaar om je eerste bericht te plaatsen? <a href=\"%1$s\">Begin hier</a>."
#: loop-templates/content-none.php:28
#: ../loop-templates/content-none.php:28 loco:58356fd352e1a1670d8b4598
msgid ""
"Sorry, but nothing matched your search terms. Please try again with some "
"different keywords."
@ -148,7 +235,7 @@ msgstr ""
"Helaas, er waren geen overeenkomsten met jouw zoekopdracht. Probeer het "
"opnieuw met enkele andere zoekwoorden."
#: loop-templates/content-none.php:34
#: ../loop-templates/content-none.php:33 loco:58356fd352e1a1670d8b4599
msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help."
@ -156,610 +243,37 @@ msgstr ""
"Het lijkt erop dat wij niet kunnen vinden wat jij zoekt. Wellicht dat de "
"zoekfunctie kan helpen."
#. Name of the template
msgid "Blank Page Template"
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"
#: ../loop-templates/content-page.php:34 loco:58356fd352e1a1670d8b459a
msgid "Edit"
msgstr "Bewerk"
#. Name of the theme
#: loco:58356fd352e1a1670d8b459b
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 ""
#. Theme URI of the theme
#: loco:58356fd352e1a1670d8b459c
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Description of the theme
#: loco:58356fd352e1a1670d8b459d
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 ""
"Een combinatie van het _s thema van Automattic en Bootstrap 4. Ontwikkeld "
"als startpunt voor het maken van jouw volgende thema en WordPress website. "
"Gebruik het als starter thema of parent thema. De keuze is aan jou."
#. Author of the theme
#: loco:58356fd352e1a1670d8b459e
msgid "Holger Koenemann"
msgstr "Holger Koenemann"
#. Author URI of the theme
#: loco:58356fd352e1a1670d8b459f
msgid "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 ""
"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"
"PO-Revision-Date: 2019-02-05 12:35+0000\n"
"Last-Translator: \n"
"POT-Creation-Date: 2016-10-27 11:09+0100\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
"PO-Revision-Date: 2016-10-27 12:01+0100\n"
"Language-Team: \n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\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-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 1.8.11\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: \n"
"Language: pt_PT\n"
"X-Poedit-SearchPath-0: footer.php\n"
"X-Poedit-SearchPath-1: header.php\n"
"X-Poedit-SearchPath-2: index.php\n"
@ -44,58 +44,7 @@ msgstr ""
"X-Poedit-SearchPath-20: page-templates\n"
"X-Poedit-SearchPath-21: inc\n"
#: 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
#: ../comments.php:28
#, php-format
msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;"
@ -103,72 +52,220 @@ msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Uma ideia sobre &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s ideias sobre &ldquo;%2$s&rdquo;"
#: comments.php:36 comments.php:59
#: ../comments.php:35 ../comments.php:56
msgid "Comment navigation"
msgstr "Navegação Respostas"
#: comments.php:38 comments.php:61
#: ../comments.php:37 ../comments.php:58
msgid "&larr; Older Comments"
msgstr "&larr; Comentários mais antigos"
#: comments.php:42 comments.php:65
#: ../comments.php:40 ../comments.php:61
msgid "Newer Comments &rarr;"
msgstr "Comentários mais recentes &rarr;"
#: comments.php:78
#: ../comments.php:72
msgid "Comments are closed."
msgstr "Comentários estão fechados."
#: footer.php:27
#: ../author.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/"
msgstr "http://wordpress.org/"
#: footer.php:28
#: ../footer.php:24
#, php-format
msgid "Proudly powered by %s"
msgstr "Orgulhosamente criado com %s"
#: footer.php:31
#: ../footer.php:26
#, php-format
msgid "Theme: %1$s by %2$s."
msgstr "Tema: %1$s por %2$s."
#: footer.php:33
#, php-format
msgid "Version: %1$s"
msgstr "Versão: %1$s"
#: ../header.php:30
msgid "Skip to content"
msgstr "Saltar para o conteúdo"
#: searchform.php:10 searchform.php:16
#: ../search.php:23
#, php-format
msgid "Search Results for: %s"
msgstr "Procurar resultados para: %s"
#: ../404.php:22
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"
msgstr "Pesquisar"
#: searchform.php:13
#: ../searchform.php:11
msgid "Search &hellip;"
msgstr "Pesquisar &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
#. Name of the template
msgid "Full Width Page"
msgstr "Página largura completa"
#. 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:"
msgstr "Páginas:"
#: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Editar"
#: loop-templates/content-none.php:15
#: ../loop-templates/content-none.php:16
msgid "Nothing Found"
msgstr "Nada encontrado"
#: loop-templates/content-none.php:23
#: ../loop-templates/content-none.php:24
#, php-format
msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
"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 ""
"Sorry, but nothing matched your search terms. Please try again with some "
"different keywords."
@ -176,607 +273,34 @@ msgstr ""
"Lamentamos, nada corresponde aos termos de pesquisa. Por favor, tentar "
"novamente com algumas palavras-chave diferentes."
#: loop-templates/content-none.php:34
#: ../loop-templates/content-none.php:33
msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help."
msgstr ""
"Parece que não conseguimos encontrar o que procura. Talvez pesquisar ajude."
#. Name of the template
msgid "Blank Page Template"
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"
#: ../loop-templates/content-page.php:34
msgid "Edit"
msgstr "Editar"
#. Name of the theme
msgid "UnderStrap"
msgstr "UnderStrap"
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. 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."
"starter theme or as parent theme. It is up to you."
msgstr ""
"Combinação do tema _s da Automattic e Bootstrap 4. Pensado como um ponto de "
"arranque sólido para o teu próximo projecto e website WordPress. Utiliza "
"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"
"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."
#. Author of the theme
msgid "Holger Koenemann"
@ -785,24 +309,3 @@ msgstr "Holger Koenemann"
#. Author URI of the theme
msgid "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."

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

9881
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -7,8 +7,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
@ -16,16 +14,20 @@ defined( 'ABSPATH' ) || exit;
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=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="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body>
<?php
while ( have_posts() ) {
the_post();
get_template_part( 'loop-templates/content', 'blank' );
}
wp_footer();
?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'blank' ); ?>
<?php endwhile; // end of the loop. ?>
<?php wp_footer(); ?>
</body>
</html>

View File

@ -7,9 +7,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -20,45 +17,41 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="row">
<?php
get_template_part( 'sidebar-templates/sidebar', 'left' );
<?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?>
if ( is_active_sidebar( 'left-sidebar' ) xor is_active_sidebar( 'right-sidebar' ) ) {
$class = 'col-md-8';
} elseif ( is_active_sidebar( 'left-sidebar' ) && is_active_sidebar( 'right-sidebar' ) ) {
$class = 'col-md-4';
} else {
$class = 'col-md-12';
}
?>
<div class="<?php echo $class; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> content-area" id="primary">
<div
class="<?php
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' ) ) : ?>col-md-4<?php
else : ?>col-md-12<?php
endif; ?> content-area"
id="primary">
<main class="site-main" id="main" role="main">
<?php
while ( have_posts() ) {
the_post();
<?php while ( have_posts() ) : the_post(); ?>
get_template_part( 'loop-templates/content', 'page' );
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php
// 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();
}
}
?>
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_template_part( 'sidebar-templates/sidebar', 'right' ); ?>
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #page-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

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

View File

@ -7,15 +7,8 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$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">
@ -28,17 +21,20 @@ if ( is_front_page() ) {
<main class="site-main" id="main" role="main">
<?php
while ( have_posts() ) {
the_post();
get_template_part( 'loop-templates/content', 'page' );
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php
// 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();
}
}
?>
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
@ -46,9 +42,8 @@ if ( is_front_page() ) {
</div><!-- .row end -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #full-width-page-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

@ -7,9 +7,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -22,22 +19,24 @@ $container = get_theme_mod( 'understrap_container_type' );
<?php get_template_part( 'sidebar-templates/sidebar', 'left' ); ?>
<div class="<?php echo is_active_sidebar( 'right-sidebar' ) ? 'col-md-8' : 'col-md-12'; ?> content-area" id="primary">
<div
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">
<?php
while ( have_posts() ) {
the_post();
<?php while ( have_posts() ) : the_post(); ?>
get_template_part( 'loop-templates/content', 'page' );
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php
// 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();
}
}
?>
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
@ -45,9 +44,8 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #page-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

@ -7,9 +7,6 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -20,22 +17,24 @@ $container = get_theme_mod( 'understrap_container_type' );
<div class="row">
<div class="<?php echo is_active_sidebar( 'right-sidebar' ) ? 'col-md-8' : 'col-md-12'; ?> content-area" id="primary">
<div
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">
<?php
while ( have_posts() ) {
the_post();
<?php while ( have_posts() ) : the_post(); ?>
get_template_part( 'loop-templates/content', 'page' );
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php
// 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();
}
}
?>
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
@ -45,9 +44,8 @@ $container = get_theme_mod( 'understrap_container_type' );
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #page-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

@ -1,6 +1,6 @@
<?php
/**
* The template for displaying all pages
* The template for displaying all pages.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
@ -10,12 +10,9 @@
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -30,28 +27,28 @@ $container = get_theme_mod( 'understrap_container_type' );
<main class="site-main" id="main">
<?php
while ( have_posts() ) {
the_post();
get_template_part( 'loop-templates/content', 'page' );
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' ); ?>
<?php
// 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();
}
}
?>
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
</div><!-- .row -->
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #page-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

@ -1,92 +0,0 @@
<?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
Website: [https://understrap.com](https://understrap.com)
Website: [http://understrap.com](http://understrap.com)
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”.
- Thats it.
[1] Visit [https://browsersync.io](https://browsersync.io) for more information on Browser Sync
[1] Visit [http://browsersync.io](http://browsersync.io) for more information on Browser Sync
Licenses & Credits
=
- Font Awesome: http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- Bootstrap: https://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (Code licensed under MIT documentation under CC BY 3.0.)
- Bootstrap: http://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)
and of course
- jQuery: https://jquery.org | (Code licensed under MIT)

View File

@ -1,22 +0,0 @@
#!/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 "---------------------------------"

0
rev-manifest.json Normal file
View File

BIN
sass/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1,7 +1,7 @@
/*!
* Bootstrap v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@ -34,11 +34,9 @@
@import "../../src/sass/bootstrap4/media";
@import "../../src/sass/bootstrap4/list-group";
@import "../../src/sass/bootstrap4/close";
@import "../../src/sass/bootstrap4/toasts";
@import "../../src/sass/bootstrap4/modal";
@import "../../src/sass/bootstrap4/tooltip";
@import "../../src/sass/bootstrap4/popover";
@import "../../src/sass/bootstrap4/carousel";
@import "../../src/sass/bootstrap4/spinners";
@import "../../src/sass/bootstrap4/utilities";
@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 "assets/bootstrap4"; // <-------- Loads Bootstrap4
@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 "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 "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
// Optional files - If you dont use the corresponding scripts/fonts comment em out
// @import "assets/font-awesome"; // <-------- Font Awesome Icon font
@import "assets/underscores"; // <-------- Underscores media styles
//Optional files - If you dont use the corresponding scripts/fonts comment em out
@import "assets/font-awesome"; // <------- Font Awesome Icon font
@import "assets/underscores"; // <------- Underscores media styles
// Any additional imported files //
@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/theme"; // <--------- That's where you can add your own design. Thats your part!
@import "theme/contact-form7"; // Contact Form 7 - Bootstrap 4 support

View File

@ -1,5 +1 @@
// 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

@ -1,66 +1,6 @@
// Use this file to overwrite the basic Bootstrap variables and add your own variables
// To overwrite a Bootstrap variable you don´t have to touch the Bootstrap folder.
// To overwrite a Bootstrap variable you don´t have to touch the Bootstrap folder.
// Just copy a variable from src/sass/bootstrap4/_variables.scss, paste it here and edit the value.
$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;
$primary: #6f31cd; // Thats a sample how you could change a BootStrap variable.

View File

@ -1,149 +1,123 @@
// Some basic padding for all wrappers
.wrapper {
padding: $grid-gutter-width 0;
}
padding: $grid-gutter-width 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
.sticky,
.gallery-caption,
.bypostauthor {
font-size: inherit;
font-size: inherit;
}
// 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
#wrapper-footer-full,
#wrapper-static-hero {
background-color: $gray-200;
}
#wrapper-static-hero { background-color: $gray-200; }
// 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 {
@extend .sr-only;
}
.screen-reader-text { font-size: inherit; }
.alignleft {
display: inline;
float: left;
margin-right: 1.5em;
display: inline;
float: left;
margin-right: 1.5em;
}
.alignright {
display: inline;
float: right;
margin-left: 1.5em;
display: inline;
float: right;
margin-left: 1.5em;
}
.aligncenter {
@extend .mx-auto,
.d-block;
}
.widget_categories,
.widget_archive {
select {
@extend .form-control;
}
}
.aligncenter { margin: 0px auto; }
// Post design
.entry-footer span {
padding-right: 10px;
.entry-footer span { padding-right: 10px; }
//Woocommerce product gallery slider width fix
figure.woocommerce-product-gallery__wrapper {
max-width: inherit !important;
}
// Limit featured image size to 100%
img.wp-post-image,
article img,
figure,
img,
#secondary img {
max-width: 100%;
height: auto;
max-width: 100%;
height: auto;
}
// Skip to content link
a.skip-link {
position: fixed;
z-index: 1000;
top: 0px;
right: 0px;
position: fixed;
z-index: 1000;
top: 0px;
right: 0px;
}
// Reset Jumbotron default margin
.jumbotron {
margin-bottom: 0px;
}
.jumbotron { margin-bottom: 0px; }
// Dropdown translation
.navbar-dark .navbar-nav .dropdown-menu .nav-link {
display: block;
width: 100%; // For `<button>`s
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
clear: both;
font-weight: $font-weight-normal;
color: $dropdown-link-color !important;
text-align: inherit; // For `<button>`s
white-space: nowrap; // prevent links from randomly breaking onto new lines
background: none; // For `<button>`s
border: 0; // For `<button>`s
.navbar-dark .navbar-nav .dropdown-menu .nav-link{
display: block;
width: 100%; // For `<button>`s
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
clear: both;
font-weight: $font-weight-normal;
color: $dropdown-link-color !important;
text-align: inherit; // For `<button>`s
white-space: nowrap; // prevent links from randomly breaking onto new lines
background: none; // For `<button>`s
border: 0; // For `<button>`s
@include hover-focus {
color: $dropdown-link-hover-color !important;
text-decoration: none;
background-color: $dropdown-link-hover-bg;
}
@include hover-focus {
color: $dropdown-link-hover-color !important;
text-decoration: none;
background-color: $dropdown-link-hover-bg;
}
&.active,
&:active {
color: $dropdown-link-active-color !important;
text-decoration: none;
background-color: $dropdown-link-active-bg;
}
&.active,
&:active {
color: $dropdown-link-active-color !important;
text-decoration: none;
background-color: $dropdown-link-active-bg;
}
&.disabled,
&:disabled {
color: $dropdown-link-disabled-color !important;
background-color: transparent;
// Remove CSS gradients if they're enabled
@if $enable-gradients {
background-image: none;
}
}
&.disabled,
&:disabled {
color: $dropdown-link-disabled-color !important;
background-color: transparent;
// Remove CSS gradients if they're enabled
@if $enable-gradients {
background-image: none;
}
}
}
.navbar-light .navbar-brand a {
color: $navbar-light-active-color;
color: $navbar-light-active-color;
@include hover-focus {
color: $navbar-light-active-color;
}
@include hover-focus {
color: $navbar-light-active-color;
}
}
.navbar-dark .navbar-brand a {
color: $navbar-dark-active-color;
color: $navbar-dark-active-color;
@include hover-focus {
color: $navbar-dark-active-color;
}
}
.navbar h1 {
font-weight: $font-weight-normal;
@include hover-focus {
color: $navbar-dark-active-color;
}
}

View File

@ -2,15 +2,3 @@
.woocommerce-input-wrapper {
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,16 +1,13 @@
<?php
/**
* The template for displaying search results pages
* The template for displaying search results pages.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
get_header();
$container = get_theme_mod( 'understrap_container_type' );
$container = get_theme_mod( 'understrap_container_type' );
?>
@ -28,32 +25,27 @@ $container = get_theme_mod( 'understrap_container_type' );
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php
printf(
/* translators: %s: query term */
esc_html__( 'Search Results for: %s', 'understrap' ),
'<span>' . get_search_query() . '</span>'
);
?>
</h1>
<h1 class="page-title"><?php printf(
/* translators:*/
esc_html__( 'Search Results for: %s', 'understrap' ),
'<span>' . get_search_query() . '</span>' ); ?></h1>
</header><!-- .page-header -->
<?php /* Start the Loop */ ?>
<?php
while ( have_posts() ) :
the_post();
<?php while ( have_posts() ) : the_post(); ?>
/*
<?php
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'loop-templates/content', 'search' );
endwhile;
?>
?>
<?php endwhile; ?>
<?php else : ?>
@ -66,14 +58,13 @@ $container = get_theme_mod( 'understrap_container_type' );
<!-- The pagination component -->
<?php understrap_pagination(); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
<!-- Do the right sidebar check -->
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
</div><!-- .row -->
</div><!-- .row -->
</div><!-- #content -->
</div><!-- Container end -->
</div><!-- #search-wrapper -->
</div><!-- Wrapper end -->
<?php
get_footer();
<?php get_footer(); ?>

View File

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

View File

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

View File

@ -1,47 +1,44 @@
<?php
/**
* Sidebar - hero setup
* Sidebar - hero setup.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
?>
<?php if ( is_active_sidebar( 'hero' ) ) : ?>
<!-- ******************* The Hero Widget Area ******************* -->
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-inner" role="listbox">
<?php dynamic_sidebar( 'hero' ); ?>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only"><?php esc_html_e( 'Previous', 'understrap' ); ?></span>
</a>
<a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only"><?php esc_html_e( 'Next', 'understrap' ); ?></span>
</a>
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
</div><!-- .carousel -->
<span class="sr-only"><?php esc_html_e( 'Previous', 'understrap' ); ?></span>
<script>
jQuery( ".carousel-item" ).first().addClass( "active" );
</script>
</a>
<a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only"><?php esc_html_e( 'Next', 'understrap' ); ?></span>
</a>
</div><!-- .carousel -->
<script>
jQuery( ".carousel-item" ).first().addClass( "active" );
</script>
<?php
endif;
<?php endif; ?>

View File

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

View File

@ -1,13 +1,10 @@
<?php
/**
* The sidebar containing the main widget area
* The sidebar containing the main widget area.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! is_active_sidebar( 'left-sidebar' ) ) {
return;
}
@ -17,10 +14,10 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
?>
<?php if ( 'both' === $sidebar_pos ) : ?>
<div class="col-md-3 widget-area" id="left-sidebar" role="complementary">
<?php else : ?>
<div class="col-md-4 widget-area" id="left-sidebar" role="complementary">
<?php endif; ?>
<div class="col-md-3 widget-area" id="left-sidebar" role="complementary">
<?php else : ?>
<div class="col-md-4 widget-area" id="left-sidebar" role="complementary">
<?php endif; ?>
<?php dynamic_sidebar( 'left-sidebar' ); ?>
</div><!-- #left-sidebar -->

View File

@ -1,13 +1,10 @@
<?php
/**
* The right sidebar containing the main widget area
* The right sidebar containing the main widget area.
*
* @package understrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
if ( ! is_active_sidebar( 'right-sidebar' ) ) {
return;
}
@ -17,10 +14,10 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
?>
<?php if ( 'both' === $sidebar_pos ) : ?>
<div class="col-md-3 widget-area" id="right-sidebar" role="complementary">
<?php else : ?>
<div class="col-md-4 widget-area" id="right-sidebar" role="complementary">
<?php endif; ?>
<div class="col-md-3 widget-area" id="right-sidebar" role="complementary">
<?php else : ?>
<div class="col-md-4 widget-area" id="right-sidebar" role="complementary">
<?php endif; ?>
<?php dynamic_sidebar( 'right-sidebar' ); ?>
</div><!-- #right-sidebar -->

View File

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

View File

@ -1,20 +0,0 @@
<?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