Categories
Block Editor Gutenberg WordPress

Why custom Gutenberg blocks belong in themes, not plugins

Let me start off by prefacing that this blog post is specifically about custom blocks developed for completely custom designed websites. Not blocks built for general-purpose, third-party or off-the-shelf use, which obviously belong in plugins, since they can be distributed and consumed as such. This post is aimed at developers who build custom block-based WordPress […]

Categories
Block Editor Gutenberg WordPress

PHP Web Components for WordPress

The state of web components Modern front-end web development encourages breaking up of designs into reusable, repeatable and unique components. A component is a piece of markup capable of holding – but is separate from – content within it. The Web Components specification provides a great way to work with components using the Shadow DOM […]

Categories
Gutenberg WordPress

How to add anchor support to Gutenberg blocks on WordPress

Note: If you are new to extending blocks using filters, I’d recommend giving this a read first: https://junaid.dev/how-to-extend-blocks-in-the-gutenberg-editor-on-wordpress/ Example: How to use block filters to add “Anchor” support to core columns In this example, we are going to add anchor support to the core Columns block, but this can easily be extended to other blocks: […]

Categories
Gutenberg WordPress

Gutenberg CSS Setup: An Idea

Note: This blog post is specific to SCSS, but one could apply this to other dynamic CSS generation tools like PostCSS. The problem The WordPress Gutenberg block editor has been out now for over a year as of writing this post. The best part about it is that the author of the post gets a […]

Categories
Block Editor Gutenberg WordPress

How to extend blocks in the Gutenberg editor on WordPress

Important: This post assumes that you already know how to work with JavaScript ES6 and have some experience in working with and setting up custom blocks on WordPress using Webpack. Gutenberg Blocks With the introduction of WordPress 5, we now have a new powerful tool at our disposal: Blocks. Blocks let us build custom experiences […]

Categories
WordPress

WordPress + Cloudinary = Dynamic, optimized, on-the-fly images!

Bringing Cloudinary to WordPress People have tried to bring Cloudinary to WordPress, and have really complicated the whole thing. The official Cloudinary plugin, in my opinion, is really clunky and in the way in most cases. Other solutions follow the same route, and are just too complicated. Since I wasn’t able to find a good […]

Categories
WordPress

How to add a custom WP CLI command in WordPress

What is WP CLI? WP-CLI is the official command-line interface for WordPress. It helps developers automate tasks, and increase their productivity. It opens up a whole array of opportunities once you’ve started using it. It comes with a whole bunch of useful commands like cache clearing, cron, media management, user management, and many other useful […]

Categories
WordPress

WordPress Admin: How to Fix the “Fatal Error: Allowed Memory Size…” Error

The Problem If you’ve been working on a complex WordPress site with a lot of custom fields, perhaps with the Advanced Custom Fields (ACF) plugin – chances are you’ve come across this error when you try to access your post type in the WordPress admin: “Fatal error: Allowed memory size of xxx bytes exhausted (tried […]

Categories
Web Development WordPress

WordPress: How to create image sizes dynamically on the fly

WordPress is awesome. But like any system, it’s not great at everything. One of those things is media image size management, where it just doesn’t work well. The Problems: WordPress uses something called “Thumbnail Image Sizes” to maintain different versions of your images in different image sizes. You define these image sizes under Settings -> […]

Categories
Web Development WordPress

WordPress dynamically change user capabilities

I was looking for an easy way to dynamically add or remove capabilities for users based on either their IDs or roles, but I couldn’t find any elegant solution. That is until I found a beautiful filter: https://codex.wordpress.org/Plugin_API/Filter_Reference/user_has_cap It’s so simple, and you can just add this to your functions.php file, or use it in […]