My favorite quote from this is "You don't need a framework. You're developers. You, yourself can write this code. You just need to spend a little bit of time learning Grid and mastering Grid and getting to know what Grid wants to do. Please let's not create new frameworks." (I admit I'm a little biased against CSS frameworks.)
It's easy to make lots of mistakes with a new technology, especially something that's as big of a change from the past as CSS Grid. Jen lists the 9 Biggest Mistakes she sees people making when using CSS Grid, with advice and tips for avoiding these pitfalls and old habits. Mistake 1: Thinking CSS Grid is Everything
“Flexbox vs. CSS Grid — Which is Better?”: https://youtu.be/hs3piaN4b5I
“Using Flexbox & Grid Together”: https://youtu.be/dQHtT47eH0M
“Obliterate Boxiness with CSS Shapes”: https://youtu.be/pOB75oTNhw0
Mistake 2: Using Only Percents for Sizing
“Min & Max Content Sizing in CSS Grid”: https://youtu.be/lZ2JX_6SGNI
“FR Units in CSS Grid“: https://youtu.be/ZPtpzuRajzM
“MinMax in CSS Grid”: https://youtu.be/mVQiNpqXov8
Mistake 3 : Assuming You Need Breakpoints
“Incredibly Easy Layouts with CSS Grid”: https://youtu.be/tFKrK4eAiUQ
Mistake 4: Getting Confused by Numbering
“Innovative & Practical Graphic Design with CSS Grid”: https://youtu.be/-hmOZU7Zk10
“Basics of CSS Grid: The Big Picture”: https://youtu.be/FEnRpy9Xfes
Mistake 5: Always Using 12-columns
In very simple terms, a Learning Management System (LMS) is a website that hosts eLearning programs and provides students and/or employees a way to participate in online training. In this guide to building an LMS with WordPress, learn about common features that you should consider when developing your LMS, as well as plugins to help.
In very simple terms, a Learning Management System (LMS) is a website that hosts eLearning programs and provides students and/or employees a way to participate in online training. Implementing an LMS with WordPress is something we have done for several clients here at WebDevStudios (WDS). For example, we implemented an LMS for Starbucks for their employee intranet. The corporation needed a platform they could use to train Baristas worldwide on the different drink recipes from their menu, as well as the equipment used to create those yummy treats! In this guide to building a Learning Management System with WordPress, I’ll take you though a plethora of common features that you should consider when developing your LMS, as well as plugins to help. Because WDS built a custom solution that uses WordPress, BuddyPress, BadgeOS and LearnDash, Starbucks’ employee intranet allows Baristas to log in, take quizzes based on training videos they’ve watched, and receive participation badges based on their training progress and quiz scores.
Common LMS Features
An LMS has several different features for online training. When the time comes for you to consider building a Learning Management
The WordPress database abstraction layer (wpdb) is class responsible for interacting with the database. But it can always be improved - this article shows you how to expand the functions and make the class even better.
The WordPress database abstraction layer, more commonly know as wpdb is a class based on ezSQL responsible for interacting with the database. The wpdb class is also a drop-in – a piece of core WP code that can easily be replaced by another piece of code with similar functionality (an up-to-date list of drop-ins is available in WP Code Reference). This is where a big misconception comes into play. People perceive “replaced” as in “write my own, complete database class”. Fortunately, you don’t have to write the whole database class. You can take the existing class and add, remove or modify only the functions you need. And that’s what we’re going to do.
Why modify the wpdb class?
Surely, wpdb has everything you need!? The whole WP is built on top of it. Technically that’s correct. By using the $wpdb->query() method you can execute any SQL command. But with that logic applied we would never have or need methods like $wpdb->insert() or $wpdb->get_var(). But we do, because they save time, reduce bugs and keep bad queries away. So, what functions are missing? That depends on the project you’re working on. We needed support
TL;DR: Tom McFarlin isn't planning to update any of his own plugins for Gutenberg compatibility until Gutenberg is in core and clients / end users are asking for it. But that's not because Gutenberg isn't necessary, only because clients can't ask for something they don't know exists.
I’ve been asked, on a few occasions, why I’ve not released anything that’s compatible with Gutenberg or why certain plugins aren’t compatible with the current version of the Gutenberg plugin. In the WordPress economy, I’ve seen few things as divisive as this shift in WordPress (though it seems to be finally have chilled a bit). And I’m not interested in entertaining a position on it on this blog.
But when others ask why I’ve not bothered to write anything about it or make certain plugins compatible with it, I find that it’s worth talking about it at least to a certain degree.
Demand for Gutenberg Is Not There
As far as building solutions for others are concerned, there’s yet to be demand for Gutenberg compatibility at all. This doesn’t mean that people don’t see it on the horizon nor that they don’t see the need to prepare for it.
But customers who pay WordPress developers, designers, and other experts in our field aren’t using it right now, so the demand for building something on Gutenberg is not there.
Another way of looking at is that there’s interest and potentially even a demand for it for those
Intriguing discussion on what Gutenberg will mean for theme development, and have we been here before?
…or “A Realistic Look at Using 3rd Party Gutenberg Blocks in Your Theme”
“Keep Your Plugin Blocks Out of My Theme”
“Shortcodes All Over Again”
“The Never Ending Battle to Style a Button Consistently”
“We Still Have a Long Way to Go”
I would like to preface this article by saying that these thoughts and opinions are in no way meant to diminish the amazing work that the Gutenberg team has done (and continues to do). I love writing in Gutenberg. I follow the GitHub repository closely, often reading 100+ notifications each day. I have been testing since early versions. I have left feedback. Things have gotten much better. However this article is meant to take a realistic and somewhat critical look at how Gutenberg is being presented on a grander scale vs. some of the realities that come in to play when implementing these ideas.
What You See is (Maybe) What You Get
WYSIWYG is everyone’s white whale but Gutenberg takes a huge step in the right direction towards helping publishers have a better idea of what their content will look like as they are writing. The previous (technically
Tips and best practices for building (and maintaining) a WP website. Includes some stuff I learned the hard way :)
When it comes to WordPress, we so often focus on advanced techniques meant for experienced developers. But that leaves out an awful lot of people who are just getting their feet wet with the popular CMS. So today, we’ll focus on those of you who are either thinking about building a website with WordPress or have limited experience in doing so. The platform is incredibly flexible and also a bit deeper than you may think. And because there are multiple ways to accomplish the same thing, it’s easy to make mistakes – only you may not fully realize it until issues arise down the line.
With that in mind, here are 5 items to think about when building with WordPress:
1. More Plugins = More (Potential) Problems
When first starting out with WordPress, it’s easy to become enamored with the sheer number of plugins available. But tread lightly, code ninja. Plugins can indeed satisfy a number of functionality needs. But with each plugin we add comes another potential future maintenance issue.
As new versions of WordPress core and plugins are released, there is always a chance that one piece will conflict with another. That can cause anything from minor administrative annoyances
This article plans to give you a few pointers by contrasting the pay, prevalence, and forthcoming future related with various programming languages.
Do a easily web search and you’ll discover there are many programming Languages in presence. Do another scan for the most famous ones and once more, you’ll think of a head-turning list. To be as goal as could reasonably be expected, we’re inspecting the best programming languages from a profession viewpoint. It’s a standout amongst the most famous inquiries that gets inquired. The main issue with that inquiry is that it’s practically similar to somebody asking what auto they should purchase. Quicker, more astute programming, with less bugs.
Those are the guarantees originating from the makers of the most recent round of languages to catch the consideration of programmers. Indeed, they’re similar trendy expressions we’ve heard some time recently, however the absence of oddity is no motivation to reject them.
The eventual fate of coding requires security and great practices so our advancements will work. Truth be told, our undertakings are regularly so substantially greater now, we require the advancement like never before.
In case you’re hoping to figure out how to code, the sheer number of best programming languages might be overpowering,
Ok, we don't have an exact date, but at least we know it won't be until after...
Goals (To be posted) | Dev Chat Agendas | Dev Chat Summaries | Dev Notes | Field Guide (To be posted) | All Posts Tagged 5.0 WordPress 5.0 will be the first “major” release of 2018, including the new editor, codenamed “Gutenberg”.
November 15, 2017
Trunk is open for business. (Post-4.9)
5.0 Kickoff meeting.
Last chance to merge feature projects.
Beta 1 and feature project merge deadline.
From this point on, no more commits for any new enhancements or feature requests in this release cycle, only bug fixes and inline documentation. Work can continue on enhancements/feature requests not completed and committed by this point, and can be picked up for commit again at the start of WordPress 5.1.
Release candidate and soft string freeze.
Final release candidate if needed and hard string freeze.
Dry run for release of WordPress 5.0 and 24 hour code freeze.
Target date for release of WordPress 5.0.
To get involved in WordPress core development, head on over to Trac and pick a 5.0 ticket. Need help? Check out the Core Contributor Handbook. Get your patches done and submitted as
Nice to see some actual user testing results from someone.
A new WordPress content editing experience—Gutenberg—is coming soon to WordPress core, and 10up’s User Experience team is eager to understand how it will impact the experience for content creators. As a starting point, I created a usability test to study the experiences of professional, digital content publishers who are used to writing stories in the current editor. Building on other Gutenberg usability tests that focused on re-creating a prescribed layout, I instead asked professional writers to produce the same kind of content they already produce every day: write a simple story. The user test asked ten participants to complete the following prompt:
Write a news-style blog post about somewhere interesting you have visited. Please include the following elements in your post:
A paragraph or two about the place
An extra item such as a video or blockquote
These tests were taken with Gutenberg 2.9.2 (the current build at the time the test was created). As of this post, the current version is 3.0.1.
During the unmoderated test, participants described what they were thinking as they progressed through the task. Their words and screen movements were recorded
Inspired by the Capital P dangit function, a bot to fix any misspelled mention of WordPress in your code. The bot checks the files in your pull request and asks for changes if necessary, pointing to the offending files/lines.
Everybody new to WordPress quickly learns that WordPress is written with a capital P. This is a major pet peeve for the WordPress community (just write WordPress with a lowercase P in any WP forum/slack channel and count the seconds until somebody corrects you ). This obsession ended up with the addition of a new function to the WordPress core code (the capitalP dang it function, initially contributed by Matt Mullenweg, the WordPress co-founder itself) that automatically checks your post content and autocorrects any misspelling of the word WordPress. While, at the time, this enforcement generated some controversy, we are now all very used to it and mostly believe that helps us to avoid silly mistakes when talking about WP.
As part of our research line on the influence of bots in software development, we thought we could create a simple bot to bring the same functionality to your WordPress-related code. That is, our CapitalP bot checks your WordPress code (e.g. as part of a new theme or plugin) does not misspell the word WordPress either. WordPress with a capital P everywhere!.
You can easily install the CapitalP bot in any of your GitHub repositories. Once installed, the bot will automatically
Morten Rand-Hendricksen from LinkedIn along with others just released this new starter theme + build process that focuses on accessibility and performance.
We created WP Rig to help you do what you do best: build feature-rich and visually stunning WordPress themes for every person who uses the web. Out of the box you get a fully styled starter theme built for performance and maintainability.
More Than a Starter Theme
WP Rig is a modern build process and starter theme bundled into one convenient package.
The starter theme gives you a starting point for your designs and layouts; minimal templates with optional drag-and-drop files from the WordPress Template Hierarchy; code and file structure optimized for modern performance standards (including lazy-loading images); and well documented helper functions to make theme development and customization easy.
The build process provides a no-configuration starting point for modern progressive WordPress
Manage your web design projects on-time and to your exact specifications successfully with these step-by-step website development process guide. Read now.
A well structured and effective process plan is important to remain viable in any business. Web designing is not an exception to this. An amazing website is one which completes some or the other goals of the website. As a web designer and web developer, you can become a leader when you know the strategy of making a web design that works. Although HTML, CSS and other codes are an important part of a web designing, a powerful designing strategy is what you should focus.
Being a part of Solwin Infotech for years, I have found the essence of web designing and web development which I am going to share today.
Do you feel like you are in a repeat mode of completing the same tasks? A slight modification, save and continue is your daily web design cycle?
Many web designers know that web designing has to be done in a manner but fail to follow. Hence this post should be bookmarked for future web designing work.
As every project is different, there is no specific web design process but these tips are basics for web designers to ensure that they are in right direction. This article explains web designing as a more evolved type of activity.
1. Strategy Making
Before we start any designing process
All the links, tutorials, resources and tools you need to learn and start using Gutenberg.
WordPress Gutenberg All the tutorials, examples and tools you need to start using Gutenberg.
In 2018, WordPress aims at modernizing and simplifying the content creation experience with Gutenberg. Its name comes from Johannes Gutenberg, the founder of the printing press. This is considered to be one of the biggest changes for the WordPress user experience and the theme development workflow.
What is Gutenberg?
Most of us think that Gutenberg is just a new editor, but it’s not just that. While the editor is on focus right now, the project will ultimately impact the entire publishing experience including customization.
Up until now, editing a page meant tweaking its title, body and custom fields. With Gutenberg, this logic changes completely and it introduces the concept of blocks. Blocks are standalone, isolated and dynamic user interface components that are added dynamically through the wp-admin. I won’t elaborate on this, since the following video explains everything in detail.
Looks like this is an effort to get devs together to help all the plugin and theme authors port their code to be Gutenberg-ready
What is Getting Ready for Gutenberg? Getting Ready for Gutenberg is an initiative to help the WordPress community prepare for launch of Gutenberg. While Gutenberg aims to revolutionise the publishing in WordPress ecosystem, this ecosystem is not complete without the plugins and themes that extend the capabilities of WordPress.
There are many theme and plugin shops who have in-house teams or outsourced vendors who will do the heavy lifting of converting their theme/plugin code to work with Gutenberg. But there are many shops, developers who do not have teams to help them with this task. There are many plugins that are not updated and are dormant since quite sometime but are installed and active on hundreds of WordPress sites.
Getting Ready for Gutenberg is an effort to bring the big happy family of WordPress developers and designers together to help these people to help prepare their code, themes, plugins for Gutenberg.
Who Getting Ready for Gutenberg is meant for?
Your theme/plugin is listed on official WordPress directory
The theme/plugin is more than 6 months old
You have atleast 500 active installs
Starting Thursday, Dec. 14th, 2017, you can apply to get help for your themes/plugins.
In a previous post we covered what the best way was to include jQuery in WordPress. In this post, I’m going to talk a little more about the best ways to include Javascipt files.
I’m going to discuss my approach and why I think it’s best.
So, what you might do is to enqueue each supporting scrip then list your custom script, like so:
wp_enqueue_script( 'select2', trailingslashit( get_template_directory_uri() ) . 'select2.js', array( 'jquery' ) );
wp_enqueue_script( 'custom, trailingslashit( get_template_directory_uri() ) . custom.js', array( 'jquery', 'select2') );
It’s important in this scenario that you list the dependant scripts as dependencies, rather then just list them in order. This is to make sure that they are loaded prior to the one
A handy browser extension that simplifies the GitHub interface and adds useful features like: - Linkifies issue/PR references in code, comments and titles - Ability to mark issues and pull requests as unread - Preserves the original Markdown when you copy text from comments - Linkifies branch references in pull requests - Condenses long URLs into references - Destructive buttons moved to the left to prevent mistakes
Refined GitHub Browser extension that simplifies the GitHub interface and adds useful features
We use GitHub a lot and notice many annoyances we'd like to fix. So here be dragons.
Our hope is that GitHub will notice and implement some of these much needed improvements. So if you like any of these improvements, please email GitHub support about doing it.
GitHub Enterprise is also supported. More info in the options.
Latest changes (Updated regularly. Subscribe!)
Product Hunt submission (2017-07-08)
What's new lately (2017-06-23)
Original announcement (2016-03-31)
Opera extension: Use this Opera extension to install the Chrome version.
Mark issues and pull requests as unread
(They will reappear in Notifications)
No more jumps caused by recently pushed branches
(They are moved to the side)
Reaction avatars showing who reacted to a comment
The option to wait for checks when merging a PR
Clickable references to issues and pull requests
Links to an issue's closing commit or pull request
Toggle all outdated PR comments or PR/commit files with alt click.
Copy the canonical link of a file with the y hotkey.
Indent text with tab
The WordPress Plugin Directory had a recent policy change regarding the notice displayed for old / un-updated plugins. Instead of a time-based warning, it is now a version-based warning.
If you are a plugin developer, then you should know that the Plugin Directory had a recent policy change regarding the notice displayed for old / un-updated plugins. Instead of a time-based warning, it is now a version-based warning. Old WordPress Plugins
WordPress Plugin Directory has several mechanisms to ensure compatibility with newer WordPress versions and to encourage developers to upgrade and maintain their plugins. Old plugins are excluded from search results — this way only plugins that have been updated recently get displayed and promoted in the Plugin Directory.
In addition, when navigating directly to a plugin page, there is a notice saying that the plugin hasn’t been updated for a while and it may no longer be maintained or supported. This way the user can choose whether to use the plugin at his risk or try to find better alternatives.
From a plugin developer’s point-of-view, the plugin needs to be maintained and updated constantly and regularly to be presented on the Plugin Directory. Otherwise, the plugin will be displayed with a warning and excluded from the search results.
Policy Change — Time-Based Notice vs. Version-Based Notice
In the old
Great resource to know if your site might go belly-up if any of these Gutenberg problems are not resolved.
In January, I wrote on the WP4Good blog Although, many Themes and Plugin developers started working on Blocks for Gutenberg, teams of larger projects won’t be able to start compatibility testing until the first beta version [of WordPress 5.0] is released. Fast iteration and patches will follow for issues discovered. There might be a few surprises for the Gutenberg development team.
Since then I have been keeping an unsorted list of plugins and themes that are reported ‘wonky’ to some extend.
Within several weeks, the next version of WordPress (4.9.6) will have a dashboard prompt to “Try Gutenberg” with a two-click process to install it as a “Feature Plugin” and test it. Knowing which plugins won’t work, will help with the decision to try or not to try. Here is our list. It is in no way comprehensive, but it’s a start.
This is a loose collection of plugins, themes or environments that do not yet work properly with the “feature plugin” Gutenberg. We’ll updated the list on a regular basis.
Table of Contents
Plugins with Gutenberg quirks
Plugins with Gutenberg quirks
Daniel Bachhuber created a database
Very important stuff. I do wish it wasn't all so last minute, but happy to see it happening.
Stronger rules on data protection from May 2018 mean citizens have more control over their data. GDPR is coming, and we’re working hard to get new tools in WooCommerce core to help store owners comply. If you’re not familiar with GDPR yet, Hannah wrote a great introduction to GDPR on the main WooCommerce blog which you can read to get caught up.
It’s important to note that this new law doesn’t just apply to stores in the EU – this applies globally to stores that sell products to EU residents.
We’re currently building new tools into our upcoming 3.4 release to help store owners deal with GDPR requests and surface things such as privacy policies on the checkout. Some of the tools are built already, or are in progress, notably:
Improvements to the checkout in https://github.com/woocommerce/woocommerce/pull/19637, which include:
Better formatting for inline descriptions should someone which to include just in time privacy text next to fields, and some simple tools to toggle non-critical fields off to avoid unnecessary data collection.
Custom terms and conditions text, and control over the checkbox + label itself.
In progress personal data export and bulk
A report from Tenon taking a first look at aggregated data on accessibility issues correlated with CRM use. Quite interestingly, "WordPress with Genesis", "WordPress with Jetpack" and plain "WordPress" rather spread apart in their very informal, caveat-laden "rankings".
Since February 2018, Tenon.io has been performing research 24/7/365 on accessibility and publish the raw numbers publicly on our site. The data gathering is ongoing but slow. We analyze logs (from customers who’ve given us permission) as well as crawling the web on our own. We take the logs and analyze the technologies in use on the page’s domain. The ultimate goal, at this point, is just to gather the data to determine whether any of it is useful. There are well over 1.3 billion websites on the Web and many thousands of different technologies in use. That alone means that there are tens – or even hundreds – of thousands of different possible combinations of technologies in use. When you add in the different versions of each technology that could be in use and the possible differences in configurations of those technologies, you’re certainly well into the millions of possible combinations. For this reason, we don’t know if this research will ever produce anything of value. Our slow rate of data gathering might impact this even further.
Nevertheless, we think it is worth it to try. Gathering the data itself is relatively cheap and involves no human
WordPress 4.8 is out, named “Evans” in honor of William John “Bill” Evans. Grab now and bask in the glory of a fresh new release.
An Update with You in Mind Gear up for a more intuitive WordPress!
Version 4.8 of WordPress, named “Evans” in honor of jazz pianist and composer William John “Bill” Evans, is available for download or update in your WordPress dashboard. New features in 4.8 add more ways for you to express yourself and represent your brand.
Though some updates seem minor, they’ve been built by hundreds of contributors with you in mind. Get ready for new features you’ll welcome like an old friend: link improvements, three new media widgets covering images, audio, and video, an updated text widget that supports visual editing, and an upgraded news section in your dashboard which brings in nearby and upcoming WordPress events.
Exciting Widget Updates
Adding an image to a widget is now a simple task that is achievable for any WordPress user without needing to know code. Simply insert your image right within the widget settings. Try adding something like a headshot or a photo of your latest weekend adventure — and see it appear automatically.
A welcome video is a great way to humanize the branding of your website. You can now add any video
A tutorial from Carl on starting to use Continuous Integration.
I gave an introduction to continuous integration with WordPress at WordCamp San Diego 2018. This is the companion article that I wrote for it. If you’re just looking for the slides, click here. Writing high-quality WordPress code is hard to do. It requires constant effort on our part and good self-awareness to know when we slipped up. But, if your business has any sort of success (which we all want!), you’re going to work with more and more people. And many of them are likely to touch with your code.
This is going to put a strain on your development processes. It becomes harder to maintain a certain level of code quality. And you’re no longer the only person making code changes. You’re now part of a team, and you need a way to standardize all of the things you once did on your own.
That’s goal of continuous integration. It lets you automate your different development workflows. This ensures that the quality of your code stays consistent.
Continuous integration is a bit of weird term to define. That’s because it’s a term used to group a whole bunch of different development processes. That said, the idea behind them is pretty simple.
Pippin is discontinuing memberships on Pippin’s Plugins, and now they are freely available for anyone.
Six years ago I announced the launch of premium memberships to Pippin’s Plugins for access to advanced tutorials, code reviews, and other member-only benefits. I have been continually humbled by the response and support my memberships received from the WordPress community and I would like to sincerely thank everyone that signed up. Today, however, I have discontinued memberships to this site. My ability to consistently produce new material and to provide code reviews like I used to has continually waned as the product side of my business has grown. For a long time I held onto the hope that I could find a way to get back to consistently producing new content for this site but a small part of me has known that is unlikely to ever happen, and so I have made the only right decision available: close down memberships.
Effective today, memberships have been discontinued on this site and all existing memberships have been cancelled to ensure no existing members are billed again. If you are a member and signed up within the last 30 days, contact me and I will be more than happy to provide a full refund.
All previously restricted tutorials are now open to everyone. Please learn, grow, and
Optimize your eCommerce website product page for higher conversion. Improve your product pages to convert more shoppers!
So, you have completed designing a nice e-commerce website! You have the best products, effective advertising campaigns. A visitor lands on your homepage and browses through the categories. Finally, a visitor reaches the product page and did not order.
This is the story of almost all website owners.
A customer’s ultimate decision of ordering or not ordering depends on the product page presentation. A product page is very important because, among hundreds of websites, they reached your product. We should give them pretty good and strong reasons to buy it.
Today, we are sharing experimented strategies which will definitely work. We are sure that you will have to print out this interesting checklist that will increase conversion rates.
We share with you secrets, how you can motivate people to buy from you. Actually, the features you need to add to enhance your product pages depends on the type of product you sell. But, these are the general points which are almost applicable to almost all types of products.
For detailed site auditing you can reach us at email@example.com We can share a detailed marketing strategy for your business.
This checklist contains some of the common