Skip to content

Instantly share code, notes, and snippets.

Avatar

Auke Jongbloed Auke1810

View GitHub Profile
@Auke1810
Auke1810 / gist:ba1f71311df86b19b580ff81c5216d25
Last active Apr 20, 2022
This is an example how to derive Taxonomy data from Wordpress and add this to the product feed created with the Woocommerce product feed manager from wpmarketingrobot.com You will need to edit the variabels in order to make it more readable for your taxonomy.
View gist:ba1f71311df86b19b580ff81c5216d25
/**
*
*/
function wppfm_add_taxonomy_data_to_feed( $data, $feed_id, $product_id ) {
// Get the product_badges taxonomy data.
$taxonomyName = 'product_taxonomy_data'; // use the name of your own taxonomy
$taxonomyData = wp_get_post_terms( $product_id, $taxonomyName );
if ( $taxonomyData ) {
@Auke1810
Auke1810 / uppercase_words_title.php
Last active Nov 24, 2021
Uppercase the first character of each word in the title attribute
View uppercase_words_title.php
<?php
function string_uppercase_title( $attributes, $feed_id, $product_id ) {
// this line changes the title data and removes the " <prompt> " string
$attributes['title'] = ucwords(strtolower($attributes['title']));
// IMPORTANT! Always return the $attributes
return $attributes;
}
@Auke1810
Auke1810 / changecsvseparator.php
Created Oct 17, 2021
CHange the separator in the custom CSV builder
View changecsvseparator.php
<?php
// change the separator in the custom CSV builder from wpmarketingrobot
function change_csv_separator() {
return ';'; //return the separator you want.
}
add_filter( 'wppfm_csv_separator', 'change_csv_separator' );
@Auke1810
Auke1810 / remove-products-from-queue.php
Last active Sep 13, 2021
remove all products in array from feed.
View remove-products-from-queue.php
<php?
function remove_some_products_from_the_queue( $products, $feed_id ) {
// Products to remove from the feed
$products_to_remove = array(
'20890',
'20891',
'20972',
);
View Price including tax.php
<?php
// Price including or excluding tax
function tax_price( $data, $feed_id, $product_id ) {
global $product, $woocommerce;
// Only add this to the feed with id 58
// change the number to the feed you want to affect the prices.
// OR remove the if statement if you want to affect all feeds
if($feed_id == 1){
@Auke1810
Auke1810 / remove_list_products.php
Created Aug 26, 2021
exclude list of products from feed with the use of an array
View remove_list_products.php
<?php
function exclude_list_from_feed( $attributes, $feed_id, $product_id ) {
//Array with the numbers from products we want te exclude
$exclude_array = array(13608, 13632, 16123, 16405);
if (in_array($attributes['id'], $exclude_array,) == false )
{
// Return the $attributes from products not in the exclude list
@Auke1810
Auke1810 / shortcodes_unique_identifiers.php
Last active Mar 9, 2021
Get GTIN or MPN values from products added to products by our product feed manager and create shortcodes to use on website
View shortcodes_unique_identifiers.php
<?php
// MPN shortcode function
function wppfm_brand_shortcode() {
// get MPN value.
//$r = get_post_meta( $post->ID, 'wppfm_product_brand', true );
$r = get_post_meta( get_the_ID(), 'wppfm_product_brand', true );
// return MPN
return $r;
@Auke1810
Auke1810 / roundprice.php
Last active Mar 8, 2022
In this example we changed the price attribute and rounded the price with the round() function.
View roundprice.php
<?php
// Round the price
function round_price( $data, $feed_id, $product_id ) {
// round price.
$round_price = round($data['price'], 2);
// Store the rounded price in the feed price element.
$data['price'] = $round_price;
@Auke1810
Auke1810 / wppfm_xml_element_attribute
Last active Jun 10, 2020
Filternaam: wppfm_xml_element_attribute Drie parameters: attribute_value: dit is de standaard waarde die dus gewijzigd kan worden. Is standaard een empty string. xml_key: dit is de naam van het xml element, dus deze parameter kan worden gebruikt om het gewenste xml element te vinden xml_value: de waarde van het xml element. Dus om een attribute …
View wppfm_xml_element_attribute
Function add_attribute_to_xml_tag( $attribute_value, $xml_key, $xml_value ) {
if ( 'bottles' === $xml_key ) {
return 'size=”750 ml”';
} else {
return $attribute_value;
}
}
add_filter( 'wppfm_xml_element_attribute', 'add_attribute_to_xml_tag', 10, 3 );
@Auke1810
Auke1810 / use_original_description.php
Last active Apr 6, 2020
use the original description without stripping away all the line breaks and paragraph tags from the description field.
View use_original_description.php
// use the original description without stripping away all the line breaks and paragraph tags from the description field.
function use_original_description( $data, $feed_id, $product_id ) {
// Only use the original description in the feed with the given ID (in this case 2)
// remove if you want this for all feeds.
if($feed_id == 2 ){
// Get the product.
$wc_product = wc_get_product( $product_id );