Welcome to pandastic¶
Summary
In this tutorial we show how to change or update themes for Panda.
About¶
Info
A lightweight mobile-first theme called pandastic.
- Requires at least WP 4.5
- Tested up to WP 5.5
- Requires PHP 5.6 or later
- AGPLv3 (or later)
Description¶
Hint
Custom theme: pandastic
, developed by Pablo Hörtner redtux@pm.me
This theme is part of the Panda project, aiming to build the Next Generation E-Commerce Platform.
pandastic
is a lightweight but powerful WP theme based on Bootstrap and _s.
It includes support for WooCommerce and for Infinite Scroll in Jetpack.
You have the choice…
pandastic
can be used as parent theme for a customized child theme.pandastic
can be forked in order to create your awesome new theme.
For smaller customizations a child theme is recommended, facilitating pandastic
updates without overwriting any changes.
In any case we want to encourage you to contribute your improvements back to pandastic
.
Features¶
Summary
Well-commented Multipurpose Templates
We provide several pre-styled ready-to-use elements and models for any purpose.
pandastic
page templates, widgets and layout elements are fully customizable.
Our feature list Or: What you get…
Support | Feature tag | Feature description |
---|---|---|
Camera Carousal | ||
Gallery Section Lightbox | ||
svg | Vector Illustrations | |
custom-fonts | SVG Fonts, Font Awesome & Google Fonts | |
custom-forms | Customizable Contact Forms | |
bootstrap | Developer-friendly Bootstrap Theme | |
cross-browser | Cross Browser Support (see below) | |
custom-404 | HTTP 404 Error Page Template | |
custom-background | Customizable Background | |
custom-footer | Footer Template | |
custom-header | Header Template | |
custom-logo | Customizable Logo | |
custom-menu | Customizable Menus And Navigation Bars | |
custom-search | Search Page Template | |
custom-templates | Custom Page Templates & Layout Elements | |
featured-images | Customizable Featured Images | |
flexbox | CSS Flexible Box Layout | |
human-readable | Clean Well-structured HTML5 & CSS3 Code | |
mobile-first | 100% Responsive Web Design | |
sass | Syntactically Awesome Style Sheets | |
scss | Sassy CSS & Compiled CSS | |
threaded-comments | Customizable Threaded Comments | |
translation-ready | Translations powered by GNU gettext | |
ultra-minimal | Minify HTML, CSS & JS Resources |
The last two major releases of all major browsers will be automatically tested and fully supported.
- Chrome and Chromium
- Firefox and Firefox ESR
- Internet Explorer
- Opera
- Safari
We humans!
No need to reinvent the wheel.
Reusing pre-built, preselected, curated, modular & well-integrated components saves time and money.
Now we can focus on things that matter without loosing our freedom, creativity, or flexibility.
Installation¶
Hint
While the dashboard can be used for theme installation, using the WP CLI is recommended.
When using Panda, adding new themes via GUI is disabled by default, so you will need to manually enable it.
- When using the Dashboard, go to Appearance > Themes and click the Add New button.
- Click Upload Theme and Choose File, then select the
pandastic.zip
file. - Click Install Now.
- Click Activate to use our
pandastic
theme right away.
Customization¶
Theme customization options are located at Appearance > Customize.
The currently available options are:
Menu | Description |
---|---|
Background Image | Add a background header image |
Colors | Adjust site-wide colors |
Pages & Posts | Adjust the style of page and post featured images |
Site Identity > Logo | Add a logo image |
Example
To change website colors through the GUI customizer, go to Appearance > Customize > Colors.
For further customization creating a child theme is recommended.
The inc
directory contains several code snippets to be used in our theme templates.
Snippet | Template | Description |
---|---|---|
inc/custom-header.php | header.php | custom header |
inc/template-tags.php | tags.php | custom tags |
inc/template-functions.php | functions.php | custom functions |
assets/js/navigation.js | assets/js/custom.js | responsive dropdown menu |
assets/css/layouts/ | assets/css/style.scss | sidebar layout samples |
inc/woocommerce.php | assets/css/woocommerce.scss | WooCommerce overrides |
Development¶
Command
The pandastic
starter code was generated using the WP CLI.
export WP_THEME="pandastic"
wp scaffold _s "$WP_THEME" --theme_name="$WP_THEME" --author="$WP_TITLE" --author_uri="$WP_HOME" --sassify --woocommerce --activate
Output
Success: Created theme 'pandastic'. Success: Switched to 'pandastic' theme.
Requirements¶
pandastic
requires the following dependencies for theme development:
Quick start¶
To start, we need to clone or download this repository.
Note
Skip the following for contributions to pandastic
. These step are only required when forking our project.
We might want to change the name of this project from pandastic
to something else like another-awesome-theme
.
For this we will need to do a six-step find and replace on the current project's name in all the templates.
- Search for
'pandastic'
(inside single quotations) to capture the text domain and replace with:'another-awesome-theme'
. - Search for
pandastic_
to capture all the functions names and replace with:another-awesome-theme_
. - Search for
Text Domain: pandastic
instyle.css
and replace with:Text Domain: another-awesome-theme
. - Search for
pandastic
(with a space before it) to capture DocBlocks and replace with:Another_Awesome_Theme
. - Search for
pandastic-
to capture prefixed handles and replace with:another-awesome-theme-
. - Search for
_PANDA_
(in uppercase) to capture constants and replace with:ANOTHER_AWESOME_THEME_
.
Then, we should update the stylesheet header in style.css
and the links in footer.php
with our project's information, and rename pandastic.pot
from the languages
directory to use the theme's slug.
Finally, we need to update this readme, add some new awesome features, adopt the copyright, etc.
Dev setup¶
To start using all the development tools that come with pandastic
we need to install the necessary Node.js and Composer dependencies.
Command
Install Composer dependencies.
composer install
Command
Install Node.js dependencies.
npm install
CLI commands¶
pandastic
comes packed with CLI commands tailored for WP theme development :
Command
List available tasks.
gulp --tasks
composer lint:wpcs
: checks all PHP files against PHP Coding Standards.composer lint:php
: checks all PHP files for syntax errors.composer make-pot
: generates a .pot file in thelanguages/
directory.npm run compile:css
: compiles SASS files to css.npm run compile:rtl
: generates an RTL stylesheet.npm run watch
: watches all SASS files and recompiles them to css when they change.npm run lint:scss
: checks all SASS files against CSS Coding Standards.npm run lint:js
: checks all JavaScript files against JavaScript Coding Standards.npm run bundle
: generates a .zip archive for distribution, excluding development and system files.
Getting help¶
Click here to see the full documentation…
Help
See the Theming Bootstrap and Child Themes docs for further information.
See also
Reading the Panda installation notes and our WP Core docs is assumed.
Authors¶
- Pablo Hörtner - Initial work - 🐼 Team panda!
See also the AUTHORS page and the full list of contributors who participated in this project.
Credits¶
Powered by
pandastic
is powered by the following projects.
Project | Copyright notice | License |
---|---|---|
Bootstrap | © 2011-2021 Bootstrap Authors & Twitter | MIT |
jQuery | © 2005-2021 jQuery Authors and OpenJS | MIT |
normalize.css | © 2012-2021 Nicolas Gallagher and Jonathan Neal | MIT |
Popper | © 2016-2021 Federico Zivolo | MIT |
Underscores | © 2012-2021 automattic | GPLv2 (or later) |
WPGulp | © 2016-2021 Ahmad Awais | GPLv2 (or later) |
Thank you!
A big thanks to all authors and contributors, and to the whole free software community.
Changelog¶
0.2.0 - 2020-11-09¶
- 🚚 Rename project from
_panda
topandastic
due to NPM and Composer restrictions - 👥 Add a code of conduct
- 👥 Add
AUTHORS
andmailmap
files to list contributors - 🔒 Add a security policy for reporting severe bugs and vulnerabilities
- 👷 Add GitHub templates for creating issues and pull requests
- 👷 Add CI workflows for automatic building and testing with GitHub Actions
- 🔒 Fix security issues due to old lodash.template
0.1.0 - 2020-10-31¶
- Initial release