Skip to content

Instantly share code, notes, and snippets.

View Auke1810's full-sized avatar

Auke Jongbloed Auke1810

View GitHub Profile
<?php
function add_availability_date_when_backorder( $attributes, $feed_id, $product_id ) {
$wc_product = wc_get_product( $product_id ); // Get the WC_Product Object
if ($wc_product->is_on_backorder() ) {
// add availability_date attribute
$attributes['availability_date'] = gmdate( 'c', strtotime( '+7 days' ) );
}
@Auke1810
Auke1810 / product_old_new.php
Last active May 1, 2023 12:38
Fill in the custom_label_0 with new if the product is created within 10 day's from now.
<?php
function product_old_new( $attributes, $feed_id, $product_id ) {
global $product;
// Get product creat
$product = wc_get_product( $product_id );
$product_created = strtotime($product->get_date_created());
// Calculate the date 10 days ago
@Auke1810
Auke1810 / set_batch_time.php
Last active October 26, 2023 12:28
Change batch time
function set_batch_time( $batch_time ) {
// the default batch time limit is set to 30 seconds.
// It means that each 30 seconds a new batch is started or when 90% of the max memory limit is reached.
// use the below time to change the default 30 second limit.
return 20;
}
add_filter( 'wppfm_default_time_limit', 'set_batch_time' );
@Auke1810
Auke1810 / unique-identifiers-quick-edit.php
Created December 15, 2023 19:49
Adding the WooCommerce Product Feed Manager Unique Identifier fields to the Quick Edit screen.
<?php
// These functions will be added natively to our product feed manager plugin from version 3.2.0
function wppfm_show_quick_edit_custom_fields() {
if ( function_exists('wppfm_create_gtin_wc_support_field' ) ) {
// Add the Brand field.
woocommerce_wp_text_input(
array(
@Auke1810
Auke1810 / htaccess stop csv from being caches.txt
Created April 25, 2024 07:35
Stop .csv files from being stored and cached
<FilesMatch "\.(csv)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>
@Auke1810
Auke1810 / wppfm_generate_product_detail_attribute.php
Last active June 4, 2024 07:25
Populate the <g:product_detail> attribute with the product variation details automaticaly.
function wppfm_generate_product_detail_attribute($attributes, $feed_id, $product_id) {
$product = wc_get_product($product_id);
if (!$product) {
return $attributes;
}
$attribute_names = [];
$attribute_values = [];
@Auke1810
Auke1810 / dynamic-google-campaign-url
Last active November 8, 2024 10:33
Dynamic google campaign url
<?php
/*
* With the next function you can use shortcodes in the "Google Campaign URL Builder" settings of a product feed
* created with the WooCommerce Product feed manager from wpmarketingrobot.
* supported shortcodes:
* [product-title] replaced with the product title
* [product-id] replaced with the post ID
* [product-sku] replaced with the product sku
* [product-group-id] replaces with the data from the product_group_id attribute
* [product-brand] replaces with the data from the brand attribute
<?php
// OPTIONAL: disable WooCommerce's built-in product schema to avoid duplicates
// add_filter('woocommerce_structured_data_product', '__return_false', 9999);
add_action('wp_head', 'my_add_product_structured_data', 99);
function my_add_product_structured_data() {
if ( ! is_product() ) {
return;
}