With the new Drupal 8 Blocks API, WordPress and Drupal are now more similar than not when it comes to Widgets vs Blocks. This post shows examples of each and highlights their similarities and differences.
As a follow up to my earlier post, I wanted to show how to greatly improve the usefulness of the function by changing it to a class with distinct methods, and in the process reduce the previous approach’s shortcomings.
VVV is one of the best environments for WordPress development, but it only comes with a few sites by default. This post will guide you through creating a new local development site on VVV, and (optionally) importing a live site for local development.
Sometimes you find yourself needing to write a very simple php template function. Maybe you’re working on a very simple script, or in a CMS that doesn’t provide much in the way of template organization or overriding.
There are plenty of reasons you may need to hide the standard WordPress login form. This post shows how to remove the login form from the page completely, while still providing a simple mechanism for accessing the form when needed.
How to allow your users to place HTML img tags into WordPress comments by hooking into the wp_kses_allowed_html filter. Additionally, this same method can be used to allow other HTML tags into comments.
Presentation I gave at WordCamp Asheville in 2015. In which I provide an overview of two different PHP classes for querying the WordPress database: $wpdb for custom queries, and WP_Query() for getting lists of posts.
Often I find the need to dynamically add items to a menu in WordPress based on the current logged in user, or current post being viewed. After a little looking around, I found that the wp_get_nav_menu_items filter holds the key to this challenge.
Relating images to taxonomy terms is a common problem I’ve run into when building WordPress sites. To do it completely and effectively it requires the use of multiple hooks, and a non-trivial amount of logic.
How to use the entity api’s entity_metadata_wrapper() to send invitation emails provided by the invite_by_email module. This approach can easily be setup as a custom rule action to provide significant flexibility.
This is a presentation I gave at WordCamp Asheville 2014, meant to teach new developers to create WordPress plugins. It focuses on setting up a new plugin project, and exploring different WordPress hooks.
This shortcode provides a simple way to show a list of recent replies on your bbPress forum. It has some arguments for flexibility, and separates logic from display by providing a distinct template function.
Drupal 7 did the much-needed job of bringing CCK fields into core, but forgot an important piece of the user experience when they did not include a button to easily delete field values. This experimental module provides that missing UX.
This simple module allows the site admin to choose to load views dynamically with ajax, as opposed to being rendered directly on the page. This is very useful when dealing with caching such as varnish.