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…
- pandasticcan be used as parent theme for a customized child theme.
- pandasticcan 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.zipfile.
- Click Install Now.
- Click Activate to use our pandastictheme 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: pandasticinstyle.cssand 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 the- languages/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 _pandatopandasticdue to NPM and Composer restrictions
- 👥 Add a code of conduct
- 👥 Add AUTHORSandmailmapfiles 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