Skip to content

Instantly share code, notes, and snippets.

View kagg-design's full-sized avatar

Igor at KAGG Design kagg-design

View GitHub Profile
@kagg-design
kagg-design / full_list_of_wp_globals.php
Last active April 2, 2024 06:34
Full list of WordPress global variables, extracted from WP Coding Standards
<?php
/**
* List of global WP variables.
*
* @since 0.3.0
* @since 0.11.0 Changed visibility from public to protected.
* @since 0.12.0 Renamed from `$globals` to `$wp_globals` to be more descriptive.
* @since 0.12.0 Moved from WordPress_Sniffs_Variables_GlobalVariablesSniff to WordPress_Sniff
*
* @var array
<?php
class FooClass {
public static function get_instance() {
static $instance;
if ( ! $instance ) {
$variant = 'A';
@kagg-design
kagg-design / gist:7cbda38a3ce76c0502748f8ddbc9bebe
Created September 5, 2019 07:00
Remove current action or filter from plugin
<?php
/**
* Remove current action or filter from plugin
*
* @param string $class_name Class name enqueueing the action.
* @param null $action_name Action name.
*/
function remove_plugin_action( $class_name, $action_name = null ) {
global $wp_filter;
<?php
/**
* Error-handler to be used as a mu-plugin.
*
* @package kagg/compatibility
*/
// phpcs:disable Generic.Commenting.DocComment.MissingShort
/** @noinspection PhpIllegalPsrClassPathInspection */
/** @noinspection AutoloadingIssuesInspection */
@kagg-design
kagg-design / functions.php
Created April 25, 2020 08:31
wc1c hooks
<?php
/**
* wc1c_import_product_xml hook
* Prevent processing a product if there is no product in database with same SKU.
* If product with the same SKU found in the db, update _wc1c_guid option to allow product update.
*
* @param array $product
* @param bool $is_full
*
* @return null|array
@kagg-design
kagg-design / rest-download-xls.php
Created February 23, 2023 16:06
Download xls file via REST
<?php
add_action(
'rest_api_init',
static function () {
$namespace = 'myplugin/v1';
$route = '/file';
$params = [
[
'methods' => 'GET',
@kagg-design
kagg-design / level_order_traversal.php
Last active January 22, 2023 09:20
Traverse general tree in level order
<?php
/**
* Level order traversal of a general tree.
*
* @link https://www.geeksforgeeks.org/generic-tree-level-order-traversal/
* @package traverse-general-tree
*/
/**
* Node of an n-ary tree.
@kagg-design
kagg-design / stage.yml
Created November 16, 2022 16:45
GitHub action to deploy the plugin to the staging environment on commit to master
name: Deploy to Stage
on:
push:
branches:
- master
jobs:
release:
name: Deploy to Stage
@kagg-design
kagg-design / Turnstile.php
Created October 10, 2022 08:46
Turnstile integration with Quform
<?php
/**
* Turnstile class file.
*
* @package wtei-core
*/
namespace WTEICore;
use JsonException;
@kagg-design
kagg-design / class-wpml-element-translation.php
Created April 24, 2021 15:17
Keep cache size within limit
public function shutdown_action() {
$keys = $this->get_data_keys();
$data = [];
foreach ( $keys as $key ) {
$this->data[ $key ] = isset( $this->data[ $key ] ) ? $this->data[ $key ] : [];
$data[ $key ] = array_replace( $this->data[ $key ], $this->{$key} );
}
wp_cache_set( $this->get_cache_key(), $this->maybe_reduce_cache_size( $data ) );