Skip to content

Instantly share code, notes, and snippets.

View lkraav's full-sized avatar
🎯
Focusing

Leho Kraav lkraav

🎯
Focusing
View GitHub Profile
<?xml version="1.0"?>
<psalm
errorLevel="1"
reportMixedIssues="false"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
@lkraav
lkraav / less-rewrite-rules.php
Created May 27, 2020 11:08
Sometimes you don't need all stock rewrite rules
<?php
/*
Plugin Name: Less Rewrite Rules
Plugin URI: https://conversionready.com
Description: Less matching, more speed. Removes "attachment", "feed", "trackback" rewrites.
Author: Leho Kraav
Author URI: https://conversionready.com
Version: 2015.05.01
License: MIT
*/
@lkraav
lkraav / woocommerce-coupons-default-individua-use.php
Created April 8, 2020 08:53
Micro-plugin to make new WooCommerce coupons default "Individual use only" checkbox ON in the editor
/**
* Default coupon editor to enable individual use.
* Avoid stacked coupon discount abuse / admin mistakes.
*
* @see https://gist.github.com/bryceadams/6bb8ff287e1016b933c593d755e25a86
* @since 2020.04.07
*/
add_action( 'woocommerce_coupon_options', static function( $coupon_id, $coupon ) {
if ( 'auto-draft' === get_post_status( $coupon_id ) ) {
$coupon->set_individual_use( true );
@lkraav
lkraav / pods-act-data-save.php
Last active February 14, 2019 08:42
Working with Pods - Advanced Content Types, data save example https://www.meetup.com/Tallinn-WordPress-meetup/events/257955635/
try {
$counts = $client->counts->getCounts( [] );
if ( isset( $counts->type ) && 'count.hash' === $counts->type ) {
$pod_name = 'metric';
$pod = pods(
$pod_name,
diff --git a/embedded/inc/views-templates/wpv-template.class.php b/embedded/inc/views-templates/wpv-template.class.php
index 62586ce..52c2ea4 100644
--- a/embedded/inc/views-templates/wpv-template.class.php
<script>
(function( $, window, document, undefined ) {
/**
* `VariationForm.update_variation_values` can only differentiate
* variations by `value` attributes. Our secondary dimension is
* `data-variation-id`. Memoize original selection here.
*
* @see {@link https://github.com/woocommerce/woocommerce/blob/2.6.14/assets/js/frontend/add-to-cart-variation.js}
* @see {@link https://github.com/woocommerce/woocommerce/issues/12929}
<?php
/*
Plugin Name: Hybrid Core hybrid_locate_template()
Plugin URI: https://github.com/justintadlock/hybrid-core/issues/111
Description: Free yourself from TEMPLATEPATH and STYLESHEETPATH constants
Author: Leho Kraav
Author URI: http://conversionready.com
Version: 2015.06.10
License: MIT
*/
(function(){
// @version 2016.03.11
var experimentID = COPY_PASTE_ID_FROM_URL;
window.optimizely = window.optimizely || [];
// avoid firing in editor
if (window.optimizely.activeExperiments.indexOf(experimentID.toString()) == -1) return;
if (typeof window.optimizely.data.experiments[experimentID] !== 'undefined') {
(function(){
// @version 2016.03.11
var experimentID = COPY_PASTE_ID_FROM_URL;
window.optimizely = window.optimizely || [];
// avoid firing in editor
if (window.optimizely.activeExperiments.indexOf(experimentID.toString()) == -1) return;
if (typeof window.optimizely.data.experiments[experimentID] !== 'undefined') {
<?php
/**
* Gravity Wiz // Require Minimum Character Limit for Gravity Forms
*
* Adds support for requiring a minimum number of characters for text-based Gravity Form fields.
*
* @version 1.0
* @author David Smith <david@gravitywiz.com>
* @license GPL-2.0+
* @link http://gravitywiz.com/...