Skip to content

Instantly share code, notes, and snippets.

View Auke1810's full-sized avatar

Auke Jongbloed Auke1810

View GitHub Profile
@Auke1810
Auke1810 / remove-products-from-queue.php
Last active September 13, 2021 07:53
remove all products in array from feed.
<php?
function remove_some_products_from_the_queue( $products, $feed_id ) {
// Products to remove from the feed
$products_to_remove = array(
'20890',
'20891',
'20972',
);
@Auke1810
Auke1810 / changecsvseparator.php
Created October 17, 2021 09:41
CHange the separator in the custom CSV builder
<?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 / uppercase_words_title.php
Last active November 24, 2021 17:26
Uppercase the first character of each word in the title attribute
<?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 / gist:ba1f71311df86b19b580ff81c5216d25
Last active April 20, 2022 07:02
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.
/**
*
*/
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 / alter-descr-item
Created August 25, 2022 06:36
Strip &nbsp; from description attributes in the woocommerce product feed manager from wpmarketingrobot.com
<?php
function alter_feed_item( $attributes, $feed_id, $product_id ) {
// Strip &nbsp; from description attributes
$attributes['description'] = str_replace('&nbsp;', ' ', $attributes['description']);
// IMPORTANT! Always return the $attributes
return $attributes;
}
@Auke1810
Auke1810 / wppfm_product_category_string_gets_full_category_path.php
Last active September 28, 2022 12:56
If you want to override the Yoast default category to get the full category path of a product in the "product_type" attribute.
<?php
function wppfm_product_category_string_gets_full_category_path( $data, $feed_id, $product_id ) {
$data['product_type'] = WPPFM_Taxonomies::get_shop_categories( $product_id, ' > ' );
// Always return data!
return $data;
}
@Auke1810
Auke1810 / shortcoder support
Created December 24, 2022 16:22
Woocommerce product feed manager snippet so the Shortcoder plugin is supported (https://wordpress.org/plugins/shortcoder/)
function wppfm_shortcoder_support( $attributes, $feed_id, $product_id ) {
if ( has_custom_field( $attributes['description'] ) ) {
$description = $attributes['description'];
$attr = [ 'name' => get_shortcode_name_from_description( $description ) ];
//parse shortcodes do_shortcode
$attributes['description'] = process_product_shortcode( $attr, $description, $product_id );
}
@Auke1810
Auke1810 / wppfm_exclude_product_ids_from_feed
Last active February 2, 2023 16:43
Removes specific products from the feed generation process
// woocommerce product feed manager (www.marketingrobot.com)
// Removes specific products ID's from the feed generation process
function wppfm_exclude_product_ids_from_feed( $products_queue, $feed_id ) {
$products_to_exclude = array(
'20872',
'20875',
'20876',
'20879',
'20883',
'20895',
@Auke1810
Auke1810 / replace Yoast SEO shortcodes in title and description attribuut
Created April 10, 2023 16:17
This snippet replaces Yoast SEO shortcodes ( '%%title%%', '%%sitename%%','%%sep%%') in title and description attribuut
<?php
function replace_yoast_seo_title( $attributes, $feed_id, $product_id ) {
// replace %%title%% with the product title.
$attributes['title'] = str_replace('%%title%%', get_the_title($product_id), $attributes['title']);
$attributes['description'] = str_replace('%%title%%', get_the_title($product_id), $attributes['description']);
// replace %%sitename%% with the site name
$attributes['title'] = str_replace('%%sitename%%', get_bloginfo('name'), $attributes['title']);
@Auke1810
Auke1810 / wppfm_add_product_attributes
Created April 12, 2023 10:55
voeg product attributen toe aan een custom product feed.
function wppfm_add_product_attributes( $attributes, $feed_id, $product_id ) {
$wc_product = wc_get_product( $product_id ); // Get the WC_Product Object
if ( $wc_product instanceof WC_Product_Variation || $wc_product instanceof WC_Product_Variable ) {
$product_attributes = $wc_product->get_attributes(); // Get the product attributes
// Loop through the attributes and add them to the $attributes array
foreach ( $product_attributes as $key => $value ) {
if ( $value ) {
$attributes[ $key ] = $value;