Ben Rothman - WordPress Developer Project Archives - ©2023 Ben Rothman, Web Developer


My blog is dedicated to sharing my expertise, recommendations, and tutorials on WordPress. If you're interested in developing with WordPress, my blog is a valuable resource that you won't want to miss.

Project Web Development WordPress

How to Install plugins onto my WordPress site using Composer

Installing plugins is easy enough as long as you have a basic understanding of composer and know how to use it, and this guide will explain the process.

The first thing you need to do is make a composer file in a file named composer.json. That may sound obvious, but then first steps often are:

	"name": "brothman01/awesome-project",
	"authors": [
		"name": "Ben Rothman",
		"homepage": "",
		"role": "Developer"
	"repositories": [
	"config": {
	"platform": {
		"php": "7.3"
	"allow-plugins": {
		"composer/installers": true
	"require": {
	"wpackagist-plugin/woocommerce": "dev-trunk",
	"wpackagist-plugin/chatpress": "2.0.1",
	"wpackagist-plugin/advanced-custom-fields": "5.12.3"

The above JSON is the final composer file, so if you are seeing things in there that don’t make sense yet, don’t worry I am going to explain them.

[We want to use composer in this project to install plugins into the plugin directory, not the usual vendor directory, so we use the oomphinc/composer-installers-extender plugin to do that by requiring it as a dependency and then setting custom installer paths in the “extra” section, and as you can see that custom install path is set for all packages of type “wordpress-plugin”.]

We want to install WordPress plugins hosted in the official repository AND we want to install them to the correct plugins directory in the WordPress install. is a great solution for installing WordPress plugins from the official repository via composer to the correct place, so we have to add a url for that to the “repositories” section.

The rest is just requiring each plugin as a dependency package in the JSON file. To install a specific plugin from the public WordPress repository, just require wpackagist-plugin/{the-plugin-slug} and either the version or dev- then the svn directory to get the files from.

I hope you try this and come to agree that this process is easy thanks in large part to the work done by the developers of wpackagist, who designed their software to enable composer to do exactly this with ease. Enjoy!

Project Web Development

How to select VS Code as the default editor for filetypes in FileZilla on Ubuntu

FileZille, the common FTP or SFTP app gives users the flexibility to edit files on remote servers in the editor of their choice before they upload the changed file. Many users (myself included) like to use VS Code to edit files that are .php, .css, .js or .html files. But Ben, how do I configure FileZilla to use VS Code? Check out the easy solution below!

Step 1:
Go to Settings of FileZilla.

Step 2:
In Settings, go to the File Editing option

Step 3:
And in that choose option Filetype associations

Step 4:
In the large text field, add “php /snap/bin/code” for PHP.

And similarly for the different file types:
For js add “js /snap/bin/code
For css add “css /snap/bin/code
For html add “html /snap/bin/code


Project Web Development Website

Park Picker

This project is written with PHP, HTML/CSS and JQuery with some light javascript in there too.

I was given a list of parks, tags that relate to them (like dogpark, pond and bike path), the park’s website and a picture of that park; I made all of that information into a JSON file. All of the tags of every park are all listed all together each one time and the user chooses the tags for their ideal park, something that has all of or as many of the tags as possible.

The JQuery then immediately rebuilds the page (without a page refresh) and lists the parks in order of how many tags it has that match the tag criteria as well as gives a grade to each park that shows how many tags.

It’s not a terribly complex project, but it gets an important job done and solves a problem in away that is relatively easy to maintain.

This project can be found on my GitHub at:

Project WordPress

Hosted WordPress Site on raspberry pi

I know this is a deviation from my normal posts but I had to say something because I enjoyed this exciting project.

I used a raspberry pi to host a WordPress website on my local network. Granted, this would have been a better announcement if the website was available everywhere, but I just wanted to set up a headless installation of Ubuntu on Raspberry pi, SSH in from one of my other computers and host a website on the pi.

To be honest, technologically this was nothing special I suppose because it was not a complex website but the site I made was not a complex site, but this was an interesting project.

Project Web Development WordPress

Introducing ChatPress!

Hey everyone! ChatPress is a plugin that I am working on that creates chatrooms on any page that they are put on in a WordPress website. I did not put this in the plugin repository because it is more of a personal project, but it was a lot of fun to create.

The plugin uses asynchronous javascript calls to PHP functions to get every message from the server, separate out the messages for other chatrooms and then post all of those that are left. I definitely recommend checking out this plugin, and it is also on my github if you want to see the code or contribute a new feature!