WordPress Workshop Novi Sad

Final WordPress Workshop – Novi Sad

On December 14th, we had our final WordPress workshop in Novi Sad. At least in 2019, that is. In 2020 and beyond, who knows what will happen 😉

How to make a career in WordPress

This was the main subject of the final workshop. After an opening talk about WordPress security best practices by Relja Novović, we had three speakers sharing their WordPress experience, how they started with WordPress, and what kind of WordPress career they have now. It was a truly fantastic experience to listen to three completely different stories that have one thing in common – you guessed it, WordPress 😎

Big kudos to Milana Cap, Sofija Altman, and Milan Milićev for taking the time to give us a glimpse of their WordPress careers and how they started!

Leonardo DiCaprio toast gif

Final thoughts

All the slides from the workshops are available in my WordPress Radionice – Novi Sad Google Drive folder and all the videos can be found on my YouTube channel. All the posts that accompanied the workshops are available on the WordPress workshops tag on my blog.

In the end, I’d also like to thank Startit Center Novi Sad for providing us with the venue! And of course, thanks to all the attendees for their hard work and tenacity throughout the workshop. Thanks for bearing with me throughout these couple of months, it wasn’t easy! But I hope it was helpful.

Thank you note
WordPress Workshop Novi Sad

WooCommerce – WordPress Workshop – Novi Sad

One of the tasks at the sixth WordPress Workshop in Novi Sad was to create an online store by using the WooCommerce plugin. Specifically, the task was the following:

  1. Install WooCommerce
  2. Create the default WooCommerce pages either manually or by using the Wizard
  3. Make sure that all the WooCommerce pages are added to the menu.
  4. Set the currency to dinar (RSD) and fill in all the store data.
  5. Create 10 products – 2 simple products, 2 simple virtual products, 2 simple downloadable products, 2 variable products each with 3 different variations, 1 group product, and 1 affiliate product.
  6. Set up shipping for Novi Sad (free), for Serbia (2000 RSD), for Europe (5000 RSD), and for every other area the shipping should be 10000 RSD.
  7. Setup a standard tax of 5% for all products.
  8. Activate Cash on Delivery. This payment method mustn’t be applied to virtual products.
  9. Activate PayPal and set up a PayPal sandbox account.
  10. Install and activate the Storefront theme.
  11. Put featured products on the homepage.
  12. Go through the whole purchase flow and activate a 50% discount coupon.

I created two videos which go through this task. The first one covers the steps from 1-8 and the second one covers from 9-12.

I’m speaking in Serbian but the whole interface is in English

I’m speaking in Serbian but the whole interface is in English
facepalm from Star Trek

P.S. In the second video, one of the products wouldn’t show up in the grid of featured products. Only after the video did I realize I previously set the product visibility setting to Search Results only.

Final Workshop

The final workshop of this series will be held tomorrow. We’ll have 4 talks total – one will be about WordPress website security and the other three will be on the subject How to make a career in WordPress. Cheers 🙂

WordPress Workshop Novi Sad

Sixth WordPress Workshop – Novi Sad

During the sixth WordPress workshop in Novi Sad, we first took a look at the solution of the task that I gave to the attendees at the previous workshop. We then covered creating membership sites – the WordPress built-in way and by using a plugin Ultimate Member.

Creating a Plugin

During the fifth WordPress workshop, we created a plugin which adds the alt value to all Gravatar images. For homework, everyone was supposed to create a plugin of their own which would add the name of the author in front of the title of each post and says:.

If the post title is Hello World, the end result (instead of just the post title) should be Daki says: Hello World (if Daki is the name of the author of the post). And as a bonus task, the plugin should also add the author’s Gravatar image to the title with the dimensions of 15x15px.

This is a task I made up so there’s no copy/paste solution available online 🙂 However, for finding the right hooks and functions to use, Google is your best friend.

Here’s the function that needs to be added to the plugin in order to achieve the aforementioned result:

And now, the copy/paste solution is available online 🙂

Creating a Membership Site

There are two main ways for creating a membership site in WordPress. The first one is to use the built-in WordPress functionality and publish posts/pages as Private or Password protected. However, this is not a very flexible solution as you can’t really control user capabilities, there’s no members area, and you’d lack lots of really cool options that membership sites have.

Enter Ultimate Member. There are many WordPress membership plugins available online but Ultimate Member is the one I use the most and always recommend. It’s user-friendly and easy to set up. They have decent documentation available and there are quite a few free and premium extensions you can use.

Here’s a video walkthrough of creating a membership site by using the Ultimate Member plugin:

I’m speaking in Serbian but the whole interface is in English

During the video, I’m basically going through the tasks I gave the attendees in order to practice creating a membership site:

  • Install and activate Ultimate Member on a site created with the Local by Flywheel application.
  • Create the default Ultimate Member pages and add them to the menu.
  • Create a new user role that will be the main registration role.
  • Allow this role to log into WP Admin and to publish and edit its own post.
  • Modify the existing registration form so that it applies only to the new role you created.
  • Modify the existing profile form so that it applies only to the new role and allow this user role to insert the following info – Country, Birth date, and YouTube video.
  • Add 2 new pages that will be accessible only to the logged in users.
  • Add these 2 pages to the menu.
  • Modify the menu so that the 2 newly created pages can only be displayed to the logged in users. Do the same for the Logout, Account, and User pages.
  • Modify the members directory so that it can be searchable. The searchable users should be only the users who are assigned the newly created role.
  • The search can be filtered by Country.
  • You can’t see the admin user in the members directory.
  • Register as a new user in the browser incognito mode and fill in your profile.
  • Create a new user via WP-CLI and set the new role to this user.
  • Log into the site as the second user you created (in a new browser) and fill in your profile.
  • Check the search functionality and whether it’s working properly.
  • With each user, publish one post and add one comment to the restricted pages you added before.


If you’re interested in exploring different membership plugins, Chris Lema has a really nice series of posts on this subject.

As for our WordPress workshops, next Saturday will be the last workshop this year. We’ll have three speakers joining us who will talk about their WordPress beginnings and how they made a career in WordPress. I hope this will further inspire the attendees to dive into WordPress deeply. In my humble opinion, it’s the perfect ending for the workshops 🙂

WordPress Workshop Novi Sad

Fifth WordPress Workshop – Novi Sad

On Saturday, November 23rd, we had our fifth WordPress workshop in the Startit center in Novi Sad.

Terminal and WP-CLI

We went through Linux terminal basics and then we jumped into WP-CLI. We learned how to create, update, and delete users on the site, how to install, activate, deactivate, and delete plugins and themes, and how to perform a full backup of a WordPress website in a few seconds with WP-CLI and Linux commands:

wp db export – creates a database backup
tar cfz . – creates a backup of all files and folders in the WordPress installation

We also skimmed-through the other fantastic options WP-CLI offers like:

We also took a quick look at the full documentation of all WP-CLI commands.

WordPress Plugins and Hooks

We inspected the code of the Hello Dolly plugin and based on its example, we checked the different hooks that WordPress offers – actions and filters.

We then created a simple plugin that adds the alt value to all Gravatar images. We also explored the forums where support for websites, plugins, and themes is provided by the volunteers.

I also provided all the attendees with the list of my plugins of choice for a WordPress website.

WordPress Translations

We explored the Languages folder in a WordPress installation and .po and .mo files. We checked the main WordPress translation website and we explored the Serbian locale.


We touched the main concepts of SEO and what are the most important things to work on. I plan on writing a separate article on this subject at some point.


Next Saturday, we’ll be creating a membership website and a webshop.

WordPress Workshop Novi Sad

Fourth WordPress Workshop – Novi Sad

During the fourth WordPress workshop in Novi Sad, we went through the basics of HTML and CSS, we covered the best practices for adding custom CSS to a WordPress site, we went through some of the options of the element Inspector in browsers, and we also manually created a child theme.

After the workshop, I created a short video walkthrough of the element Inspector options in Chrome and I covered the basic creation of a child theme (both manual and via a plugin).

I’m speaking in Serbian but the whole interface is in English


During the next workshop, we’ll go through WP-CLI and creating a web shop by using WooCommerce.