Skip to content

Instantly share code, notes, and snippets.

View alewolf's full-sized avatar

Aleksandar alewolf

View GitHub Profile
<?php
/*
* Keywords: freemius, readme.txt, changelog, free version, pro version
*
* Description: This code takes a readme.txt of a WordPress plugin, that has been prepared for deployment
* over freemius, and generates a changelog text output with the changelog for the free and one for the pro version.
*/
$source_file = '../src/readme.txt';
<?php
// https://stackoverflow.com/a/2031935/4688612
// https://stackoverflow.com/q/67277544/4688612
protected function get_visitor_ip(): string
{
$proxy_headers = [
'HTTP_CF_CONNECTING_IP', // Cloudflare
'HTTP_TRUE_CLIENT_IP', // Cloudflare Enterprise
'HTTP_INCAP_CLIENT_IP', // Incapsula
/**
* HubSpot custom code action
*
* Capitalizes the first letter of every part of a contact's first name, last name, address and city.
*
* Can easily be configured to update any other contact property.
*
* Examples:
* - john -> John
* - DOE -> Doe
@alewolf
alewolf / wooptpm_order_items_1.php
Created July 21, 2021 12:44
remve an order item if it's value has been discounted to 0
<?php
// The product ID must be changed and must match the specific product that you want to be removed
add_filter('wooptpm_order_items', function ($order_items, $order){
foreach($order_items as $item_id => $item ){
$product = $item->get_product();
if($product->get_id() === 14 && $item->get_total() == 0) unset($order_items[$item_id]);
@alewolf
alewolf / wooptpm-add-custom-dimensions-to-ga-ua.php
Last active August 3, 2021 09:17
add custom dimensions to Google Universal Analytics in woopt WooCommerce Pixel Manager
<?
add_filter('wooptpm_ga_ua_parameters', function ($analytics_parameters, $analytics_id){
$analytics_parameters['custom_map'] = [
'dimension1' => 'ecomm_prodid',
'dimension2' => 'ecomm_pagetype',
'dimension3' => 'ecomm_totalvalue',
];
return $analytics_parameters;
@alewolf
alewolf / wooptpm-add-custom-dimensions-event-for-ga.php
Created August 3, 2021 09:32
create an event for Google Analytics custom dimensions in woopt WooCommerce Pixel Manager
<?
add_action('wp_head', function () {
?>
<script>
jQuery(document).on('wooptpmAddToCart', function (event, product) {
gtag('event', 'add_to_cart', {
"send_to" : wooptpmDataLayer.pixels.google.analytics.universal.property_id, // this is important to scope it to only GA UA and not send it to other properties
'ecomm_prodid': product.dyn_r_ids[wooptpmDataLayer.pixels.google.analytics.id_type], // you must make sure that the same ID type is being used for GA and Google Ads
'ecomm_pagetype': wooptpmDataLayer.shop.page_type,
// First you'll need to load the gtag.js library
function load_library(){
echo '<script async src="https://www.googletagmanager.com/gtag/js?id=GA_UA_PROPERTY_ID"></script>';
}
// Then output the conversion tracking scripts
// The Google Ads conversion ID must include the "AW-" in front of the number
function (response)
(function(){
try {
let observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.attributeName === "class") {
let attributeValue = jQuery(mutation.target).prop(mutation.attributeName);
if (attributeValue.includes('disabled')) {
jQuery('.fs-modal').find('.button-deactivate').removeClass('disabled');;
}
}
@alewolf
alewolf / wpm_google_ads_conversion_identifiers.php
Last active February 1, 2022 11:01
add conversion identifiers to the Google Ads pixel output
<?php
/*
* Since version 1.8.2 of the plugin.
*
* This filter will add aditional conversion ID and label pairs to the output
* of the Google Ads pixel.
*
* It will add the output to every page with the Google Ads remarketing pixel,
* including the purchase confirmation page.
<?php
/**
* Track ViewItem events in Facebook using the WooCommerce Pixel Manager
* Add this to functions.php
*/
add_action('wp_footer', function (){
?>
<script>