Skip to content

Instantly share code, notes, and snippets.

View tivnet's full-sized avatar

Gregory Karpinsky tivnet

View GitHub Profile
@tivnet
tivnet / save_post_action_example.php
Last active August 29, 2015 13:56
save_post action example
<?php
add_action( 'save_post', 'tivwp_save_post', 10, 3 );
/**
* Save the selected template info for the particular post
* @param int $post_id
* @param \WP_Post $post
* @param bool $update
* @wp-hook save_post
@tivnet
tivnet / woocommerce_fix_sorting_by_date.sql
Last active August 29, 2015 14:05
WooCommerce: SQL to fix sorting by date
--
-- When the product "post date" is incorrect
-- (for example, as a result of batch import-export)
-- this SQL will fake the date using the post_ID
--
-- @author Gregory Karpinsky, http://www.tiv.net/
-- @version 14.08.19
--
UPDATE wp_posts
@tivnet
tivnet / SearchWP-patch-class.search.php
Created October 30, 2014 12:40
SearchWP - preserve posts_per_page and offset from original wp query
diff -rupN /tmp/searchwp/includes/class.search.php app/plugins/searchwp/includes/class.search.php
--- /tmp/searchwp/includes/class.search.php 2014-09-29 15:37:54.000000000 +0300
+++ app/plugins/searchwp/includes/class.search.php 2014-10-29 14:46:00.003012356 +0200
@@ -284,6 +284,13 @@ class SearchWPSearch {
$this->order = $args['order'];
$this->load_posts = is_bool( $args['load_posts'] ) ? $args['load_posts'] : true;
+ /** CHANGES BEGIN:
+ Check for offset argument, this allows more precise navigation */
+ if( isset( $args['offset'] ) && !empty( $args['offset'] ) ) {
@tivnet
tivnet / meta_box_cb-bug-demo.php
Last active August 29, 2015 14:08
meta_box_cb bug demo
<?php
/**
* Plugin Name: TIVWP Demo 28033
* Plugin URI: https://gist.github.com/tivnet/c99265e4884f7df5cb0f
* Description: Demonstrates WP bug <a href="https://core.trac.wordpress.org/ticket/28033">#28033</a>
* Version: 14.11.02
* Author: TIV.NET
* Author URI: http://www.tiv.net
* License: GPL2
* Copyright 2014 Gregory Karpinsky (tiv.net), All Rights Reserved
@tivnet
tivnet / g2s.php
Created July 3, 2015 11:16
Git to SVN for WordPress
#!/usr/local/bin/php -q
<?php
/**
* Git to SVN
* @author Gregory Karpinsky (@tivnet)
*/
/**
* Default values for $_SERVER, because we run as CLI
*/
@tivnet
tivnet / Xcel.html
Created October 18, 2015 05:06
Xcel.html
<li id="customize-control-wpglobus_xcel-setting-blog-cats" class="customize-control customize-control-text" style="display: block;">
<label>
<span class="customize-control-title">Exclude Blog Categories</span>
<input type="text" class="wpglobus-customize-control" value="" data-customize-setting-link="wpglobus_xcel-setting-blog-cats" id="wpglobus_xcel-setting-blog-cats">
</label>
</li><li id="customize-control-xcel-setting-blog-cats" class="customize-control customize-control-text" style="display: none;">
<label style="display: none;">
<span class="customize-control-title">Exclude Blog Categories</span>
<span class="description customize-control-description">Enter the ID's of the post categories you'd like to EXCLUDE from the Blog, enter only the ID's with a minus sign (-) before them, separated by a comma (,)<br>Eg: "-13, -17, -19"<br>If you enter the ID's without the minus then it'll show ONLY posts in those categories.</span>
<inpu
@tivnet
tivnet / oop-procedural-benchmark.php
Created November 27, 2013 12:35
OOP vs. Procedural PHP Benchmark
<?php
/**
* OOP vs. Procedural PHP Benchmark
* @author tivnet
* @version 13.11.27
* Disclaimer: This is too simple, and does not prove anything. Just forget it. :-)
* My results on PHP 5.4 / Windows 8.1 / Apache 2.4 (all 64 bits, but who cares) :
* first 3 tests: same 3.1 to 3.4; the last test: 5.0 to 5.1
*/
header( 'Content-type: text/plain' );
@tivnet
tivnet / makepot--extract--entry_from_call.php
Last active June 8, 2016 01:48
Makepot: Ignore all strings that are not from our textdomain. `node_modules/grunt-wp-i18n/vendor/wp-i18n-tools/extract.php`
<?php
// .../node_modules/grunt-wp-i18n/vendor/wp-i18n-tools/extract.php
public function entry_from_call( $call, $file_name ) {
/**
* Ignore all strings that are not from our textdomain
*/
if ( $call['args'][ count( $call['args'] ) - 1 ] !== 'my-text-domain' ) {
return null;
}
@tivnet
tivnet / to-folders-by-date.sh
Created July 19, 2016 14:45
Split files into folders by EXIF original date
#!/bin/bash
for f in `find . -name "*.jpg"`; do dd=`exif -t "Date and Time (Original)" --machine-readable $f | cut -f1 -d" " | sed s/:/-/g`; mkdir -p $dd && mv $f $dd/; done
@tivnet
tivnet / a2site.sh
Created March 16, 2017 18:29
A simplified version of a2ensite/a2dissite. Works under Windows with no symlinking.
#!/bin/bash
# A simplified version of a2ensite/a2dissite. Works under Windows with no symlinking.
# Author: Gregory Karpinsky (@tivnet)
if [ ! -d sites-available ]
then
echo "Wrong folder!"
exit 2;
fi