How to Optimize Your WooCommerce Store for Single Product/Item Checkout

The buying process on a WooCommerce store for most goes like this:

  • The user spots a product
  • He adds it to the cart
  • He goes to the checkout page
  • He pays for it

What if we could get rid of the cart altogether and provide a more friendly user experience instead of this Walmart-ish approach? What if the user could simply do like this:

  • Spot a product
  • Click “Buy Now”
  • Pay
Continue reading “How to Optimize Your WooCommerce Store for Single Product/Item Checkout”

How to easily import multiple vCards into Google Contacts

Google Contacts (the old version) allows you to import VCards, but you will have to import them one by one, this is clearly not very practical if you have more than 3 contacts that you want to import (you lazy!). Fear nothing, there is an easy workaround, you’ll merge your vCards before importing them, here’s how you do it. Continue reading “How to easily import multiple vCards into Google Contacts”

How to Add JavaScript to Contact Form 7 events programmatically

Contact Form 7 is probably the most used plugin considering that WordPress official stats rank it 2nd after Akismet which comes bundled with WordPress.

I myself use it a lot, and I had the chance to extend it in different ways depending on my current client needs. The last challenge I had was to add code that runs when the on_sent_ok event is triggered, my client wanted me to add the additional code inside the plugin, so that people won’t be able to remove that code unless they deactivate the plugin.

long story short this is how to do it: Continue reading “How to Add JavaScript to Contact Form 7 events programmatically”

Arabic translation files for WordPress

Wondering why some of the string in the theme or plugin you just translated aren’t found in the .po file or have weird plural form?

This happens a lot because many translators don’t use the right configurations. So besides the search path in Poedit, make sure you have the right configuration for plural forms and keywords list which should be as the following. Continue reading “Arabic translation files for WordPress”

Remove Fields [WP Plugin]

The WordPress plugin Remove Fields main purpose is to help you get more comments to your blog by removing the website field from the comment form, and trust me,  it works, the reason is that a lot of people think that the website field is mandatory, when they see it they will refrain from posting a comment.

What does it do

The most important: It removes the website field from the comment form, which is totally useless in many situations (cooking blog, news website or any other type of websites)

Bonus: The plugin will also get rid of some totally useless fields: AIM, Yahoo IM, Jabber / Google Talk and the Bio section.

After installing the plugin in a client website, the results were amazing, more comments, more interaction with your audience.

Try the plugin now

Install the plugin, rate it and fill free to ask for any feauture you think is missing (like an configuration page).

Heberjahiz réveille-toi on est en 2013

N’achetez surtout pas votre nom de domaine chez Heberjahiz, ne faites pas la même erreur que moi!

Voici mon histoire avec Heberjahiz

Le 11 mai 2013: C’ést un samedi, j’achète un nom de domaine .ma en ligne sur le site de la société, je paye instantanément avec PayPal, après quelques secondes, je reçois des courriels de confirmation de PayPal et d’Heberjahiz, tout ce passe bien mais je remarque quand même des signes alarmants:

  • Le design très pauvre du site qui remonte à l’époque post web 2.0, une ergonomie qui fait défaut et une lenteur des requêtes de recherche
  • Un numéro de téléphone erroné dans l’accusé de réception de paiement PayPal, image:

    Heberjahiz donne un faux numéro de téléphone
    Heberjahiz donne un faux numéro de téléphone

Le 13 Mai 2013 (j+2): Le lundi après-midi j’appelle le 0802 00 2800, numéro surtaxé et ne me demandez pas pourquoi! J’appelle – Je disais – pour voir l’état de ma commande, on me répond d’un ton digne d’un grissoune à la gare d’Ouled Ziane (grissoune: graisseur je pense) et on me dit que le nom de domaine sera disponible dans cinq jours ouvrables. OK ça marche, je m’excuse et merci pour l’info.

Le 15 Mai 2013 (j+4): Deux jours plus tard, un peu impatient, je fais une petite requête whois sur le nom de domaine que j’ai acheté et je remarque qu’il est enregistré au nom de Amine Riadi, “Oh la vache!”, je ne connais pas ce Amine et je ne lui est pas délégué ni vendu mon nom de domaine, bréf, après une petite recherche (Google, Facebook, Linked In etc), il s’est avéré que Amine Riadi est le PDG de Arcanes Technologies. OK, j’appelle encore une fois, on m’informe que Maroc Telecom requiert que tous les noms de domaines soient enregistrés au nom du registraire (Arcanes Technologies dans notre cas).
Serious-Lee! On sait tous que les services de IAM sont lents, mais Amine Riadi n’est pas un registraire.
Revenons à nos moutons, j’informe la personne qui m’a répondu que le whois marocain officiel montre que le nom de domaine est actif, donc qu’on arrête SVP de me dire que c’est la faute à IAM. On me promet alors que les service technique m’everra les données d’accès dans “les plus bréfs délais”.

Le 17 Mai 2013 (j+6): Le vendredi matin, après la prière de Al Fajr j’envoie un courriel à Heberjahiz (commercial@arcanes.com et domaines@heberjahiz.com), là encore, bien sûr, je ne reçois aucune réponse, j’appelle vers 17h pour demander des explications, on me dit: “nous sommes dans les délais”, je demande alors à parler au service technique mais on me repond qu’ils sont injoignables au téléphone, je demande alors à parler à un responsable, on me dit qu’il n’y en a pas. A 17:50, je reçois un message générique me disant que le nom domaine sera activé dans les plus bréfs délais.

Je demande à parler à un responsable, le service commercial répond: “Il n’y a aucun responsable à Heberjahiz”

Le 18 Mai 2013 (j+7): On est samedi, le site est prêt, le client (ma femme) est les fans de sa page Facebook attendent toujours. Je vois que Heberjahiz dors toujours, je fais chauffer un peu le ton et je menace publiquement de monter l’affaire en justice, cela ne semble les déranger guère, puisqu’il n’ont pas répondu, ou peut-être pensent-ils que je les taquinaient.

Le 19 Mai 2013 (j+8): Je contacte le service technique qui me renvoie vers le service commercial, quelle galère! Je ne vous envie pas Heberjahiz.

Le 20 Mai 2013 (j+9): Eh ben, Heberjahiz, on se rappelle de moi! Enfin j’ai accès à nom de domain.

 Le bétisier

Pour garder un peu la bonne humeur, je vous fais part de quelques blagues mediocres que j’ai du supporter durant mes entretiens téléphoniques avec le service commercial:

  • Service commercial: “Vous n’avez pas activé votre nom de domaine”, ah bon! Et comment je fais?
  • Je demande le numéro du service technique, le service commercial me répond: “Le service technique est injoignable au téléphone”, je sous-entends: nous travaillons avec des freelances en Inde.
  • Service commercial: “Il n’y a aucun responsable à Heberjahiz”, zut alors!
  • Service commercial: “Le retard vient de chez Maroc Telecom”, j’aimerais bien vous croire, mais nous savons bien tous les deux que vous mentez, ou pensiez vous que je ne sache pas faire une requête whois?
  • Boucle infini (infinite loop): Appelez le 05 22 49 19 45 › Appelez le 05 22 52 88 68 › Appelez le 05 22 49 19 45, j’ai Phony mais sincérement j’ai pas le temps.

Conseils TRES pratiques

  1. Allez voir ailleurs
  2. Gardez les justificatifs de paiement pour ne pas perdre votre nom de domaine
  3. Demandez que l’enregistrement du whois porte votre nom, je parle de la partie “titulaire”.

Joomla 3.0 – Fix Application Instantiation Error

Everything went smoothly as usual in my local machine, but as soon as I moved the website to the client server, it wouldn’t run normally, instead it gives me the dreaded error message:

Error displaying the error page: Application Instantiation Error

After a small search on Google, I found that all people were saying to check that the database connection credentials were correct in configuration.php, in fact, I’m not new to this thing but I checked again… Continue reading “Joomla 3.0 – Fix Application Instantiation Error”