How to create or update a shipping class in Woocommerce

Here’s how to update an existing or create a new shipping class in Woocommerce. This was written for one particular person but may help others.

On the left, hover over Woocommerce and click on Settings:



At the top, find Shipping and click on it – here fourth from the left:



You then land on the Shipping Zones page. To see the existing shipping classes, click on Shipping Classes below the top menu:



That will give you a list of all of the different shipping classes. Clicking edit on that screen doesn’t do much but rename them. To add a new class, use the Add button on the bottom right of the page. To change how much those classes are actually charging, go back to the Shipping Zones page, then click on one of the Zone Names.



In this case there’s only one option, so hover over USPS and Edit will appear beneath it. Click on that.



Copy the syntax from an existing one and change the figure if desired. [qty] stands for quantity – so if multiple items are ordered it will charge the $$ figure once per item. If you just want it to charge the shipping fee once just put a single dollar figure in with no * or [qty].

Once you are done hit Save Changes at the bottom right.

Want to change the same class for another country? Head back out to the Zones and repeat the process for each zone.

Adding new products in Woocommerce

Here’s how to add a new product in Woocommerce.

On the Dashboard, on the left hand side, hover over Products and click on Add New:





Fill out the Product Name at the top and then write a description in the white box below:





Scroll down:





Make sure you fill out the Regular Price and select a category on the right hand side.



Once you have done that, click on the Inventory tab on the left to mark it as being in stock or out of stock. Then click on Shipping, fill out the weight and dimensions, then select a shipping class. The latter dictates the shipping rates.



Once you have done that, on the lower right select “Set Product Image”;





From there, drag and drop your desired product image into the screen and it’ll upload it. Once that is done, click on the blue button in the lower right hand corner to set the product image.



This is just one image and it’ll be the main product image – if you want to have a gallery of images you can set that after you set the individual product image. Once back on the main product page, select Add Product Gallery Images to add multiple images.



Once you have done all that, scroll back up and hit Publish – blue button on the right hand side – and the product will be live.

I hate the new Photos app in iOS 13 – how can I put it back to the way it was?

I can’t stand the new Photos app – I just want a grid back! Here’s how to get it back to the way it was.

In the Photos app, click on “All Photos” in the lower right.

Once you’re there – and it should look a bit closer to the old app now – click on the +/- in the top right hand side.

Hit – to increase the number of photos on your screen at once, and + to decrease it.

By doing this you can put it back pretty close to how it was – much more useful for rapidly skimming through photos, in my opinion. The new update may have made it prettier but it made it less useful in the process for those who need to skim back through hundreds or thousands of photos to find one specific shot.

Programs used before

This is a note to myself as much as anything; GMvault – used to back up gmail accounts. Very useful Imapsync – used to transfer emails from one gmail account to another. Very handy when closing an account Logstalgia – used to visualise logs. Can install on MacOS and watch logs on other systems

Easiest way of upgrading or updating Mediawiki version on Debian/Ubuntu/etc.

So far this is the easiest way I have found to update Mediawiki. This presumes SSH access.   Back up your database and files first!  
cd
wget https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz
(if going for another version, replace with the appropriate link)
tar -xvzf mediawiki-1.31.1.tar.gz
cp -rf mediawiki-1.31.1/* /var/www/YOURSITE
If your sites are stored elsewhere, replaces /var/www/YOURSITE with whatever the path name is. Copy with the rf flags forces over-write and copies recursively.
Visit https://yoursitename/mw-config/ in your browser
Follow the instructions from there – you will need the upgrade key from your existing LocalSettings.php file, which should be found in your existing Wiki directory via:

cat LocalSettings.php | grep -A 2 key

 

Can you make Atom autocomplete or autoclose like Sublime Text does?

I spent a lot of time in text editors and have been using Sublime Text for years; Atom recently caught my attention as a completely free alternative (though Sublime’s trial period is currently unlimited…) that has a huge community behind it and good support.   One of the biggest things that I found off-putting was the lack of autocompletion – or autoclose a tag – via typing a </ – something I had gotten rather used to in Sublime which does that by default.   Turns out that one of the best bits of Atom is the packaging system, and there is a package for that. It’s called Less Than Slash and can be installed from the Atom package manager which comes with it (open it with CMD+, on a Mac).   Ten seconds later the package is installed and I have my autocomplete back! Happy camper.

WHMCS cron job says ioncube not installed despite ioncube being installed

This issue drove me batty for an hour – after installing WHMCS with PHP’s Ioncube extension installed successfully the cronjob required by WHMCS would not run, complaining about Ioncube not being installed. Yet php -v showed that it was in fact installed.   What gives?   Turns out that Ioncube had been enabled for PHP-FPM in the following directory:  
/etc/php/7.0/fpm/conf.d/
  …but had not been enabled in this directory also:  
/etc/php/7.0/cli/conf.d/
  …which is another directory that needs the same config file in. In my server’s case the config file was named 00-ioncube.ini and consisted of the following:  

zend_extension = “/usr/lib/php/20151012/ioncube_loader_lin_7.0.so”

  And with that, voila, cron job works. Can’t get that hour of my life back, though.   Update: For the php7.1 servers the zend_extension line read:  

zend_extension = “/usr/lib/php/20160303/ioncube_loader_lin_7.1.so”

WooCommerce Variable Products all showing out of stock: Sorry, this product is unavailable. Please choose a different combination.

I must have spent hours today trying to fix a problem with Woocommerce – no matter which way I set up a variable product it always showed as out of stock no matter which combination of options I selected. The error message was:  
Sorry, this product is unavailable. Please choose a different combination.
  Very frustrating. The problem in the end? I had not yet set prices for all of the variable products. To resolve this go to Product -> Variations -> click on the dropdown box which defaults to “Add Variation” -> Set Regular Prices -> click Go.   Hopefully that’s all it takes to fix your problem too. I was installing custom PHP snippets to try and resolve this issue and going down all sorts of wrong paths when I had simply neglected to take note of which fields were required.

How do you check website links and jpgs etc. recursively?

LinkChecker is a great way of doing this;   http://wummel.github.io/linkchecker/   Other people’s sites may have robots.txt files that prevent you from using this tool on their sites but it’s darn handy for pulling up broken links on your own sites. This is a valid alternative to the Integrity tool on Mac if you’re comfortable with the command line and piping the output to a CSV file etc.    

Importing a MySQL database with a new name where the original still exists

So you want to export your MySQL database then import it on the same server with a new name.   I tried this several times and using the SOURCE command inside MySQL or just mysql -p < db.sql both resulted in the database re-importing over the original name.   To fix that run:
sed -i 's/OLDDATABASENAME/NEWDBNAME/g' mysqldumpFile.sql
Then run:  
mysql -p

create NEWDBNAME;

use NEWDBNAME;

SOURCE /path/to/sql/file
  No need for a semicolon on the last line.   Then check the success by:  
show tables;