Skip to content

Instantly share code, notes, and snippets.

View verygoodplugins's full-sized avatar

Very Good Plugins verygoodplugins

View GitHub Profile
@verygoodplugins
verygoodplugins / wpf-infusionsoft-filebox-files.php
Last active June 25, 2018 17:00
Shows Infusionsoft filebox files for a contact on the admin user profile
<?php
function process_file_download() {
if( ! isset( $_GET['ifs_download'] ) || empty( $_GET['ifs_download'] ) || ! is_user_logged_in() ) {
return;
}
$file_id = $_GET['ifs_download'];
@verygoodplugins
verygoodplugins / wpf-disable-sync-by-role.php
Created July 5, 2018 17:34
Block syncing of user metadata by user role
<?php
// Prevents data from syncing to CRM for users with the role "subscriber"
function block_updates_by_role( $user_meta, $user_id ) {
$user = get_user_by( 'id', $user_id );
if ( in_array( 'subscriber', (array) $user->roles ) ) {
return false;
@verygoodplugins
verygoodplugins / wpf-sync-woocommerce-coupon.php
Created July 6, 2018 14:47
Adds a meta field for wc_coupon and syncs the most recently used coupon to the contact record on checkout
<?php
/*
Plugin Name: WP Fusion - WooCommerce Coupon Sync
Description: Syncs a coupon used at checkout to a custom field on the contact record
Plugin URI: https://verygoodplugins.com/
Version: 1.0
Author: Very Good Plugins
Author URI: https://verygoodplugins.com/
*/
@verygoodplugins
verygoodplugins / wpf-use-names-as-logins.php
Last active July 10, 2018 17:54
Users imported by webhook will have usernames generated from their first and last names, instead of email address
<?php
// Use first name and lastname as the username
function wpf_use_names_as_logins( $user_meta ) {
$user_meta['user_login'] = strtolower( $user_meta['first_name'] . $user_meta['last_name'] );
return $user_meta;
@verygoodplugins
verygoodplugins / wpf-scheduled-tags-resync.php
Created July 9, 2018 13:59
Resync all user tags every Friday
<?php
if ( ! wp_next_scheduled( 'wpf_update_tags_weekly' ) ) {
wp_schedule_event(time(), 'daily', 'wpf_update_tags_weekly' );
}
add_action('wpf_update_tags_weekly', 'do_wpf_update_tags');
function do_wpf_update_tags() {
@verygoodplugins
verygoodplugins / wpf-ontraport-add-new-tags.php
Last active June 4, 2021 10:00
Allows creating tags on the fly in Ontraport, similar to ActiveCampaign and Drip
<?php
function declare_tags_support() {
wp_fusion()->crm->supports = array( 'add_tags' );
add_filter( 'wpf_apply_tags', array( wp_fusion()->crm, 'create_new_tags' ) );
}
@verygoodplugins
verygoodplugins / wpf-sf-instance-url.php
Created September 6, 2018 22:17
Allow editing of Salesforce instance URL
<?php
function add_sf_instance_url( $settings ) {
$settings['sf_instance_url'] = array(
'title' => 'Instance URL',
'desc' => '',
'std' => '',
'type' => 'text',
'section' => 'setup'
@verygoodplugins
verygoodplugins / wpf-api-error-email-notification.php
Created September 13, 2018 16:22
Send an email notification when an API error is encountered
<?php
function wpf_email_notify( $timestamp, $level, $user, $message, $source, $context ) {
if( $level == 'error' ) {
wp_mail( 'youremail@example.com', 'WP Fusion API Error', 'Error message: ' . $message . ' for user ID ' . $user );
}
@verygoodplugins
verygoodplugins / wpf-unlock-for-fb-referral.php
Created September 20, 2018 14:10
Unlock any locked content when visited from a Facebook link
<?php
function unlock_for_fb_referral( $can_access, $user_id, $post_id ) {
if( isset( $_SERVER['HTTP_REFERER'] ) && strpos( $_SERVER['HTTP_REFERER'], 'facebook') !== false ) {
return true;
}
return $can_access;
@verygoodplugins
verygoodplugins / wpf-crm-object-type.php
Last active April 2, 2020 14:26
Change CRM object type for Zoho
<?php
function set_object_type( $object_type ) {
return 'Leads';
}
add_filter( 'wpf_crm_object_type', 'set_object_type' );