- MyWPStarterTheme
My WordPress theme starter humbly light, complete, compatible and more secure as possible.
I follow BEM soon as possible accros the project (folder/file name, HTML/CSS class & id).
The goal is that the theme works in a regressive way. In any case the user can navigate normally in all conditions on all browsers (up to 2 versions back β ie 10)
This project is base on underscores alias _s on GitHub, made by Automattic.
This project include my own gulp file adapted for WordPress theme developement.
All you need to edit is in _src/
folder.
When developing, use browser sync to speed up your productivity. It'll compile the scss, prefixes it, quickly optimize images, minify scripts and copy PHP files to the good folder.
Optimize your project before upload it ! It'll compile the scss, prefixes it, better optimize images (with an acceptable lossy compression), minify scripts and copy PHP files to the good folder.
For any reason you what to clean-up the project by delete build files. It will clear caching and delete all build files to just keep essential files and sources.
I prefer to use package locally so I use
npx
to execute gulp. If you prefer to call gulp directly, install it globally :npm i -g gulp
- After duplicate the project use refactor fonction to change
MyWPStarterTheme
andmywpstartertheme
in all files to change the name of your theme.
β Be careful to respect the case and keep mentions of MyWPStarterTheme in README & in style.scss (like License URI)β - Edit
_src/sass/style.scss
first comment to change theme informations. - Change the 'screenshot.png' image.
- Configure browserSync:
Edit the filegulpfile.js
at the root of the projet at lines 15 and 16 to setup the link and the port to use by browserSync like below.
const browserLink = "http://localhost/";
const browserPort = 3030;
Please refer to readme file of MyGulpFile project if you need to change gulp configuration
- Update
node_modules
withnpm i
- You're done
I use my own project architecture to be able to separate source code and compile one.
π¦MyWPStarterTheme
β£ π_src
β β£ πassets
β β β
β β β£ πfonts
β β β β πfontFolder '> Here there are all the fonts are in their own folder'
β β β
β β β πimgs
β β β£ πmatrix
β β β β£ πicons
β β β β β π '> here there are all matrix icons alternatives'
β β β β
β β β β£ πillustrations
β β β β β π '> here there are all matrix illustrations alternatives'
β β β β
β β β β πpictures
β β β β π '> here there are all matrix pictures'
β β β
β β β πvector
β β β£ πicons-vector
β β β β π '> here there are all vector icons alternatives'
β β β
β β β πillustrations-vector
β β β π '> here there are all vector illustrations alternatives'
β β
β β£ πjs
β β β£ πmodules-scripts
β β β β π '> here there are all scripts use multiple times over the theme'
β β β
β β β πpages-scripts
β β β πpageFolder '> here there are all scripts use only one times for on specific page groupes by pages in directory'
β β
β β£ πphp
β β β£ πinc
β β β β πtemplate-parts
β β β β π '> here there are all template-parts WP theme'
β β β
β β β£ πmodules-php
β β β β π '> here there are all PHP code use multiple times over the theme'
β β β
β β β£ πpage_templates
β β β β π '> here there are all page templates for WP theme'
β β β
β β β π '> here there are all standard WP pages, like index.php'
β β
β β πsass
β β£ πbackoffice-style
β β β π '> here there are all style for backoffice (compiled in admin.css style sheet)'
β β
β β£ πelements-style
β β β π '> here there are all style applied on "elements" use multiple time over the theme, like footer / links etc...'
β β
β β£ πmodules-style
β β β π '> here there are all style used to implement fonctionnalitied, like accessibility or normalize'
β β
β β£ πtemplates-style
β β β π '> here there are all style sheet for each page, use for specific style on only one page'
β β
β β£ πvariables-style
β β β π '> here there are all SASS variables, like colors'
β β
β β£ πadmin.scss '> this file is import all necessary for style backoffice of WP'
β β πstyle.scss '> this file import all necessary style'
β
β£ π .gitattributes
β£ π .gitignore
β£ π CHANGELOG.md
β£ π gulpfile.js '> this file comes with [my own gulp file](https://github.com/MrZyr0/MyGulpFile)'
β£ π LICENSE.md
β£ π NOTICE.md
β£ π package-lock.json '> this file comes with [my own gulp file](https://github.com/MrZyr0/MyGulpFile)'
β£ π package.json '> this file comes with [my own gulp file](https://github.com/MrZyr0/MyGulpFile)'
β£ π README.md
β π screenshot.png '> this file is the screenshot used by WP on theme selection'
Please check [Unreleased]
tag in changelog to read what's next.
In addition to the theme here are some interesting tools and/or that I use.
I have benchmarked many plugins to make this list.
When there's only one plugin for a feature, it's because I've determined that it's the best (the most powerful, the most practical, the lightest).
- Smart Slider 3 - Responsive & SEO friendly slider
- Gutemberg - Keep up to date independently of WP
- Health Check & Troubleshooting - Keep up to date independently of WP
- WP Block Revealer - Reveal gutemberg blocs while editing
- Duplicate Post
Revisionize - Edit post in draft before publish it (Works perfectly on WP 5.5.1)Useless since Duplicate Post does the same thing
- Block Unit Test - Test all gutemberg bloc at the same time
- Lorem Shortcode - Quickly fill pages without content
- SEOPress - Most complete plugin (much than YoastSEO)
- ImageSEO - Auto generate alt text, name and open graph tag
- WP Sweep - Database cleaner | winner of this bench
- ShortPixel Image Optimizer - Better compression than Imagify
- WP Rocket - The best cache plugin [PAID]
- Autoptimize [Free alternative pack to WP Rocket]
- Cache Enabler [Free alternative pack to WP Rocket]
- Lazy Loading Feature Plugin
- Media Cleaner - Delete unused media
- Cloudflare
- Post Type Switcher - Convert a post into another post type
- Enable Media Replace - Replace a media by another while keeping the metadata and the URL
- UpdraftPlus - Backups your WP !
- Relevanssi β A Better Search
- WPS Notice Center - Group notices
- BEA - Media Analytics
- BEA β Sanitize Filename
- Brozzme Plugins Thumbnails - Add thumbnail in installed plugin page
- Media File Renamer (Auto Rename) - Rename the media file by the media title
- All-in-One WP Migration - Do quick backup for migration test or apply small changes to production
- Revisionize - Copy post to draft and for easily editing
- File Manager
- reGenerate Thumbnails Advanced - Regenerate Thumbnails after database / media cleaning
Here is mutiple plugins & tools, that could be implemented, for one usage that I need to test to determine the most interesting one.
-
2AF:
-
Some liveChat plugins:
-
Gutemberg:
- Block navigation - a draggable navigation for the Gutenberg blocks
- Coblocks
- Advanced Gutenberg
- Advanced Gutenberg Blocks
- Atomic Blocks
- Editor Blocks
- Kadence Blocks
- Premium Blocks for Gutenberg
- Ultimate Addons for Gutenberg
- Stackable Ultimate Gutenberg Blocks
- Grids: Layout builder for WordPress
- Reusable Blocks Re-Extended
- Multiple blocks for page building
- SimpLy Gallery Blocks
- Gutenberg Blocks β Ultimate Addons for Gutenberg
- Block navigation
-
Analytics:
-
Cookie notice & GDPR compliance:
-
Database optimizer & cleaners:
- WP Sweep
- WPS Cleaner
- WP Optimize => usefull for automation ?
- Shortcode Cleaner Lite
- Plugins Garbage Collector (Database Cleanup)
- Transient Cleaner
-
Generating "legal notice":
-
Translation:
-
Forms:
-
Accessibility:
-
Security:
-
Search Engine Optimization (SEO):
- All in One SEO Pack
- Premium SEO Pack
- SEOPress
- Slim SEO
- The SEO Framework
- Yoast SEO
- SmartCrawl
- Rank Math
- Future sitemap generation plugin integrated in core
- Rank Math - Optimize content for SEO
- Linkbuildr - automates links to the people you talk about in your article
- Broken Link Checker
- WP 410 - Add 410 support
- Extension Bing URL Submissions
-
Loading optimization:
-
Customization:
-
Tools:
- WP Control - Log CRON tasks
- Safe SVG
- HappyFile - WP media manager
- Sanitize Accented Uploads
- User Switching - Quickly change users during development
- User Role Editor - Quickly create & edit user roles
- Stream - Real-time alter notifications
- Simple History - Log user actions
- WP Crontrol - View & control WP cron
- Head Meta Data by Jeff Starr - Improve page meta
- Prismatic by Jeff Starr - Syntax highlighting for your website
- Theme switcha by Jeff Starr - Switch theme for only one user
- WP Easy alt edit
- Sync editor & ACF color pickers
-
Page builders
-
Themes
-
Others:
- Archived Post Status
- Pods - Interesting lternative to ACF
- WP Easy Backup - Backup WP
- WPUtilities - repo with some plugins to test
- Jetpack
- Post Thumbnail Editor
- JB Audras's plugins
- Quality Web Checklist
- A good mega menu
- User history
- Easy live testing for theme
- User admin simplifier
- WP YouTube Lyte - Speed up emded YT loading !
- Change the style of WP BO
- Duplicator β WordPress Migration Plugin
- My Eyes Are Up Here - Improve WordPress thumbnail
- SF Adminbar Tools - add dev tools to adminbar
Here are some interesting sources and documentations that can help or inspire for web development (WP, accessibility, compatibility, best practices, etc.).
- Some advance customizer controls
- Beautifull GoDaddy's WP theme
- Other beautifull theme by Twenty Twenty's author
- Gutemberg Library
- Example of good website powered by WordPress
- wp.org plugins
- Alternate repo for WP plugins
- Next JS WP Starter theme
- Bzk = WP Starter Theme
- Neptun - Starter Theme
- wp.org code analysis
- WP CSS audit
- Capitainewp π«π·
- Style Gutemberg UX
- Description of Twenty Twenty to base this theme on it π«π·
- WPformation tutorials π«π·
- WPformation - SEO tutorials π«π·
- WPformation - Security articles π«π·
- WPformation - backups π«π·
- WPformation - translate child theme π«π·
- WPformation - "pour les nuls" lot of articles on many web topics π«π·
- Automating WordPress updates with Bedrock using Dependabot
- How to support ie easily
- Fix for conditionnal ie
- WordPress navigation accessibility π«π·
- Integrate accessibility π«π·
- Speed up Your WordPress Site (Ultimate 2020 Guide) - Kinsta
- Customizing Gutenberg blocks with block styles (only with PHP/CSS)
- Why is_admin() is totally unsafe for your Wordpress development
- How to contribute to WP core
- WordCamp conferences
- Julio Potier's videos - Live sΓ©cu WP
- CSP article
- Configuration of Piwik (former name of Matomo) to comply with the GDPR proposed by the CNIL π«π·
- Attacking WordPress - useful for patching those vulnerabilities
- Reusable blocs Gutemberg - usefull plugins π«π·
- Login Backdoor
- List of usefull wp-config tricks
- Writing HTML with accessibility in mind
- Writing CSS with Accessibility in Mind
- HTML: A good basis for accessibility
- CSS and JavaScript accessibility best practices
- CSS in Action Invisible Content Just for Screen Reader Users
- Ditch Your Stateful CSS Classes for an Accessible Web
- W3C - CSS Techniques for WCAG 2.0
- CSS Tricks - Improving the Accessibility of 24 ways
- Improve accessibility of forms π«π·
- Write Website Specifications π«π·
- Risk management with WP π«π·
- 5 Ways to Create a WordPress Plugin Settings Page
- Gutemberg Template Library
- Google's image optimizations article
- Talk about HTML markup
- Sanitize accents on uploads π«π·
- Apply migration to WP database
- Tailwind guides in WordPress
- wpTavern - blog
- Good blog speak about WP π«π·
- WP marmite
- CSP article
- WPbeginner - another WP blog
- GeepPress - blog π«π·
- WP channel π«π·
- Kinsta - the host's blog
- Smashing Magazine - A lot of technical topics around the web
- digWP - technical talk about WP
- SEOmix - SEO articles π«π·
- SEOmix - WP spΓ©cific articles π«π·
- WP for dummies π«π·
- Another cool WP blog π«π·
- Themeisle
- Misha Rudrastyh's blog
- WPexplorer's blog
- Free & Paid WP Courses, tutorials & articles
- START HERE: WordPress configuration to dev theme
- WP patch notes versions
- WP Glossary
- Admin interface element presentation
- Web dev checklist
- The Front-End Checklist
- CSS icons
- Test CSP on a page
- Security & code quality scanner for WP themes
- Official hooks listing
- Search engine for WP doc
- WP core load illustration
- WP official template hierarchy illustration interactive
- WP officiel conditional tags listing
- Axe accessibility rules
- Axe's website - Accessibility tools
- WP quality checklist
- HTML sementics cheat shee
- Interactive CSS selectors cheat sheet
- CSS selectors cheat sheet
- Lando, docker's WP environnement
- Ultimate docs for a11y
- Detective Wapuu - Analyse Gutemberg bloc used in a page
- A large list of the most known and interesting plugins to test
β Don't take this pack because it's grey market or at your own risk β - Many premium plugins for development and education only
- Another WP Repository
- Search engine to search in source code of WP plugins use it to check security of plugins before install it (search "ajax_no_priv")
- Learn WP Security
- Interesting CSS variable tuto
- SVG fallback
- Calc real dimensions of images with JS
- Interesting hosting
- An alternative to Local by Flywheel
- All about translation π«π·
- Interesting A11y informations π«π·
- Gutenberg Ramp - Control conditions under which Gutenberg loads - either from your theme code or from a UI
- Gutenberg WordPress's official components reference
- Gutengerg WordPress's official packages folder in it repository, this is the simplier way to find the right component you need
- WP Documentation style guide
- SweepPress
- OceanWP - a pretty complete theme
- roots WP theme - Tools for modern WordPress development Bedrock architecture
- Interesting Nginx PHP & MariaDB configuration for WP
- FlyntWP - Interesting starter theme
- New interesting HTML 5 attributes
- Obfuscation plugin for wordpress - Pagerank sculpting
- Tide - quality & test code analysis
- Improve prod/preprod media uploads plugin
- Official WordPress make's slack
- Interesting infography of Web skills & tools
- css layout paterns
- CSS tricks