Skip to content

Instantly share code, notes, and snippets.

View danieliser's full-sized avatar

Daniel L. Iser danieliser

View GitHub Profile
@danieliser
danieliser / helpers.php
Created November 22, 2020 10:00
Extracting shortcodes & attributes from content in WordPress. These helper functions can help extracting shortcodes and their attributes from WordPress content.
<?php
/**
* Extract shortcodes from content.
*
* @param string $content Content containing shortcodes.
*
* @return array Array of shortcodes found.
*/
function get_shortcodes_from_content( $content ) {
@danieliser
danieliser / eddsl-auto-activate.php
Created October 21, 2020 20:22 — forked from zackkatz/eddsl-auto-activate.php
Auto-activate sites on Easy Digital Downloads Software Licensing
<?php
add_filter( 'edd_sl_is_site_active', 'your_namespace_is_site_active_auto_activate_site', 10, 3 );
/**
* Allow active licenses to get updates if they're not at the limit, no matter what.
*
* @param false $is_active
* @param int $license_id
* @param string $passed_site_url
@danieliser
danieliser / force-pm-asset-caching-on.php
Created June 23, 2020 07:52
Force Popup Maker asset caching on.
<?php
add_action( 'wp_enqueue_scripts', 'custom_force_pm_asset_caching', 11 );
function custom_force_pm_asset_caching() {
wp_deregister_script( 'popup-maker-site' );
$cached = get_option( 'pum-has-cached-js' );
if ( ! $cached ) {
PUM_AssetCache::cache_js();
$cached = get_option( 'pum-has-cached-js' );
<?php
function custom_edd_all_access_check_current_download( $download_id = 0 ) {
static $cache = [];
if ( ! isset( $cache[ $download_id ] ) ) {
$cache[ $download_id ] = edd_all_access_check( [
'download_id' => $download_id,
'price_id' => 0,
@danieliser
danieliser / custom-click-block-method.php
Last active June 23, 2020 08:12
Custom click block method for Popup Maker
<?php
add_filter( 'pum_registered_triggers', 'register_cutstom_click_block', 11 );
function register_cutstom_click_block( $triggers = array() ) {
$triggers['click_block']['fields']['general']['requirements']['options']['form_submission'] = __( 'Form Submission' );
return $triggers;
}
function cu_add_custom_popup_js( $js ) {
{
"name": "popup-maker/test-plugin",
"description": "description",
"minimum-stability": "stable",
"require": {
"pimple/pimple": "^3.3"
},
"autoload": {
"psr-4": {
"DLI\\": "src/"
@danieliser
danieliser / Toggle Trigger Highlighting
Last active May 8, 2020 23:30
Bookmarklet to toggle Popup Maker trigger highlighting - Create a new bookmark on your browser toolbar, in the spot for the url, paste the script below. When this bookmarklet is clicked on a page with popup triggers they will all get a flashing yellow highlight until turned off again.
javascript:(function($){ $('style#pum-highlighted').remove(); $('body').append($('<style>').attr('id', 'pum-highlighted').text('.pum-highlighted { background-color: rgba(255, 255, 0, .75)!important; }')); function highlight() { if ($('.pum-highlight').hasClass('pum-highlighted')) { $('.pum-highlight').removeClass('pum-highlighted'); } else { $('.pum-highlight').addClass('pum-highlighted'); } } $('.pum-trigger').toggleClass('pum-highlight'); if (window.pum_bookmark_button_highlighter === undefined) { window.pum_bookmark_button_highlighter = setInterval(function(){highlight()}, 500); } }(jQuery));
@danieliser
danieliser / phpcs.xml
Last active April 24, 2020 04:38
Code Atlantic PHPCS Coding Standards
<?xml version="1.0"?>
<ruleset name="Code Atlantic - Coding-Standards - Short Arrays">
<description>Code Atlantic Coding-Standards, keeping short array syntax.</description>
<!-- Include main ruleset.xml -->
<rule ref="./ruleset.xml"/>
<!-- Use short arrays -->
<rule ref="Generic.Arrays">
<exclude name="Generic.Arrays.DisallowShortArraySyntax.Found" />
var mc1Submitted = false;
jQuery('#mc-embedded-subscribe-form').on('submit reset', function (event) {
console.log(event);
if ("submit" === event.type) {
mc1Submitted = true;
} else if ( "reset" === event.type && mc1Submitted ) {
console.log('success');
}
});
@danieliser
danieliser / calderaforms.ajax-success.js
Last active May 7, 2020 21:39
Caldera Forms doesn't provide any events on the form itself when AJAX is successful (no validation errors). Thus the workaround is to store the form at the last event triggered where it is accessible `cf.ajax.request`, and use it in either the global `cf.submission` or `cf.complete` events.
{
const $ = window.jQuery;
let currentForm, currentFormId;
$(document)
// Before all requests
.on('cf.ajax.request', function (event, obj) {
currentForm = obj.$form;
currentFormId = obj.formIdAttr;
})