WooCommerce Gift Wrapper Plus Documentation

Installation and Setup

This plugin works in conjunction with WooCommerce for Wordpress. Please note the plugin will function without the license key activated. Activating the license under Settings->Gift Wrapper License will allow your plugin to also seek automatic updates via API. You will need to provide an active license key for plugin support requests.

Once WooCommerce Gift Wrapper is installed and activated on your site, do the following:

1. Start by adding at least one WooCommerce product called “Gift Wrapping” or whatever you desire.
2. Create a unique product category for this/these gift wrapping product(s), and add them to this category. You can view/edit product categories under “Products->Categories”.

Head over to the settings page at yoursite.com/wp-admin/admin.php?page=wc-settings&tab=products&section=wcgiftwrapper

On this page, under “General Gift Wrapping Options,” you should set the category used for gift wrap products. If a product category is not set for wrap display, the plugin will not function.

Also on this page, under “Cart/Checkout Gift Wrapping Options,” you can add links on the Cart and/or Checkout page in case you want customers to be able to add wrap to their order. Options include “before cart,” “after cart” “after coupon/before collaterals,” and “before checkout.” When the prompt for wrap is clicked, the wrap options will open in a slide-out or a Bootstrap modal/pop-up, depending on your settings.

Green Geeks has created a nice overview of basic Gift Wrapper set up, which apply for both the free and paid version of the plugin.

Premium Settings

The premium version of the Gift Wrapper plugin has two settings pages. The second is at yoursite.com/wp-admin/admin.php?page=wc-settings&tab=products&section=wcgiftwrapperproduct This page allows you to decide whether and how to show per-product gift wrap options. There is an option to add per-product gift wrapping in three manners:

1) On the product page as a simple, no-frills “add wrap” checkbox before the “add to cart” button
2) On the product page as a slide-out selection with a description and textarea for customer notes
3) On the cart page per line item, under the product name, as a slide-out or pop-up.

Ultimately, there are a LOT of options for presenting gift wrap to customers using this plugin!

Per-product setting overrides

If you are offering per-product wrapping, you may want to set wrap differently for different products. Visit the product with the wrap you want to edit, and click the Gift Wrapper tab. There you will see the option to override the default/global wrap settings for this product:

woocommerce per product gift wrap settings

With this panel, you can also turn OFF the option to gift wrap certain items even though most other things in your catalog get wrapped. For example, you might not want to gift wrap pianos or refridgerators, just the smaller things.

Translating Details

The Gift Wrapper is fully translation-ready. Many people have written online about how to translate Wordpress plugins, and quite a few plugins exist to assist. Here’s a place to start, with some background and decent advice on how to go about with translating ANY plugin (including this one).

Read below if you prefer to use hooks to just change the wording on some customer-facing strings.

If you are using WPML and struggling to translate the “details” field, it’s because it might be stored in the wp_options database table (if you have been using this plugin since inception). WPML doesn’t peruse these table entries unless asked to. This makes it a little trickier to translate, but not too tricky! Learn how to translate details stored in wp_options using WPML here.

This plugin uses the Bootstrap modal, version 4+. It is lightweight and uses minimal CSS and JavaScript to accomplish modal effects. That said, it can interfere with some themes’ CSS, especially if your theme is already loading Bootstrap or if theme CSS is setting z-index values to <div>s inside the <body> tag. If your site is already experiencing JavaScript errors (check your browser console for errors), the modal may not work. Those errors will need to be cleared up first before this plugin can do its job. Please get in touch if you’re having trouble getting the modal to work.

Using Bootstrap documentation and CSS/HTML, you will be able to adjust styling of your modal ad lib using the plugin’s templating system. For example, you could get a small popup window instead of a large one by editing your modal template (modal.php or modal-product.php depending on modal location, cart/checkout or product page) to use the ‘modal-sm’ instead of ‘modal-lg’ inside the ‘modal-dialog’ <div>. Alternatively, if you’re familiar with WP hook use, you can use the ‘wcgwp_modal_size’ filter hook to change to the ‘modal-sm’ size.

Using Templates

If you would like to change the structure or appearance of gift wrap lists and modals, you can use the Gift Wrapper templating system to do that. You will need to create a folder called woocommerce in a child theme folder. Inside that folder, create another folder called wcgwp. Move any overwritten plugin template files into this wp-content/child-theme/woocommerce/wcgwp folder, and any code changes you’ve made to that new template file will be visible online. Read more information on WooCommerce templating here.

For example, if you wanted to alter and style the modal on a single product page, the template you’d look at is in the woocommerce-gift-wrapper-plus/templates/wcgwp/ folder, called modal-product.php. Copy and move that file to your child-theme-whatever-its-called/wooommerce/wcgwp/ folder. At that point you can make changes to the modal. You will want to make sure you keep the basic Bootstrap modal syntax intact, so that the modal continues to function. Changing modal form input names is also strongly discouraged, as it will also break function. If you have suggestion for DOM items or CSS tags which could help everyone and prevent you from templating, please get in touch.

Keep reading below (under “hooks” ↓) about how to change text using hooks. Editing templates works, but is less future-forward than using hooks. This means that if a parent template is updated/changed by the developer for better function or to fix an issue, and you don’t have time to also fix your template override, you might have problems. Updates to templates ARE announced on your backend with plugin updates, so at least you will have warning.

Available hooks

Filter hook ‘wcgwp_hide_details‘ allows you to hide the gift wrap “details” (explaination) area above the wrap selection and note textarea. Example use (in theme functions.php file, for example):

add_filter( 'wcgwp_hide_details', '__return_true' );

Filter hook ‘wcgwp_change_thumbnail‘ will allow one to change the image size for gift wrap options. Default is “thumbnail.” An example of how to change to another established image size (such as “full”) is as follows:

add_filter( 'wcgwp_change_thumbnail', 'wcgwp_change_thumbnail_full', 10, 1 );
function wcgwp_change_thumbnail_full( $size ) {
    $size = 'full';
    return $size;
}

Filter hook ‘wcgwp_load_replace_wrap_js‘ can be used to stop the JS alert box from showing when only one wrap is allowed in cart and shopper moves to replace existing wrap.

Change gift wrap listing Order & Order by parameters

By default, gift wraps are listed by date posted, newest first. This can be changed with the filter hooks ‘wcgwp_order‘ and ‘wcgwp_orderby‘. For instance if you wanted to re-order them by title A-Z instead of date newest first, you could add the following code to your functions.php file:

add_filter( 'wcgwp_orderby', function() {return 'title';} );
add_filter( 'wcgwp_order', function() {return 'ASC';} );

Learn more about available query parameters here.

Gift wrap name display

Filter hook ‘wcgwp_add_price_to_name‘ allows one to decide if the price will be shown with the gift wrap item.

Filter hook ‘wcgwp_display_item_meta‘ allows one to show price meta in order confirmation, etc.

Filter hook ‘wcgwp_product_name‘ allows one to change the appearance of the gift wrap product name for the simple gift wrap option.

Filter hook ‘wcgwp_add_wrap_prompt‘ allows for changing the “Add gift wrap?” prompt text, when template changes or WP translation can not or will not be used. Similarly, ‘wcgwp_add_wrap_message‘ allows you to change the “Add Gift Wrap Message:” text.

In the following example, the “Add gift wrap?” text is changed to read “Gift wrapping?”

add_filter( 'wcgwp_add_wrap_prompt', 'wcgwp_change_wrap_prompt', 10, 1 );
function wcgwp_change_wrap_prompt( $prompt ) {
    $prompt = 'Gift wrapping?';
    return $prompt;
}

In the following example, the “Add Gift Wrap Message:” text is changed to read “Add a note?”

add_filter( 'wcgwp_add_wrap_message', 'wcgwp_change_wrap_message', 10, 1 );
function wcgwp_change_wrap_message( $msg ) {
    $msg = 'Add a note?';
    return $msg;
}

If you are uncomfortable editing your child theme functions.php file, you can use the plugin “Code Snippets” to add this PHP to your Wordpress installation.

Filter hook ‘wcgwp_line_item_parent_name‘ and ‘wcgwp_product_parent_name‘ allow for altering how a wrap product’s parent product name is displayed in the cart and admin, when wrap is added as its own line item. Associating it with its parent product (the product to be wrapped) helps the customer and admin see the correlation between the two.

Dealing with virtual products

By default, this plugin will hide gift wrapping options if only virtual product is in the cart.

Filter hook ‘giftwrap_exclude_virtual_products‘ allows one to turn off giftwrap offerings when only virtual products are in the cart.

Filter hook ‘wcgwp_virtual_products_only‘ allows one to fool the Gift Wrap plugin into thinking there are or aren’t all virtual products in the cart (when there are). This would cause gift wrap options to show even when you have a cart full of virtual product. Example of use:

add_filter( 'wcgwp_virtual_products_only', '__return_false' );

Filter hook ‘giftwrap_single_virtual_products‘ would allow you to still show gift wrap options for a virtual product. You would change it to true as follows, in your functions.php file (or in a custom plugin):

add_filter( 'giftwrap_single_virtual_products', '__return_true' );

Filter hook ‘wcgwp_remove_cod_gateway‘ would allow you to hide the COD payment option if your cart contains a gift wrap product (this might suggest the cart is a gift, and the recipient shouldn’t have to pay for it). You would change it to true as follows, in your functions.php file (or in a custom plugin):

add_filter( 'wcgwp_remove_cod_gateway', '__return_true' );

There are even more filters which your developer will find digging around the code. Need new hooks or tweaks? Please get in touch – we are happy to help!

Make wrap options visible by default

WooCommerce Gift Wrapper generally keeps the gift wrap options hidden until the customer clicks a prompt. This is because gift wrap takes a good amount of screen real estate, and in many shops, perhaps most, most orders are not gift-wrapped. To have gift wrap (slide-outs, not modal) show by default, try using this CSS:

body .wc-giftwrap .wcgwp_slideout{display:inline-block}

We also recommend overriding the following templates (learn how to do this above ↑):

cart-slideout-js.php (if using wrap in cart area)
checkout-slideout-js.php (if using wrap in checkout area)
slideout-js.php (if using wrap on single product pages)

Just delete the template content between and including . This saves extra, unnecessary JavaScript loading on your pages and also prevents possible errors with orphaned code.

Un-Common Issues

Due to the staggering number of Wordpress themes and individualized shop arrangements, Gift Wrapper could not possibly satisfy everyone out-of-the-box. Sometimes the plugin seems to be missing functionality. Often we find that is because the user’s current theme has removed hooks necessary for plugin functioning. This is a bit beyond our control, but usually a work-around can be found in cooperation with the theme developer.

Gift Wrapper contains a number of highly customizable templates and hooks, which should allow you to achieve your desired results. See above for how to use the templating system to make changes to how gift wrap products are shown.

Bottom line: Using your friendly local Wordpress developer’s services, you can make this plugin look however you need it to look.

More information

More information is available via the FAQ on the free version in the Wordpress repository.

Purchase or renew Woocommerce Gift Wrapper Plus here.

Get in Touch

Questions? Please get in touch.

Please do not use the Wordpress.org forum to seek support for or review this – or any other paid – plugin. That is against Wordpress.org policy, and you will get much faster help if you email us directly. Thank you!