WE CREATE PLUGINS DESIGNED
TO MEET EVERY NEED AND REQUIREMENT.

WooCommerce Linkwise Affiliate Integration

0 ReviewsDeveloped by Web Expert
99,00

WooCommerce Linkwise Affiliate Integration

0 ReviewsDeveloped by Web Expert

WooCommerce Linkwise Affiliate Integration is a must-have tool for any online store that wants to join Linkwise. With WooCommerce Linkwise Affiliate Integration, you submit your products daily to Linkwise, automatically generating the XML that contains all the attributes required by Linkwise to display your store smoothly.

The XML is automatically updated for the addition, deletion and modification of products, without requiring your intervention.
It also integrates sales tracking functionality according to the Technical Tracking Integration Guide, without the need for another plugin.

Features

  • Integrates the Linkwise Pixel feature
  • Provision of conversion tracking
  • Separate variations as separate products
  • Compatibility with all plugin brands 100%
  • Native additional images support with WooCommerce Additional Variation Images
  • Support custom title and custom additional images via simple hook
  • Select description between description/ short description
  • Multiple attributes/ taxonomies for manufacturer, color, size
  • Configuring availability at the variation level
  • Exclude/ Include products by category, tag and attribute
  • Ability to hide unavailable variations
  • Ability to display attributes in the title of variations
  • Possibility to modify product id (for transfers from another e-commerce cms)
  • Correct display of status on pre-ordered products
  • Support custom product ID, custom SKU and custom availability via setting
  • Group variations by size
  • Choose time to regenerate XML (via WP Cron)
  • Support fixed shipping rate
  • Retrieving and displaying the quantity and VAT of the products
  • Show availability for Linkwise
  • Pull and display MPN from default WooCommerce SKU field
  • Creation of an ID/ Barcode field in the settings of the respective product
  • Main Categories Support Rank Math, YOAST and The SEO Framework
  • Ability to refresh XML via real cron via Plesk/ Cpanel or crontab
  • Ability to refresh XML via WP CLI
  • Conforms to all Linkwise specifications
  • Compatibility with Woo Discount Rules by Flycart plugin
  • Dynamic Pricing plugin compatibility & Discounts by RightPress
  • Notify the administrator whenever the XML update fails

The plugin provides filters where you can pass your own values. You can find them below under the “Developers” tab.

Our goal is the optimal operation of your online store and the automation of processes.

If you encounter any issue regarding XML configuration, you can contact us at support@webexpert.gr

Γιατί να διαλέξετε την Web Expert

Quick & instant installation

We undertake to install the plugin immediately from the moment of purchase of the plugin! Contact us to do the installation!

Free support & lifetime automatic updates

Our plugin license includes free updates and lifetime automatic updates without any annual subscription!

Upload & edit licenses at any time

You can find and download the plugin at any time through the account uploads you have created on our site.

Customize products and variations

By installing the plugin, custom fields are created in the product settings from where you can fill in the EAN/Barcode and the availability.

Customizable with code

The plugin provides filters where you can pass your own values.

Linkwise Tracking & conversion tracking

Integrates the sales recording with Linkwise Tracking and conversion tracking.

Product grouping & separation

The plugin groups products by size while separating them by color.

Hide products

Hide products through plugin settings by attribute, category or tag.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Ερωτήσεις

How to install the plugin?

Installing the plugin is a very simple process. First, you need to download the plugin from the Web Expert membership area and save it to your computer. Then, on your website, from the WordPress admin area, go to “Plugins>Add New Plugin” and select “Upload Plugin”. Finally, you select the file you saved on your computer and select “Install Now”. For more information look up the corresponding README file that comes with the plugin or consult the plugin’s documentation.

Is it compatible with brand plugins?

Yes! Most branding plugins primarily use taxonomy to create the brand. In Web Expert Linkwise Affiliate Integration we give you the possibility to define taxonomies as properties. So we cover 100% compatibility with ALL plugins for brands.

Eligible for Linkwise?

We support both platforms. Web Expert aims to provide plugins that work seamlessly with all Linkwise requirements, possibly as soon as a new requirement is released, implemented, tested and released. However, many times its requirements change from store to store. You can contact us at support@webexpert.gr so that we can serve you further.

What can I do if I get an invalid license even though I entered it correctly?

First, you can try to remove the license key from the plugin settings, select save settings, and then enter it again.

In the event that the server that serves you blocks the communication to webexpert.gr, the license check cannot be carried out. You can contact your provider and ask to whitelist our IP addresses: 5.9.116.30 and 5.9.116.27.

Can my products have different availability terms?

Product availability can be set at the variations level. This means you can set different labels (Immediately available, Ship in 1-3 days), even on variations! However, it is not mandatory to define the field at such a depth. If the value is declared as default, it takes the value you selected in the product and correspondingly the plugin settings.

Can I hide some products from XML?

You can set various criteria to hide products, such as category, property or label, and a combination of these. For example, you can hide products that belong to one or more categories, belong to a property and have a specific label.

I have transferred my eshop from another platform and have a different product ID.

To serve the above need, you can declare the custom field that will derive the product ID, either through settings, or through a hook.

In the product code field (SKU) I have the code of my own warehouse and the supplier code in another field. How do I send the correct SKU/MPN?

You are given the ability to define any custom field or property to be printed on the MPN, via a setting or hook.

I have a large amount of data. What can I do?

The WooCommerce Linkwise Affiliate Integration plugin is programmed to generate the XML in its entirety and not in parts. This means it needs memory and power, depending on the products. However, it is built in a way to manage memory properly and has been tested on many providers with simple hosting packages and performs very well. To cover even the most demanding users, it is possible to run it through WP Cron, Scheduled Tasks (Plesk), Cron Jobs (cPanel) and crontab, to minimize memory requirements.

When generating the XML I get Error 500 or a technical problem or the XML says it is invalid.

As mentioned in the previous answer, the Web Expert Skroutz & BestPrice XML plugin is programmed to generate the XML in its entirety, not in parts, and requires memory and power, commensurate with the products. Try raising the PHP memory limit (WP_MEMORY_LIMIT) and max execution time (max_execution_time) on your server. Alternatively you can set the XML update via cron from the server. The commands you will use are mentioned in the next answer.

What can I do if the XML file does not refresh automatically?

You will need to check the operation of WP_CRON.
Alternatively, if you want the XML output via a cron job rather than WP Cron, you need to call the cron.php file:
e.g. php -d /home/domain/public_html/domain.gr/wp-content/plugins/webexpert_linkwise_affiliate_integration/cron.php

*Check the path of the cron.php file on your server

Is it possible to refresh XML via WP CLI?

In case you want the XML to be generated via WP CLI:

wp webexpert-linkwise-xml generate

What is the most likely reason why the XML file is not being created?

The most likely cause of the XML file not being generated is the memory limit compared to the volume of products. Please increase the memory limit, maybe the max execution time of PHP, on the side of the server that serves you.

What should I do if they ask me to see the entire category path?

Our plugin supports Yoast SEO primary category and Rank Math primary category, so it pulls this path from the category you’ve chosen as primary. Otherwise it fetches the first selected class, and if that is a parent, it cannot be seen as a path in the XML file. Alternatively, you will need to have only the final category selected

Why are discounts not showing up in the XML?

If you have passed offers or discounts dynamically (eg using a plugin) they cannot be retrieved from the XML as they are not stored in the database.

Why not set the “any size” option to display in the xml all the properties that participate in the variations?

The “any size” option should not be selected when you wish to display all variation properties. The correct way is to declare all properties on the variations in order for the store to meet Linkwise’s requirements. This is why there is also the size variation field so that it draws the corresponding stock from the size of each variation you have declared. You will need to select “generate variations from all properties” instead.

Which versions of WooCommerce is it compatible with?

Our plugin is compatible from version 6.0.0 and up.

Is it necessary to fill in the Linkwise Product ID?

You can fill in the Linkwise Product ID in case you want to track conversions, alternatively you can leave the “LinkWise Product ID” field to send only the XML of the products.

I have variations that are separated by color and Linkwise asks that they be declared as separate products.

The Web Expert Linkwise Affiliate Integration plugin automatically takes care of separating variations into separate products if it detects color as an attribute. If you have, for example, a blouse in 3 colors, the XML will show 3 products, with their corresponding available sizes.

Προγραμματιστές

If you want XML to output via cron job and not WP Cron, you need to call the cron.php file:

e.g. php -d /home/domain/public_html/domain.gr/wp-content/plugins/webexpert_linkwise_affiliate_integration/cron.php

*Check the path of the cron.php file on your server

The plugin provides filters, where you can pass your own values:

webexpert_linkwise_affiliate_integration_custom_id
webexpert_linkwise_affiliate_integration_custom_product_title
webexpert_linkwise_affiliate_integration_custom_links
webexpert_linkwise_affiliate_integration_custom_image
webexpert_linkwise_affiliate_integration_custom_gallery
webexpert_linkwise_affiliate_integration_custom_categories
webexpert_linkwise_affiliate_integration_custom_description
webexpert_linkwise_affiliate_integration_custom_ean
webexpert_linkwise_affiliate_integration_custom_manufacturer
webexpert_linkwise_affiliate_integration_custom_list_price
webexpert_linkwise_affiliate_integration_custom_price
webexpert_linkwise_affiliate_integration_custom_shipping
webexpert_linkwise_affiliate_integration_custom_sku
webexpert_linkwise_affiliate_integration_hide_certain_product_ids
webexpert_linkwise_affiliate_integration_product_visibility_control
webexpert_linkwise_affiliate_integration_custom_vat
webexpert_linkwise_affiliate_integration_custom_quantity
webexpert_linkwise_affiliate_integration_custom_size_replace
webexpert_linkwise_affiliate_integration_availability
webexpert_linkwise_affiliate_integration_preavailability
webexpert_linkwise_affiliate_integration_noavailability
webexpert_linkwise_affiliate_integration_custom_args
webexpert_linkwise_affiliate_integration_custom_weight
webexpert_linkwise_affiliate_integration_additional_fields
webexpert_linkwise_affiliate_integration_custom_attribute_availiablity
webexpert_linkwise_affiliate_integration_custom_admin_email

The hooks we offer are indicative and need modification. They should be added to the child theme’s functions.php.

For the custom product title (if any)

add_filter('webexpert_linkwise_affiliate_integration_custom_product_title','webexpert_linkwise_affiliate_integration_custom_product_title',10,2);
function webexpert_linkwise_affiliate_integration_custom_product_title($product_title, $product) {
if ($product->is_type('variation')) {
$parent = wc_get_product($product->get_parent_id());
if ($parent) {
$product_title.=($parent->get_attribute('chrwma') ? ' '.$parent->get_attribute('chrwma') : '');
}
}else {
$product_title.=($product->get_attribute('chrwma') ? ' '.$product->get_attribute('chrwma') : '');
}

     return $product_title;
}

To use a custom ID (if available)

add_filter('webexpert_linkwise_affiliate_integration_custom_id','webexpert_linkwise_affiliate_integration_custom_product_id',10,2);

function webexpert_linkwise_affiliate_integration_custom_product_id($product_id,$product) {
     $custom_value=$product->get_meta('_custom_id',true);
     return ($custom_value ? $custom_value : $product_id);
}

To use SKU as ID (if available)

add_filter('webexpert_linkwise_affiliate_integration_custom_id','webexpert_linkwise_affiliate_integration_custom_product_id',10,2);

function webexpert_linkwise_affiliate_integration_custom_product_id($product_id,$product) {
     return ($product->get_sku() ? $product->get_sku() : $product_id);
}

To use a custom SKU (if available)

add_filter('webexpert_linkwise_affiliate_integration_custom_sku','wwebexpert_linkwise_affiliate_integration_custom_product_sku',10,2);

function webexpert_linkwise_affiliate_integration_custom_product_sku($sku,$product) {
     $custom_value=$product->get_meta('_custom_sku',true);
     return ($custom_value ? $custom_value : $sku);
}

To use a custom EAN (if any)

add_filter('webexpert_linkwise_affiliate_integration_custom_ean','webexpert_linkwise_affiliate_integration_custom_product_ean',10,2);

function webexpert_linkwise_affiliate_integration_custom_product_ean($ean,$product) {
     $custom_value=$product->get_meta('_custom_ean',true);
     return ($custom_value ? $custom_value : $ean);
}

To send a manufacturer if it does not exist as an attribute (eg OEM)

add_filter('webexpert_linkwise_affiliate_integration_custom_manufacturer','webexpert_linkwise_affiliate_integration_custom_manufacturer',10,2);
function webexpert_linkwise_affiliate_integration_custom_manufacturer($manufacturer,$product) {
return "OEM";
}

To send a different featured image (if available)

add_filter('webexpert_linkwise_affiliate_integration_custom_image','webexpert_linkwise_affiliate_integration_custom_image_with_acf',10,2);
function webexpert_linkwise_affiliate_integration_custom_image_with_acf($image_url, $product){
     $custom_url = null;
     if (!empty($product->get_meta('linkwise_image'))) {
         $custom_url = wp_get_attachment_url($product->get_meta('linkwise_image'));
     }

     return $custom_url ?: $image_url;
}

To use custom categories

add_filter('webexpert_linkwise_affiliate_integration_custom_categories','webexpert_linkwise_affiliate_integration_custom_mycategories',10,2);

function webexpert_linkwise_affiliate_integration_custom_mycategories($categories,$product) {
     array_unshift($categories, "E-shop");
     return $categories;
}

For the use of custom additional images in variations (varies according to the plugin)

add_filter('webexpert_linkwise_affiliate_integration','webexpert_linkwise_affiliate_integration',10,2);

function webexpert_linkwise_affiliate_integration_custom_gallery($gallery_image_ids,$product) {
     if ( $product->is_type( 'variation' ) ) {
         $colour=get_post_meta($product->get_id(), 'attribute_pa_'.esc_attr( get_option('we_linkwise_affiliate_integration_colour')), true);
         if ($colour) {
             $gallery=get_post_meta($product->get_parent_id(),'_product_image_gallery_pa_'.esc_attr( get_option('we_linkwise_affiliate_integration_colour').'-'.$colour,true));
             if (is_array($gallery)) {
                 $gallery=end($gallery);
             }
             $expl=explode(",",$gallery);
             array_shift($expl);
             return $expl;
         }
         return [];
     }else {
         return $gallery_image_ids;
     }
}

For the use of additional images from the WoodMart theme

add_filter('webexpert_linkwise_affiliate_integration_custom_gallery','webexpert_linkwise_affiliate_integration_custom_gallery_woodmart',10,2);

function webexpert_linkwise_affiliate_integration_custom_gallery_woodmart($gallery_image_ids, $product){
     if ($product->is_type('variation')) {
         if (!empty($product->get_meta('wd_additional_variation_images_data'))) {
             return explode(",",$product->get_meta('wd_additional_variation_images_data'));
         }
     }
     return $gallery_image_ids;
}

To use custom additional images in white, when the main Gallery has unacceptable images, using ACF – Gallery

add_filter('webexpert_linkwise_affiliate_integration_custom_gallery','webexpert_linkwise_affiliate_integration_custom_gallery_with_acf',10,2);

function webexpert_linkwise_affiliate_integration_custom_gallery_with_acf($gallery_image_ids, $product){
     return $product->get_meta('linkwise_gallery') ?: $gallery_image_ids;
}

To hide products without a photo

add_filter('webexpert_linkwise_affiliate_integration_product_visibility_control','webexpert_hide_products_with_no_image',10,2);
function webexpert_hide_products_with_no_image($default,$product) {
     if (empty($product->get_image_id()))
         return false;
     return $default;
}

To display the main language, using WPML

add_filter( 'webexpert_linkwise_affiliate_integration_custom_args', 'show_posts_in_current_lang', 10);
function show_posts_in_current_lang( $args )
{
     global $sitepress;
     $lang='en';
     $sitepress->switch_lang($lang);

     $args['suppress_filters'] = 'false';
     return $args;
}

To display the main language, using WPML (2nd way)

add_filter('webexpert_linkwise_affiliate_integration_product_visibility_control','webexpert_hide_en_language_wpml',11,2);
function webexpert_hide_en_language_wpml($default,$product) {
     $langs=['en'];
     $clang = apply_filters( 'wpml_post_language_details', NULL, $product->get_id() );
     if (in_array($clang['language_code'], $langs)) {
         return true;
     }
     return false;
}

For displaying Greek, using Polylang

add_filter('webexpert_linkwise_affiliate_integration_custom_args','webexpert_linkwise_affiliate_integration_custom_args',99);

function webexpert_linkwise_affiliate_integration_custom_args($args) {
     $args['lang'] = 'el';
     return $args;
}

In case you want to apply different prices (due to VAT and not showing it)

add_filter('webexpert_linkwise_affiliate_integration_custom_pricing','webexpert_custom_price_with_vat',10,2);

function webexpert_custom_price_with_vat($price,$product) {
     switch ($product->get_tax_class()) {
         case "meiwmenos-syntelesths":
             $price=$price*1.17;
         breaks?
         case "mhdenikos-syntelesths":
             // no change
         breaks?
         default:
             // standard rate
             $price=$price*1.24;
     }

     return round($price,2);
}

In case you want to apply your own product hiding criteria (eg products without images) you can use the hook

add_filter('webexpert_linkwise_affiliate_integration_hide_certain_product_ids','hide_products_without_images',99);
function hide_products_without_images($arr) {
     global $wpdb;
     $product_ids = $wpdb->get_col("
         SELECT ID
         FROM {$wpdb->prefix}posts p
         WHERE ID NOT IN (SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_key = '_thumbnail_id')
         AND p.post_type = 'product'
         AND p.post_status = 'publish'
     ");
     return $product_ids;
}

To display custom weight

add_filter('webexpert_linkwise_affiliate_integration_custom_weight','my_custom_weight',10,2);
function my_custom_weight($weight,$product) {
return !empty($product->get_meta('_custom_weight')) ? $product->get_meta('_custom_weight') : $weight;
}

To display weight

 add_filter('webexpert_linkwise_affiliate_integration_custom_weight','my_custom_weight',10,2);
     function my_custom_weight($weight,$product) {
         return 2;
     }

To display a custom price (e.g. increase by 1 euro)

add_filter('webexpert_linkwise_affiliate_integration_custom_pricing','webexpert_custom_price_with_vat',10,2);
 
function webexpert_custom_price_with_vat($price,$product) {
     $price=$product->get_price()+1;
     return round($price,2);
}

To display a custom quantity (eg for quantity 3)

add_filter('webexpert_linkwise_affiliate_integration_custom_quantity','custom_quantity_rule',10,2);
function custom_quantity_rule($default,$product) {
     if ($product->get_manage_stock()===false)
           return "3"?
     return $default;
}

To show/hide products based on your condition (eg products that are on pre-order)

add_filter('webexpert_linkwise_affiliate_integration_custom_args','webexpert_hide_product_on_backorder',11);
function webexpert_hide_product_on_backorder($args) {
  $meta_query[] = array(
  'key' => '_sku',
  'value' => '',
  'compare' => '!=',
  'stock_status' =>'onbackorder',
  );
  return $args;
}

To retrieve product availability from an attribute

add_filter('webexpert_linkwise_affiliate_integration_availability_field','webexpert_custom_attribute_availiablity',10,3);

webexpert_custom_attribute_availiablity($availability,$product,$type) {
     if ($product->is_type('variation')) {
         $parent=$product->get_parent_id();
         if ($parent)
             $custom_availability = $parent->get_attribute('diathesimotita');
     }else {
         $custom_availability = $product->get_attribute('diathesimotita');
     }

     return $custom_availability ?? $availability;
}

To retrieve the description or short description if either is filled

add_filter('webexpert_linkwise_affiliate_integration_custom_description',function($description,$product){
     if (empty($product->get_short_description())) {
         return $product->get_description();
     }
     return $description;
},10,2);

To change the path from which the xml will be output and the name of the XML file

In config.php fill in the following lines:

if (!defined('WE_LINKWISE_AFFILIATE_INTEGRATION_PLUGIN_PATH')) {
  define( 'WE_LINKWISE_AFFILIATE_INTEGRATION_PLUGIN_PATH', "/custom_folder");
}

if (!defined('WE_LINKWISE_AFFILIATE_INTEGRATION_PLUGIN_URL')) {
  define('WE_LINKWISE_AFFILIATE_INTEGRATION_PLUGIN_URL', "https://www.webexpert.gr/custom_folder");
}

To change the name of the XML file, fill in the functions.php of the child theme following hook:

add_filter('webexpert_linkwise_affiliate_integration_custom_filename',function ($default_name){
  return "products.xml";
},10,1);
The products were successfully added to your cart.