Skip to content

Instantly share code, notes, and snippets.

View pavr0m's full-sized avatar

Pavel Romanenko pavr0m

View GitHub Profile
/**
* Simplest cookie operations
*/
var simpCookie = {
set: function( name, value, path = '', expires = '', domain = '' ) {
var host, domain, domainParts;
host = location.host;
@pavr0m
pavr0m / shopify_theme_settings_starter
Last active April 8, 2019 13:02
Shopify theme settings starter
[
{
"name": "theme_info",
"logo": "https:\/\/cdn.shopify.com\/s\/global\/branding\/shopify_logo_256x256.png",
"settings": [
{
"type": "header",
"content": "Theme Name"
}
]
{% comment %}
Example of AdWords Purchase conversion tracking code.
Make sure you've already got global AdWords tag installed on the site.
{% endcomment %}
{% if first_time_accessed %}
<!-- Event snippet for Purchase CH conversion page -->
<script>
gtag('event', 'conversion', {
# WP Multisite htaccess file for Apache
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
@pavr0m
pavr0m / phpzip.php
Created March 2, 2020 21:55
Zip files recursively using ZipArchive class
<?php
$rootPath = realpath('folder');
$zip = new ZipArchive();
$zip->open('archive.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
@pavr0m
pavr0m / wp_ajax_callback_template.php
Last active March 12, 2020 13:47
Wordpress template ajax callback
<?php
/**
* Template ajax callback
*/
add_action( 'wp_ajax_callback', 'callback' );
add_action( 'wp_ajax_nopriv_callback', 'callback' );
function callback($a) {
$data = dosomething($a);
@pavr0m
pavr0m / woo_add_coupon.php
Created March 11, 2020 11:28
WooCommerce. Add coupon.
/**
* Add coupon automatically: disabled
*/
add_action('woocommerce_before_checkout_form', 'preorder_coupon');
function preorder_coupon() {
if ( in_array( 'discount', WC()->cart->get_applied_coupons() ) ) {
return;
} else {
WC()->cart->apply_coupon('discount');
@pavr0m
pavr0m / wp_change_text_with_gettext.php
Created March 11, 2020 12:39
Wordpress. Change text using gettext function.
add_filter( 'gettext', 'change_woocommerce_return_to_shop_text', 20, 3 );
function change_woocommerce_return_to_shop_text( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Return to cart' :
$translated_text = __( 'Back to Shop', 'woocommerce' );
case 'Return to basket' :
$translated_text = __( 'Back to Shop', 'woocommerce' );
break;
}
return $translated_text;
@pavr0m
pavr0m / woo_prevent_submit_on_keypress.php
Last active March 12, 2020 13:52
WooCommerce. Checkout form - prevent submit on Enter key pressed.
<?php
add_action( 'wp_footer', 'woo_prevent_submit_on_keypress' );
function woo_prevent_submit_on_keypress() {
ob_start();?>
<script>
jQuery(function($){
$('form.woocommerce-checkout input').keydown(function (e) {
if (e. keyCode == 13) {
e.preventDefault();
@pavr0m
pavr0m / woo_checkout_prevent_scroll_to_notices.php
Created March 12, 2020 14:27
WooCommerce. Checkout - prevent scroll to notices.
<?php
add_action( 'wp_footer','woo_checkout_prevent_scroll_to_notices' );
function woo_checkout_prevent_scroll_to_notices() {
if ( function_exists( 'is_checkout' ) && is_checkout() ) :
ob_start();?>
<script>
jQuery( function($) {
$( document ).ajaxComplete( function() { // prevents woocommerce checkout.js scroll to notices on ajax update