How to Replace Your Photos and Media Files in WordPress

Are you looking to replace an image that you have already previously uploaded to WordPress? Quite often you upload an image to your website, make a few tweaks and re-upload the image. Well, instead of uploading a new image to your website, you can quite easily just replace it. In today’s article, we will show you the easiest way to replace your photos and media files in WordPress.

Unfortunately, WordPress doesn’t allow you to replace photos or media files (hopefully in future they will allow this though). So, until then, to update previously uploaded files, you’ll need to use a plugin such as Enable Media Replace.
By default, WordPress does not allow you to replace photos or media files. To update previously uploaded files, you’ll need to use a plugin like Enable Media Replace.

Steps to replace the media files in WordPress

  • Step 1. Install and activate the ‘Enable Media Replace’ plugin
  • Step 2. Go to your WordPress Media Library and set it to ‘list-view’
  • Step 3. Click on the ‘Replace Media’ option under the filename
  • Step 4. Choose your new file from your computer and upload it

Ready to get started? Awesome, let’s do this!

Step 1: Install and Activate ‘Enable Media Replace’ Plugin

First things first, we need to install and activate the Enable Media Replace plugin to your WordPress site.

To do this, you can go to Plugins → Add New from the WordPress CMS. In the search bar type; ‘Enable Media Replace’ and it most likely will be the first selection.

As usual, click the ‘Install Now’ button for the plugin, ‘Activate’ it.

Step 2: Go to your WordPress Media Library and set it to ‘list-view’

Upon activating the plugin, you can now go to Media → Library from the WordPress CMS.

By default, the photos are in grid-view. Go ahead and change it to list-view as shown below:

The blue icon as shown above.

Step 3: Click on the ‘Replace Media’ option under the filename

Hover over the image or media file you want to replace, and you’ll see the ‘Replace Media’ option, so click on it to replace that media file.

Step 4: Choose your new file from your computer and upload it

You will see a new page with the option to browse to a new media file to replace with the old image. Click on the ‘Browse’ button and select the new file from your computer.

From here, you will see two options. You can either just to simply replace the file, alternatively, you can replace the file, use new file name, and update all links throughout the site.

Now, simply click on the ‘Upload’ button and it will replace the image for you.

…So yeah, that’s pretty much it. We hope this article has helped you to learn how to replace your photos and media files in WordPress. It’s very useful and can save time and storage on your server so it’s worth checking out!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

WordPress 5.4 – Building more with blocks, faster and easier.

As they say, Say hello to more and better.

More ways to make your pages come alive. With easier ways to get it all done and looking better than ever – and boosts in speed you can feel.

WordPress keeps evolving and becoming better and better and so we welcome you to WordPress 5.4.

With every major release, they add more to the block editor, more ways to make posts and pages come alive with your best images. Brining more ways to bring more customers to your website, keep those customers engaged with the richness of embedded media from the web’s top services.

In a nutshell, it helps you bring your vision real in the most simplistic way possible and puts blocks in the perfect place. The latest update brings increased speeds everywhere. For example, as you build sections or galleries or even just type in a line your prose, you can feel how much swifter the workflows enabling you to build much much quicker.

Okay great, you want to know what’s new right? Okay, let’s go!

Two new blocks. And better blocks overall

  • Two brand new blocks: Social Icons and Buttons make adding interactive features fast and easy.
  • New ways with colour: gradients in the Buttons and Cover block, toolbar access to colour options in Rich Text blocks, and for the first time, colour options in the Group and Columns blocks.
  • Guess a whole lot less! Version 5.4 streamlines the whole process for placing and replacing multimedia in every block. Now it works the same way in almost every block!
  • And, if you’ve ever thought your image in the Media+Text block should link to something else – perhaps a picture of a brochure should download that brochure as a document? Well, now it can.

Cleaner UI, clearer navigation – and easier tabbing!

  • Clearer block navigation with block breadcrumbs. And easier selection once you get there.
  • For when you need to navigate with the keyboard, better tabbing and focus. Plus, you can tab over to the sidebar of nearly any block.
  • Speed! 14% faster loading of the editor, 51% faster time-to-type!
  • Tips are gone. In their place, a Welcome Guide window you can bring up when you need it – and only when you need it – again and again.
  • Know at a glance whether you’re in a block’s Edit or Navigation mode. Or, if you have restricted vision, your screen reader will tell you which mode you’re in.

Of course, if you want to work with the very latest tools and features, install the Gutenberg plugin. You’ll get to be the first to use new and exciting features in the block editor before anyone else has seen them!

Your fundamental right: privacy

5.4 helps with a variety of privacy issues around the world. So when users and stakeholders ask about regulatory compliance, or how your team handles user data, the answers should be a lot easier to get right.

Take a look below:

  • Now personal data exports include users session information and users location data from the community events widget. Plus, a table of contents!
  • See progress as you process to export and erasure requests through the privacy tools.
  • Plus, little enhancements throughout give the privacy tools a little cleaner look. Your eyes will thank you!

Wow, pretty cool huh?

But I’m pretty sure you want to see what this means for developers right? We have you covered.

Just for developers

Add custom fields to menu items – natively

  • Two new actions let you add custom fields to menu items – without a plugin and without writing custom walkers.
  • On the Menus admin screen, wp_nav_menu_item_custom_fields fires just before the move buttons of a nav menu item in the menu editor.
  • In the Customiser,
    wp_nav_menu_item_custom_fields_customize_template fires at the end of the menu-items form-fields template.
Blocks! Simpler styling, new APIs and embeds

  • Radically simpler block styling. Negative margins and default padding are gone! Now you can style blocks the way you need them. And, a refactor got rid of four redundant wrapper divs.
  • If you build plugins, now you can register collections of your blocks by namespace across categories – a great way to get more brand visibility.
  • Let users do more with two new APIs: block variations and gradients.
  • In embeds, now the block editor supports TikTok, and CollegeHumor is gone.

There’s lots more information for developers to love in WordPress 5.4. To discover more and learn how to make these changes shine on your sites, themes, plugins and more, check the WordPress 5.4 Field Guide.

To conclude

WordPress and their community are always trying their best to make their platform the best available on the market. What you have to appreciate is this is open-source software. The open-source software development model allows others to not only study the code but also improve it by testing, bug reporting and submitting patches.

It’s always recommended to keep the WordPress version and Plugins up-to-date, for many reasons (e.g. Security and Compatibility). To update, you can simply log in to your WordPress CMS and update through the dashboard. Alternatively, you can download the latest version here on the official WordPress website.

What do you love most about WordPress 5.4? Leave us a comment below with your thoughts!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

The Best 2 Tools For WordPress Website Migrations

Today, we are going to talk about two Plugins you can use for any WordPress migration. We tend to use both depending on the type of migration required. Obviously, migrations can be done manually by downloading the files and database but at times this can end up taker a lot longer than expected.

Our two favourite plugins for website backups and migrations are All-in-One WP Migration and Duplicator – WordPress Migration Plugin.

Before we get started, we just want to point out that we are using the Premium versions of both plugins. Honestly, they are a hell of a lot better than the free versions and well worth the money!

All-in-One WP Migration

So what does this plugin do? It basically generates a .wpress file that you can transfer to another website. To create a backup, install the plugin then navigate to ‘All In One WP Migration’ → ‘Export’. From here you can select ‘Export to’ → ‘File’ which will create the .wpress file to save on to your desktop. This will also keep a backup on the site as well which can be installed in a matter of a few minutes. A pretty awesome plugin if you’re working on updates on a live website or if you want to update the WordPress version and Plugins, making it easier to revert back should it cause any major issues!

The .wpress backup is saved in the following directory; ‘/wp-content/ai1wm-backups’. Let’s say you’re working on a development site and want to migrate it to the ‘live website’. First, you would install WordPress and the database connection, then you would download the .wpress file and upload this file to the new server. On the new server, if you now go to ‘All in One WP Migration → ‘Backup’, you will see the file you have just uploaded as shown below:

From here, hover over the grey icon and click the restore button. Once completed, refresh the page and you will probably be asked to re-login to your WordPress site. First things first, always make sure to go to ‘Settings → Permalinks’ and click ‘Save Changes’. Quite a lot of times, you may notice the homepage is working but the sub-pages are not, re-saving the permalinks is the key trick to fix this issue.

So you’ll probably notice as well that there are quite a few backups on our site. Well, we can revert back to any stage of the website in a matter of minutes if we need to. We can schedule automated backups and even store our backups elsewhere.

If you have a look at their official website (ServMask), you can see there are several different add-ons you can get for this plugin, such as the Dropbox extension, Google Drive extension, URL extension, Multisite extension, FTP extension and various other useful add-ons depending on what software you use.

You don’t need to own all of these, in fact, the ones we purchased are the All In One WP Migration Unlimited Extension and the URL extension.

I’ll go through the above-mentioned add-ons. Firstly, the All In One WP Migration allows you to import large .wpress files to another website, honestly, with this, migrations can be very easy. Without this plugin, there is a cap to the size you can import free of charge which is why it’s a good idea to purchase the add-on. You’d be crazy not to, it pays for itself very quickly! Secondly, the URL extension allows you to make a backup on, then copy and paste the URL of the .wpress file and import it to What does this mean exactly? Well, now you no longer need to download the file and re-upload the file to another server, the migration happens from one site to another, pretty sweet huh?

The only downfall to this plugin is if you experience large .wpress files (over 2GB), there may be compatibility issues trying to upload this to your localhost – which we have recently experienced. Some hosts or Softwares have caps to how much you can import, and although there is a way around this, it can be frustrating at times… That is quite rare though – I mean honestly, a WordPress site over 2GB? That screams a lack of maintenance and optimisation in our eyes.

Anyway, we came across a website .wpressfile that was over 3.3GB (I know, crazy!), and we couldn’t get the migration to work and that’s where we came to our secondary option: Duplicator PRO.

Duplicator – WordPress Migration Plugin

So about the Duplicator plugin, the big difference between this and All In One WP Migration is that this creates backups in a very different way. To create a backup, go to ‘Duplicator Pro’ → ‘Packages’ then click ‘Create New’. An awesome feature with this plugin is the customisation you have over the backups that are made. For example, you can archive only the Database, Enable File Filters and even deselect certain files you don’t wish to migrate to make the package a lot smaller.

Before we discuss any further, we just thought that we should mention that Duplicator Pro (Snap Creek) is a premium plugin, but also has a free version in which you can download for the WordPress Plugins Directory. The free plugin is great, but for regular developers that make quite a lot of migrations, it’s always beneficial to purchase the premium version. As we mentioned before, the plugin will pay for itself very quickly depending on the amount of workload that you have.

Okay, getting back into it, so you’ve made your backup… awesome!

What you can do now is download the two files for your migration, this will be an installer.php file and a 20200330_website_name_1d076f4e32271a989361_20200330102653_archive.daf depending on the migration type that you choose. The key difference between this plugin and All In One WP Migration is that you don’t actually need to have a WordPress website in place in order to import the website. All you need is a database connection and the two above files. From there, you can go to, add the database connection, run the import and boom; your website is up and running just like that!

That being said, there have been times where backups have failed for one reason or another. Sometimes, we have found that by going to ‘Duplicator Pro’ → ‘Settings’ → ‘Package’ tab, then changing the ‘Archive Engine’ to ‘DupArchive’ fixes that problem. I mean, sometimes we even check this option first before creating the package.

It goes without saying that this plugin is also an awesome plugin for backups and website migrations. Whether it is from site-to-site or site-to-localhost, both are equally great tools for the job.


So you might be wondering why we mentioned All In One WP Migration before Duplicator Pro right? Well, that’s just our first tool to go to in most migrations. Should this fail the job, we then switch over to Duplicator Pro. There are other tools on the market and ways and means to do this without a plugin but why over-complicate something when there are great time-saving tools that do the job perfectly for you in a quick and precise manner?

We’ve done a lot of manual backups by downloading files and databases and importing it to a live website, 95% without any problems at all. But on occasion, especially when you are using Theme Templates, you might find the website transfers but there are a lot of errors, especially when it comes to the database. Okay, within the database there is a fair bit of JSON code and often if you are using techniques like a find and replace of ‘’ to ‘’, you might soon realise that the transfer has not moved over as you expected. The reason this happens (to put it in layman’s terms) is that ‘’ contains only 12 characters, whereas ‘’ is 14 characters. With JSON, it needs to know how many characters a string has, so changing the URL’s is all good and well but it’s not smart enough to change ’12 characters’ to ’14 characters’ unless you have the patience to do this manually or have some killer script you’re not telling people about.

The great thing about the two plugins we have been talking about is that they take care of these things automatically! Very rarely have we come across a migration using one of these tools where it didn’t look like an exact replica of the website we were migrating it from. Pretty sweet right?

What are you waiting for? Get these two fantastic plugins downloaded and you’ll never fear a migration again!


Did you love this post? Have you used any of these two plugins before? Let us know your experience in the comments below.


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

How to add Pagination on an Advanced Custom Fields Repeater

Okay, so it goes without saying that the Advanced Custom Fields plugin is an amazing plugin, one in which we pretty much use on every website we build. It becomes even more powerful with the Repeater Field add-on. If you’re like us, then you probably already have the Advanced Customer Fields Pro version which we would highly recommend if you don’t own it already.

One request that we had was to add pagination since the repeater values grew much larger than expected. Today, we will show you a method to add pagination to the results when you display them to the user.

In the example below, we will paginate a Repeater image gallery which is mapped to a custom field name image_gallery which contains a subfield called image which is an image object. Our repeater will be displayed on a custom page template with the URL of /gallery.

In our example, ten images will be displayed per page, and pagination links will allow the user to navigate between the gallery’s pages at pretty URLs such as /gallery/2/, /gallery/3/ and so on. Right, so let’s get cracking!

In your page template:


 * Paginatation on Advanced Custom Fields Repeater

if( get_query_var('page') ) {
    $page = get_query_var( 'page' );
} else {
    $page = 1;

// Variables
$row              = 0;
$images_per_page  = 10; // How many images to display on each page
$images           = get_field( 'image_gallery' );
$total            = count( $images );
$pages            = ceil( $total / $images_per_page );
$min              = ( ( $page * $images_per_page ) - $images_per_page ) + 1;
$max              = ( $min + $images_per_page ) - 1;

// ACF Loop
if( have_rows( 'image_gallery' ) ) : ?>

<?php while( have_rows( 'image_gallery' ) ): the_row();


    // Ignore this image if $row is lower than $min
    if($row < $min) { continue; }

    // Stop loop completely if $row is higher than $max
    if($row > $max) { break; } ?>

<?php $img_obj = get_sub_field( 'image' ); ?> < a href = "<?php echo $img_obj['sizes']['large']; ?>" >
    < img src = "<?php echo $img_obj['sizes']['thumbnail']; ?>"
alt = "" >
    < /a>

<?php endwhile;

  // Pagination
  echo paginate_links( array(
    'base' => get_permalink() . '%#%' . '/',
    'format' => '?page=%#%',
    'current' => $page,
    'total' => $pages
  ) );

<?php else: ?>

No images found

    <?php endif; ?>

And there we have it, pretty simple huh? This technique will also work on Custom Post Type single templates. Your pagination permalinks will have the format /post-type/post-slug/2/.

Along with this, you will need to add some styling but we’ll assume your pretty capable with that part.

Did this help? Do you need any assistance getting this to work? Drop a comment below and we’ll be in touch!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

Diving Further Into WordPress Website Accessibility

So you know a bit about WordPress accessibility, but still, you want to learn. Great!

The WordPress community is dedicated to Core Accessibility.

Accessibility Coding Standards Promise: Any new or revised code released in WordPress will conform with WCAG 2.0 guidelines at Level AA.

The accessibility of a WordPress website depends on 3 factors:

  • Theme
  • Plugins
  • Content


Designers, creators, and site owners also influence if the end product is accessible.

Developers play a significant part in the accessibility mix. The issues can not be found until someone reports they can’t see or do anything on the website.

What Can WordPress Developers Do To Make The Sites They Build More Accessible?

The right method is improving accessibility from the start. Rectifying accessibility problems with a site is often more time-consuming and difficult to do (though it might happen often).

So, this is what you should do:

  • 1. Choose An Accessibility Ready Theme
  • 2. Use Plugins to produce Accessible Content
  • 3. Teach Customers to Add Accessible Content


Tota11y, a Khan Academy developed usability visualisation toolkit, is an awesome developer tool. Simply attach their JS file to your site to allow the accessibility feature, which appears in the shape of a tiny glasses icon tab.

1. Choosing an Accessible Theme for WordPress

The first step on a fully accessible website is to select an accessible theme. Many theme developers take the time to implement the instructions in the WordPress theme accessibility guide, so it is best to ask the author whether a particular topic is accessible or not.

WordPress also includes free themes. Find the submenu under the “Function Filter” heading and click on the cog icon.

There are many options you can choose to filter your search. In the Features section, click the feature above that is reliable readiness.

You can then select any number of filters. On the left, you will see a Filter button that shows the number of filters applied. Click Apply filters. Then, select a topic.

It is important to note that the fact that a theme is labelled Accessibility Ready does not mean that it is “fully” accessible. However, if a theme developer marks their theme as accessible, they probably made some effort into making it accessible. If you encounter any issues, let them know so they can update it for other users.

2. WordPress Free Plugin Solutions For Accessibility

You may be creating your own WordPress theme, or you using any theme you want. One of the amazing things in WordPress is the availability of tens of thousands of add-ons. Whenever you need something, there is usually an add-on that can fit into your website.

My personal choice is WP Publishing, which comes with a variety of tools to help you find and fix the most common problems you find when using WordPress. It requires very little expertise and minimal setup.

WP Accessibility Helper (WHA) is another option in a range of options that include several useful features for skipping links, changing font size, scanning domains, contrast mode, and more. The features you want to include can meet more specific accessibility requirements.

Fonts: Create a font size widget for your sidebars. This makes it easy for readers on your site to resize text according to their needs.

Another easy-to-read option is the Zeno Font Resizer. The plugin allows webmasters to set the font size as well as the font size options. So when users return to your site, they’ll see the font size as they specified before.

Text-to-speech: For readers with visual impairment, text-to-speech features offer audio options for the blind. 190 WordPress add-ons offer a voice of human quality, support over 30 languages, and work with most topics.

G-speech text-to-speech solution is a free alternative for accessible audio. It works with any text on your site and adds an audio block to your site. You can then use these options to change the colour, speaker sound, and more.

Forms: You can easily access your contact forms through the Contact Form 7 plugin. This allows you to set default values for forms and formations, such as WCAG form fields, or readily available forms, such as add-ons.

3. Testing Your Website Accessibility

Once you’ve created your website, it’s a good idea to review your changes. There are many methods and software that you can use to make the experience enjoyable, but there are a few that make testing easier.

One that we mentioned earlier in this article is the Tota11y. Along with this, you can use WAVE Web Accessibility Diagnostic Chrome extension. This auxiliary device displays all errors, warnings, features, structural features, ARIA labels so that you can edit them accordingly.

Once you’ve created your website, it’s a good idea to review your changes. There are many methods and software that you can use to make the experience enjoyable, but there are a few that make testing easier.

Apart from Tota11y, the WAVE Web Accessibility Diagnostic Chrome Extension helps auxiliary device displays all errors, warnings, features, structural features and ARIA labels so that you can edit them accordingly.


Website accessibility is just as important, if not more essential than directing traffic to your website. You should make sure anyone who lands at your website will completely understand and navigate through all the information available there.

That’s why we recommend these accessibility features and the right plug-ins to make them work. If you want to make your website fully accessible, these tips should give you a head start.

If you want us to look at your website and suggest/implement ways in which we can improve your accessibility, feel free to drop us an email at [email protected] and we’d love to help you! Alternatively, you can get in touch with MangoMatter Media and they would be very happy to assist you.


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

9 Reasons Why You MUST Avoid Nulled WordPress Themes & Plugins

What are Nulled WordPress Themes & Plugins?

Nulled WordPress themes and plugins are basically pirated copies a paid version which is available unethically on the world wide web.

Not only does it cause great WordPress companies that invested a lot of time creating great plugins/themes, but most importantly it compromised the security of websites that are using these nulled WordPress themes and Plugins.

Quite often, the reason your web site get’s hacked is because of using nulled themes and plugins. As web site owners, you may not even be aware that your site is using these nulled plugins/themes, which is why it’s always important to use good/trusted developers or reputable agencies.

Here are some of the top reasons why you MUST avoid using nulled WordPress plugins and themes on your website.

1. Security

In terms of website security, nulled plugins and themes are extremely dangerous to your website as they are known to carry malware.

This malicious code can spread across different files and even other websites on your server. These malicious codes may not be noticeable on the frontend as more often than not, they disguise itself which makes it harder for programmers to detect and clean up when your website is hacked.

If you’re not taking regular backups, you could even potentially lose all your websites data if your website is hacked. In addition to this, you risk your website being de-indexed from search engines for distributing malware.

2. Privacy

The types of malicious code in which nulled themes and plugins can vary quite significantly. This can include code that steals information from your WordPress site and makes it available to hackers on the dark web.

This information could include your username, email address, and passwords. If you run an e-commerce website or a membership website, you also risk having personal information of your customers being leaked. Now, this can become quite costly to your business if this was to happen. Quite often, people get nulled themes and plugins because they can’t afford the cost. The price isn’t in fact that much when you compare against the number of risks that can occur and how it could actually end up costing you a lot more in the end run.

These kind of hacks are hard to detect and may go unnoticed as your WordPress site keeps functioning normally.

3. It’s Bad for SEO

Pirated WordPress themes and plugins can destroy your WordPress SEO. Nulled WordPress themes and plugins can add spam links to your website or hijack your users and redirect them to bad websites.

These things may not be noticeable visually as they are working in the background, hidden inside your code. Trust us though, search engines will be very quick to penalise your website by dropping your search ranking or even de-indexing your website completely!

What’s even worse is that it could take months to recover your websites SEO rankings…

4. Legal Issues

Many WordPress themes and plugins are open source, but some of them are sold with mixed types of licenses. This means that some parts of the code are protected by copyright laws and if you are using a nulled WordPress theme or plugin, then you don’t have the legal permission to do so.

What this means is that Pirated WordPress themes can result in data theft, data loss, or distribution of illegal material. All of these can lead to legal proceedings where you may end up paying huge sums to lawyers.

5. No Access to Updates

Most WordPress themes and plugins regularly release updates to fix bugs, add new features, and close security issues. Nulled WordPress themes and plugins cannot receive those updates because they don’t have a valid license key.

This leaves your WordPress site with an outdated version which will be less secure and possibly even ends up not working. WordPress itself regularly releases new versions and sometimes themes and plugins need to be updated to remain compatible with the latest changes. Since nulled theme or plugin can’t be updated, your website may start misbehaving or become inaccessible. In some cases, you won’t even know that there is an update available or even know if it’s compatible with the latest WordPress version.

Even the most experienced WordPress users need support and documentation to properly use some of the premium WordPress themes and plugins.

Developers of these products spend a lot of their time on providing support and creating documentation for their users. They even hire support specialists to answer questions and regularly add new tutorials.

If you are using a nulled WordPress theme or plugin, then you are on your own. You cannot ask the developers to help you out when you need help. You also don’t get access to documentation and tutorials because those are only available to users who purchase the plugins/themes.

7. Access to New Features

As we have already mentioned, WordPress themes and plugins are updated regularly and often these updates include new features. If you are using a nulled WordPress products, then you won’t be getting automatic updates, and you wouldn’t even know that there are new features available.

These new features can significantly improve your website and help you earn more money online. However, you will be totally unaware of any changes and will be stuck with an outdated version.

8. Unethical use Discourages Innovation

Some people may argue that some plugins and themes are just tiny bits of software, and quite simply, they will use nulled plugins and themes because they can’t afford the costs. However, this tiny piece of code is the result of someone’s skill, talent, and hard work. By using nulled software, you are taking away money from the creators.

Developers not only spend their own time writing code, but they also have to provide support, create documentation, make a website, hire support staff, and spend a lot of money to run their business. Using nulled software hurts their business and they end up losing money.

These unethical practices may discourage developers from creating new innovative products that can benefit millions of users!

9. The Abundance of Free Alternatives

There is no reason for anyone to use nulled WordPress themes and plugins. No matter which WordPress theme or plugin you choose, there is more than likely one or suitable free alternatives available for them.

For great WordPress themes, we tend to use ThemeForest, they offer a massively library of themes to choose from and more often than not, you will find a great theme which will require very little customisation to get a great website for your business up and running.

If you are looking for some great WordPress plugins you can use CodeCanyon, again, they have a massive stock of great premium plugins you can purchase if you can’t source a suitable free plugin from has thousands of free plugins and themes. Some of them are even better than the paid/premium products. Most importantly, you can use them legally with no burden on your conscience and without affecting WordPress community negatively.

Well, we hope you have found this article useful and can agree with the fact that nulled plugins and themes should not be used.

Do you have a website that has been affected by malware? Get in touch with us at [email protected] and we will put our full efforts to fix and recover your website!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

WooCommerce – How to Show a Confirm Message before Removing an Item from the cart / Update Basket on Quantity Change

A super simple one today, a client requested a popup message to confirm if you want to remove something from the cart. How do we achieve this? Pretty simple really, all you need is a bit of jQuery as shown below:


    jQuery( function($) {       
    $('.remove').click( function( event ) {
        if( ! confirm( 'Are you sure you want to remove the product?' ) ) {


Along with this amend, the client asked if we could automatically update the basket on quantity change… Again, a pretty straight forward task here. In terms of UX, some users seem to find the update cart button as unnecessary or confusing; well, if we can make it easier for the users so the basket updates automatically on change, then why not do it?

A simple PHP function followed by two lines of JQuery and a line of CSS and you can quickly implement this!

1. CSS Snippet: Hide the WooCommerce “Update Cart” Button

input[name='update_cart'] {
display: none !important;
button[name='update_cart'] {
display: none !important;

2. PHP Snippet: Auto-update WooCommerce Cart when Quantity Changes

Now that the update cart button is hidden, all we need to do is to ‘click’ the button via jQuery and let WooCommerce do the exact same job (updating cart totals, taxes, etc.).

In detail, when we ‘click’ on any of the quantity inputs, we go and trigger a ‘click’ on the hidden Update Cart button.

Easy, right?

Note: add the following to your functions.php (to the child theme if you using one)

add_action( 'wp_footer', 'silva_cart_refresh_update_qty' ); 
function silva_cart_refresh_update_qty() { 
   if (is_cart()) { 
      <script type="text/javascript"> 
         jQuery('div.woocommerce').on('click', 'input.qty', function(){ 

If this has helped, leave a comment and share your thoughts! If you require any assistance, we'd love to help; simply drop us an email at [email protected]


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

Decrease or Disable the Strength Required for your WooCommerce Passwords

Today we are going to show you an easy way to decrease or disable the strength required for your WooCommerce Passwords without the use of a plugin.

Disable the Password Strength

The first thing I will point out here is that this method is not necessarily advised but it’s one of those requests you might come across from time to time. Forcing strong passwords on your WooCommerce store can sometimes deter customers from processing their order which is one of the main reasons you are probably reading this post. For the average person, the strength at which WooCommerce/Wordpress require their passwords to be is above and beyond anything the customer will remember. Personally, I use LastPass to generate and store all of my passwords, so this is not an issue for me, but your customers may not be as tech-savvy.

Disabling strong passwords should be done at your own discretion, but until WordPress make the password strength parameters editable, I imagine many people will want to do it. You can add the following code to your theme’s functions.php file to completely remove the password strength check:

 * Remove password strength check.
function iconic_remove_password_strength() {
    wp_dequeue_script( 'wc-password-strength-meter' );
add_action( 'wp_print_scripts', 'iconic_remove_password_strength', 10 );

Decrease the Password Strength

It is actually possible to just decrease the strength required for your customer’s passwords. This is a much better option than disabling it completely, in most scenarios anyway.

The default strength is 3, and can range from 0 (non-existent) to 5 (ridiculously strong). You can change this by adding the following filter in your functions.php file:

 * Change min password strength.
function iconic_min_password_strength( $strength ) {
    return 2;
add_filter( 'woocommerce_min_password_strength', 'iconic_min_password_strength', 10, 1 );

Pretty simple right? If this has helped, leave a comment below, we’d love to hear from you.


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

How to add /blog/ in front of your single post URLs in WordPress

Today we will show you how to add /blog/ in front of your single post URL’s. Let’s take this blog post for example, at the moment you will see the single post is the default ‘how-to-add-blog-in-front-of-your-single-post-urls-in-wordpress’, maybe you or one of your clients has asked you to change this to ‘/blog/how-to-add-blog-in-front-of-your-single-post-urls-in-wordpress’. This can be achieved quite easily.

Adding ‘blog’ to your single posts

Firstly, you will want to go to your Permalinks settings (WP Admin → Settings → Permalinks) and select ‘Custom Structure’. It should display your current structure in the text box next to it. Now, add /blog in front of what is in the text box (including the slash in front!). You can change the word blog if you want something different.

Adding /blog/ to your categories and tags

Next, we’ll also add the new base in front of the category and tag URLs. If the text boxes are empty, add this in the Category base: blog/category and this in the Tag base: blog/tag;

And that’s it. Your blogs will now have blog/ in front of them whilst your other pages remain unchanged!

Custom post types

If you are using Custom Post Types (CPT) on your site, you will need to make sure that ‘rewrite with front’ is disabled for each of your post types. Otherwise your custom post type URLs will also get changed to have /blog in-front of them.

If you use a plugin to register your CPT’s, look for the ‘Rewrite‘ option, and make sure that ‘With Front‘ is unchecked. After saving your settings, go back to the Permalinks Settings and click ‘Save Changes’ (this is necessary so that the new links are re-generated).

If this doesn’t work, try also filling out the ‘Slug’ in your post type ‘Rewrite’ settings. Some plugins require this for the ‘With Front’ option to work (and again, save your permalink settings!).

If you have created your own CPT’s in your code, make sure that when registering your post type, you have disabled rewrite with front. As an example, if you had a CPT for Events you will need to add the following code:

'rewrite'	      	=> array( 
	'slug' => 'events',
	'with_front' => false

As always, after making this change, save your permalink settings in WP Admin after changing your rewrite rules!

We hope you found this useful… happy coding!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share

How to stop spam emails coming from WordPress’ Contact Form 7

Receiving lots of spam emails from contact forms on WordPress websites is always a big issue. The most commonly used plugin for WordPress is Contact Form 7, and this is highly targetted by spammers. Spam from contact forms can be a big issue for sites that get a lot of traffic and so, it results in receiving hundreds of spam emails every day. These are inconvenient and it makes it very difficult to spot the genuine messages in between all the spam.

Not only can you receive spam emails, if you have a WordPress Blog, but it will also be quite often the comments within your posts get bombarded with junk as well. Today, we will show you six different methods to reduce/remove spam coming from your WordPress website.

Note; – We don’t recommend using ALL of the methods we are going to list as WordPress websites should be kept clean and shouldn’t be overloaded with several unnecessary plugins. We recommend trialling one or two of the below methods and monitor how much spam you receive after they have been implemented. If one method doesn’t work for you, try another method until you are happy. We would recommend installing Akismet from being with.

1. Using Contact Form 7’s in-built anti-spam measures

You’ll find a lot of articles recommending CAPTCHA and quiz plugins that work with Contact Form 7. Most of these are unnecessary as it’s better to use the features already built into the Contact Form 7 WordPress plugin.


Simple quizzes are becoming a popular way to combat contact form spam. They work by asking the user a simple question such as “Which is bigger, 2 or 8?”. Fortunately, bots can’t answer this question and as a result, only people who enter the correct response can submit the contact form.

To add a quiz, edit your contact form and click the Generate Tag dropdown. Paste the shortcode that appears below into your contact form. It will look something like this:

[quiz capital-quiz "Which is bigger, 2 or 8?|8"]

2. Minimum character count

Sometimes a lot of spam can come from bots that enter text with just 2 digits in a field, usually a number. If all of your spam messages follow an obvious pattern, you can block them by setting up your contact form to block messages that meets the pattern. In this case, we used Maximum and Minimum options in Contact Form 7 to require messages to be more than 20 characters long. Genuine enquires will usually provide more than 20 characters, so this blocks bots without frustrating real users.

The WordPress website featured in this article received a lot of spam contact forms with 2-digit messages – usually a number. I have no idea what they were trying to achieve, but it’s obviously a popular type of spam at the moment.

The Message/Comments field will look something like this:

[textarea* your-message minlength:20 maxlength:500]


Akismet has a great reputation as being one of the best WordPress anti-spam plugins. Not everyone knows that it works with Contact Form 7 as well as blog comments.

Once you have activated the plugin and followed the on-screen instructions to add your API key (free for a non-profit-making website or a small monthly fee for business sites), you need to do a bit of extra config to make it talk to Contact Form 7 which you can read more about here.

In my tests, Akismet stopped about 70% of the Contact Form 7 spam but not all of it. It worked well in conjunction with some of the other solutions mentioned in this article. We no longer received any spam comments within the blog once this was activated as well.

4. Contact Form 7 Honeypot

Contact Form 7 Honeypot is a WordPress plugin that adds a hidden field to your contact form. Real users won’t complete it because the field is invisible. However, bots won’t know this and will fill it in. This allows the plugin to recognise them as bots and block their submission, clever right?

After you have installed and activated the plugin, use the Generate Tag option to create a honeypot shortcode to insert into your contact form. Note; this can be inserted anywhere within the contact form. It will look something like this:-

[honeypot honeypot-401]

5. reCAPTCHA v3

reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take appropriate action for your site.

To set this up, you will first have to register your site on your Google Developers account. For full instructions, you can follow the guide here.

Then on your WordPress site you can go to Contact –> Integrations, all you need to do from here is enter your Site Key and Secret Key provided from your developer account.

6. Really Simple CAPTCHA

The Really Simple CAPTCHA WordPress plugin was created by the developer of Contact Form 7 so they work together seamlessly. The plugin allows you to add a CAPTCHA to your contact form. It’s designed to prevent bots from submitting forms on your WordPress website.

Once you have installed and activated Really Simple CAPTCHA, insert a CAPTCHA tag into your Contact Form 7 form. (Click the Generate Tag dropdown to see the available options and create a customised tag to paste into your form.) It will look something like this:

[captchac captcha-14]

You can find further instructions about this here.

Do note though that CAPTCHAs are becoming slightly old fashioned and are not great for user experience. They also require particular features to be enabled on your server, which may not be in place for your WordPress website.

We would recommend adding a quiz first (see point 1.), and only trying CAPTCHA if this doesn’t work. The two methods basically do the same thing. They prevent automated bots from submitting your website contact form – so you shouldn’t need both.


All WordPress websites receive spam in slightly different ways. What works for one website may not work for another.

When I had to stop Contact Form 7 spam on a WordPress website, we immediately achieved a huge reduction in spam simply by installing Akismet.

We fixed the problem completely by combining Akismet with the Contact Form 7 Honeypot plugin, a quiz and a minimum character count.

If you just want to add one method to reduce Contact Form 7 spam, then we recommend Akismet. This is the best standalone solution as it’s so powerful and comprehensive. You can use it whether you’re a WordPress expert or a beginner. It can make a real difference to your WordPress contact form spam.

If you still receive spam, try the Contact Form 7 Honeypot in conjunction with this, trust us, it will definitely help!


Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development and web site design. His expertise is WordPress & Magento as well as many other frameworks. Would you like to work with Nathan? Send him an email on [email protected]

It’s good to share