CategoryWordPress

WordCamp Montreal slides – Catching regressions faster with automated acceptance tests

Check out the demo plugin on https://github.com/jonathanbardo/WC-Codeception-Demo

Codeception & WordPress: Getting up and running

Getting up and running with Codeception tests locally in Chrome, Firefox or BrowserStack you need to be able to run your site locally first (take a look at Laravel Valet, it’s fast and requires almost no configurations).

Here are the requirements for mac:

  • Java 1.8
  • Homebrew
  • WP-CLI (latest version)
  • Composer (latest version)
  • Selenium server
    brew install selenium-server-standalone && brew services start selenium-server-standalone
  • Chrome driver
    brew install chromedriver && brew services start chromedriver

Once everything is installed, you need to create a new composer.json (or merge an existing one) with the following requirements:

After this file is created, you can run composer install and composer will take care of downloading all dependencies for you.

Here is a sample plugin to help you get started. You can copy the codeception.yml file and the tests/codeception directory into your own plugin or theme and use that as a template.

You are ready to run wp codeception run --debug at the root of your directory!

 

 

If WordPress had a minimum requirement of PHP >= 5.3

Here is a small function I’ve growed to use when I built a WordPress plugin or site for myself. This could eventually be in core one day if WordPress would raise the minimum requirement of PHP to 5.3.

On a sidenote, we could also finally use namespaces…

Contact Widgets – A Plugin to showcase your social links & contact informations

Building a simple but highly flexible contact & social widget that works well in the customizer is hard. This was our core philosophy while working on the version 1 of this plugin and I do hope it proves useful for many people out there. Please check out for new features and releases in the coming weeks.

Here is a screenshot of the contact widget as of version 1.0.0 (note that you can reorder most fields using simple drag and drop. This works on mobile as well.)

Continue reading

Elasticsearch + WordPress: made for each other!

If you landed here is that you probably have a keen interest in bringing a more powerful search engine into your WordPress site and you have heard about Elasticsearch, the relatively new document oriented, RESTful search server based on Lucene.

There are many reasons why one uses Elasticsearch so I won’t get into much details, I will only show you the steps to get up and running with WordPress + Elasticsearch on your VPS server running ubuntu (or whatever linux distro you prefer but I will only show ubuntu commands)*.

Continue reading

Why is my site broken?

If you are a WordPress developer/freelancer, I’m pretty sure you’ve heard your client say this more than once. Unfortunately, there is no core user activity log in WordPress and no easy way to tell who broke the site by modifying that “pesky” blog settings. Of course, one could remove admin privileges on the site, but is that really a solution?

I’ve recently been contributing to a plugin called Stream to solve exactly that problem. Please try it out and give us feedback!

Read more on X-Team.com

OPTIMIZE YOUR VAGRANT WORKFLOW WITH WP-CLI SSH

Read the original article on X-Team.com


One pitfall I’ve recently encountered with Vagrant and WP-CLI was the lack of an easy way to use my local WP-CLI installation to send a command to my Vagrant box.

X-Team’s Weston Ruter first developed an incredible tool called vassh, which basically removes the pain of having to manually SSH into the Vagrant box and run the command from the project root. While vassh is really useful, it only works for Vagrant and not for remote servers.

After working closely with the WP-CLI team and refactoring multiple times, we finally came up with something called “WP-CLI SSH” which facilitates running WP-CLI commands on other servers, while invoking WP-CLI normally as if it was on your own system.

Continue reading

© 2017 Jonathan Bardo