WordPress media library : display image size

I found with great disapointment that my new mac book does not always display image sizes in finder, little goodie that windows does perfectly. Well I don't exactly like the mac/ pc debate and turned to wordpress media library with a little code snippet that displays  a new column with image dimensions, found on the great stackexchange. Good candidate for basic wordpress extension.

add_filter('manage_upload_columns', 'size_column_register');

function size_column_register($columns) {

    $columns['dimensions'] = 'Dimensions';

    return $columns;

add_action('manage_media_custom_column', 'size_column_display', 10, 2);

function size_column_display($column_name, $post_id) {

    if( 'dimensions' != $column_name || !wp_attachment_is_image($post_id))

    list($url, $width, $height) = wp_get_attachment_image_src($post_id, 'full');

    echo esc_html("{$width}×{$height}");


Magento and WordPress integration : custom connection solution

Wordpress has various mega menu possibilities that we integrated in magento

WordPress has various mega menu possibilities that we integrated in magento

Lately we were comparing   ecommerce solutions that we have experienced in various projects : Magento for big and expensive projects versus woocommerce for smaller projects that are bound to expand. A big advantage of wordpress is that it integrates powerful content management and powerful ecommerce solutions within the same platform. And in some cases, Magento solution for e-commerce integrated with wordpress for content management can be the very good solution that takes the best of both worlds.

Today we review solutions that allow reciprocal integration of data between wordpress and Magento.

Basic wordpress content into magento

installing magento extensions require some expertise but is worth the time spent. Integrating wordpress posts into magento pages is easy with the  Magento WordPress Integration extension that fits worpdress post list and content within magento templates.


Global WordPress Magento integration : custom solutions

  • First, you must consider installation on the same server, sharing stylesheets and body elements to have consistency across the whole site : before choosing magento template and wordpress theme, bear in mind that stylesheets and javascript from both themes will be shared.
  • Next step consists of taking wordpress theme elements and sending them to a cache folder for integration in to Magento. We propose to integrate following wordpress elements in Magento
    • Main wordpress menu integration into Magento
    • Widgets elements (footer, sidebar)
    • latest articles

Locomotive CMS

I liked the look and design of a french travel agency website, http://www.doublesens.fr/ : a quick investigation into the inner engine that powers the simple layout , clean drop down menu and wift responsivness led me to LOCOMOTIVE CMS a promising new CMS built on rails and specialized on custom post types. Its website features a nice comparison with best in the world WORDPRESS CMS. One thing is would need though  a good image uploader like wordpress knows !

5 dropbox alternatives.. and wordpress link

Dropbox has made its way as standard way of transferring files to the cloud : we use it extensively and the free package, obviously, has led us to use the paid  extension for extra storage.

For our daily webmasters tasks, linking cloud files to wordpress has never been easier since I discovered a very professional plugin, delivered with a slick interface and full language translations : Out of the box is a dropbox plugin for wordpress : dutch author Floris de LEUUW proved very efficient answering basic coding issues when I tried the sister plugin for google drive "Use Your Drive". I particularly like the gallery feature which allows slick display of images hosted on your dropbox or cloud account.

Exchanging files has become so common that now a lot of alternatives have come up

  • Infinit claims to provide unlimited storage, free : its distinctive feature is a focus on friends and networks
  • Kabuto provides 2gb storage

Paid alternatives for file storage


woocommerce order product list

The latest version of woocommerce adds a feature to the order list  :  the Purchased column describes items purchased for that order : the number of items is displayed and a click on the line displays all order products.Interesting behaviour when there are many products per order : if you have one or two product per average order, it might be better to display everything in the column, to get a whole view of various recent orders , like a sales report:

woocommerce-order-sales-reportthe code is very simple, use the manage_shop_order_posts_custom_column action to add some text to the purchased column :


add_action( 'manage_shop_order_posts_custom_column' , 'po20140324_addColumns_column', 10, 2 );
function po20140324_addColumns_column( $column ) {
 global $post, $woocommerce, $the_order;

    switch ( $column ) {

        case 'order_items' :
            $terms = $the_order->get_items();

	      if ( is_array( $terms ) ) {
             	foreach($terms as $term)
		echo '<br />' . $term['item_meta']['_qty'][0] .' x ' . $term['name'] .'';
              } else {
              	_e( 'No product to display ? ', 'woocommerce' );




A l’heure où internet devient le principal outil pour booster son business, Monsieur Coarasa crée  fin 2011 un site de rencontres entre professionnels IT. Il lance le mois dernier une nouvelle version de sa plateforme, désormais plus simple, plus rapide et plus ergonomique.

« Aujourd’hui, avoir un bon réseau pour s’armer de spécialistes dans son domaine est le meilleur atout pour développer des affaires. D’où l’idée de proposer aux abonnés un libre accès à une base de données de professionnels. Et ceci dans un seul but : Développer leurs affaires au-delà des frontières ».

La société fonde son « Business- Model » sur la création de réseau, qui permet aux acteurs de conclure des affaires directement, sans son intervention et sans la moindre commission. « Le concept d’EurobizIT est simple et entièrement gratuit. Il propose aux inscrits de déposer simplement et rapidement de nouveaux CV et Missions IT. Alors que la concurrence s’affaire à ne couvrir que le marché français, EurobizIT développe une expertise Européenne et couvre ainsi les besoins de ses clients dans toute l’Europe Francophone : France, Belgique, Luxembourg et Suisse ». L’ambition de ce dirigeant est de taille : Devenir une référence Européenne dans les prochains mois. Cependant, cet enjeu est réalisable. Depuis Octobre 2012, le spécialiste des rencontres informatique enregistre une performance croissante sur le marché de la prestation IT. Il compte aujourd’hui parmi ses adhérents 3 5 1 9 Freelances, 1207 SSII et 240 DSI. Fin 2014 – Début 2015, EurobizIT pourrait élargir son intervention à l’ensemble de l’Europe « Les marchés sont demandeurs et friands de la simplicité que leur offre une telle plateforme ».


managing multiple wordpress installations

In a previous article, we took some time to  describe our own hack to provide multiple wordpress installation on a single web host, with multiple databases instead of multiple prefixes.

In this article we describe how to manage multiple wordpress install

http://infinitewp.com/ : a client/ server installation that requires a webhost for the management software and a plugin on each wordpress installation you want to manage. This plugin is free and comes with a lot of features that simplify multiple wordpress website management :
Additional plugin (50$) allows cloning / duplication of a wordpress site


https://managewp.com is a subscription based wordpress management tool

twenty fourteen wordpress theme : remove sidebar

The new twenty fourteen theme that comes with wordpress default installation is a very good responsive theme, than easily be customized to render a CMS website with pages only. But if you want to remove the sidebar you have to manipulate a few files


  • sidebar.php : add "return" at the beginning of the file, after the opening php code, and after the comments
  • style.css : commentline 3914 that adds a left margin the content div when displayed on big screens, and line 3565


Woocommerce : how to choose your theme

There are thousand of free and premium themes available for woo commerce. Before choosing one, make sure you have checked a few important things

  • most professional wordpress / woocommerce themes are responsive : they can display your website in mobile phones. But you do need to check the websites on all formats including IPADS, Iphones, and Android. Prepare a list of all resolutions devices can have, including windows powered phones that can turn out very tricky if someone uses internet explorer (see below)
  • after you have checked the theme on various sizes, check it on various browsers : a wordpress theme that works on Internet explorer 8 is the sign of very good HTML standard compliance, so you need to be able to check on various versions of Internet Explorer, which means many computers available !
  • Have a look at the stylesheet : it should be not too big and include not too many extra useless formatting.  But a good woo commerce theme comes with its own woo commerce stylesheet, and removes the original woo commerce style sheet

WordPress tables with tinymce

If you want to build tables within wordpress there are two options

  • use tinmce advanced with table tools
  • use a plugin

Using a plugin is the option I have chosen, and among many available plugins I have chosen websimon tables because it is quite simple, comes with custom styles including alternate row colors. The only thing is that editable fields are not wysiwyg, which is easily implemented via two basic code modifications that we detail here

in edit_table.php, call the wp_editor function instead of displaying textarea fields :

$settings = array( 'media_buttons' => false , "editor_height"=>100,"textarea_rows"=>2, "width"=>"200","textarea_name"=>'cell' . $cell_counter );
wp_editor( stripslashes($cell[$col_counter-1]),"idcell" . $cell_counter,$settings);


and in shortcode.php, you need to specify a call to the content filter in order to add necessary p and br tags. Job Done !

woocommerce restrict content based on product purchase


  • Sell virtual content  : video access, online course, elearning
  • Create content with wordpress : use custom type content for elearning
  • Create chapters : sell multiple pages / content within on product
  • Easy interface
  • Protect access : only purchasers of content can view
  • Fully integrated within woocommerce


There are many ways to restrict content for customers who have purchased specific products. We have tried virtuoso plugin from Code Canyon without enthusiasm because it bypasses one essential native feature of woo commerce  : downloadable products. Using woo commerce with downloadable products can give your customers access based on what product they have purchased.

We will build our premium content commerce with a specific custom post type that we call "Premium Content". This article describes how to make the content accessible only to customers who have purchased associated products.

it is necessary, if you are selling wordpress content (sell  self hosted videos with woo commerce for example), to block unauthorized access.

  • First step is to configure woo commerce to use redirections for virtual downloadable products : in woo commerce settings page, check

    Downloadable Products / File download method : redirect only

  • Second step is to configure a specific custom post type for restricted content : use the post type url in the product file download section to give access to customers.
  • Third step is to protect the custom post type entries from unauthorized access via some templating code. You have some info on this video, we will be releasing the full code and procedure soon. http://www.youtube.com/watch?v=Ury5dF3mJ9U
  • functions we are developing :
    • woocommerce_customer_can_download_or_view : checks if current page is one of customer's orders products file path(s), using get_downloadable_file_urls
    • woocommerce_get_products_allow_download  : list products that can allow viewing or downloading of this url
    • Widget  that displays all customers downloads


other useful information and tips


other subject

customer submitted product selling http://docs.wedevs.com/woocommerce-downloadable-product/

Expert Woocommerce Book

I am currently writing a book for advanced / expert users who need to go far with WOOCOMMERCE. It will be PDF only and will feature


  • Woocommerce vs magento  vs prestashop
  • Basic plugins we use for wordpress
  • Advanced plugins we use for Woocommerce
  • how we code woocommerce

Woocommerce functions you'll find on the net

  • Multiple site config without wordpress multi user
  • Orders management
    • customer product order display
    • PDF order display

Exclusive woocommerce functions you won't find on the net (yet)

  • Buy incentive to get free shipping


My best (free) mac applications


  • want to record a live video ? try quicktime


  • Synkron - free backup software - tried it without success


  • want to grab jpg instead of png screenshots with cmd alt 4 ? try TinkerTool Preference Pane (TinkerTool is actually for MAC OS 10.9, if you are still on 10.8 be careful to use TINKERTOOL4


  • your mouse is not fast enough ? try MouseZoomX preference panel addon
  • fancy multiple cut and paste memory ? Flycut clipboard manager is your friend. Hey, want to remember images too ? give clipmenu a try
  • nostalgic of the old good httrack Java application that drinks  a whole website to your hard drive ? try Maria

5 flipping book applications

We used Calameo to publish our PDF as flipping books : but it turns out that this solution, while offering hosting services for free can turn out expensive when used on a monthly payment basis, especially when you work with your own dedicated hosting service.

we then looked into HTML 5 systems

  • Digital Brochure seems to bring modern layout look and feel : less details but more design
  • flex paper zine seems to do a good job and has a trial version, but it comes a at higher cost

Woocommerce product admin category persistence

Can be a long task to edit products within woocommerce.

the code below can be integrated in a plugin or within your theme : it will store the last selected product  category filter in the product admin and restore it at next display of product page

add_filter( 'init', 'wpse34956_persistent_posts_list_mode' ,1);
function wpse34956_persistent_posts_list_mode() {

// take into account post types that support excerpts
$post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : '';

if (is_admin() && $post_type=="product")
if ( isset( $_GET['product_cat'] ) ) {
// save the list mode
update_user_meta( get_current_user_id(), 'product_cat' . $post_type, $_GET['product_cat'] );

// retrieve the list mode
if ( $product_cat = get_user_meta( get_current_user_id(), 'product_cat' . $post_type, true ) )
{ $_GET['product_cat'] = $product_cat;}


WordPress drag and drop content management : plugin comparison

I have tested and used Visual Composer for many sites : very efficient drag and drop responsive content manager that integrates within the wordpress page editing screen. Only drawback of this kind of system is that it forces you to use fixed column size : you have the choice of divisions of page, like most responsive grid systems, so you have to accomodate the 1/2, 1/3, 1/4 parts of your page.

On the other hand most of the plugins I've tested  only works from the backend :  first solution below  work from the front end and it's better to visually understand what's going on depending on your layout width. But let's look deeper.

  • WordPress Front end builder incorporates front end editing and mobile / tablet screen display picker which looks like it works with media queries.The row management interface is very intuitive and allows for various content width configuration. wordpress-layout-rows



  • MiniMax Layout Builder  has very slick backend integration, same style as visual composer, with column layout picker for each row :
    • unlike visual composer, Minimax sits within the tinymce framework and as such it is good because it does not surcharge your screen but has the drawback of limiting the editing height to the initial height of the editor. You can have multiple elements in a single column, as illustrated below. Another drawback I found in the demo is the image uploader, old type (pre wordpress 3.5) - Developers can get more technical info on how to  integrate recent wordpress media manager  on shibashake.com
    • Like visual composer, minimax has some sort of templating recording but not as good because it is implemented in the form of locally stored text files



wordpress drag and drop form makers : gravity forms vs ninja forms

I've been using gravity forms for years and have been able to implement many user driven web sites. Now a free competitor to gravity forms has arrived, it's pretty mature and extremely popular (more than 100K downloads on wordpress.com  : enter NINJA FORMS !

  • Gravity forms comes at the price of 39$ per site. Ninja forms is ...free in its full version but a lot of features come as priceable plugins.
  • Ninja forms is very similar to gravity forms:  it features a drag and drop interface for building form fields. But I prefer gravity forms interface, which  is more clear, easier to understand and is more effective at displaying the form parameters.
  • In my case I want to perform user front end post submission : in gravity forms  that's native, with ninja forms you'll have to purchase the front end posting extension at the cost of 39$. Advantage goes to gravity forms who has file upload feature in its native form, whereas ninja forms will cost you another 29$ to get file upload extension
    Note : another form plugin does front end user submission and response editing, formidable pro, at the price of 47$ .
  • entry management is very good in both gravity forms and ninja forms. Gravity forms has a very good interface to let you choose which columns are displayed. Shame the entry date is not selected by default, but overall this feature is better implemented in gravity forms too

Conclusion : I know ninja form is free but extended features will go cheaper with gravity forms