Skip to content

Instantly share code, notes, and snippets.

View gpbeer's full-sized avatar

German Pichardo Beer gpbeer

View GitHub Profile
@gpbeer
gpbeer / class-migrate-category.php
Last active April 3, 2020 08:45
Migrate terms from old taxonomy to new taxonomy and assign respective posts.
<?php
/**
* Go to /wp-admin/edit-tags.php?taxonomy={initial_tax}&post_type={post_type} and paginate in categories to execute script.
* You can delete this file once it's done
* Class Migrate_Category
*/
class Migrate_Category
{
const TAXONOMY_COLUMN = 'data'; // Column name
@gpbeer
gpbeer / package.json
Created November 29, 2018 07:19
Multisite webpack
{
"name": "multisite",
"copyright": "2018",
"version": "1.0.0",
"dependencies": {
"bootstrap-sass": "^3.3.7",
"jquery": "^2.1.3",
"wp-admin-custom": "4.9.6"
},
"devDependencies": {
@gpbeer
gpbeer / bootstrap-column.twig
Created October 8, 2018 10:13
Acf repeater with dynamique bootstrap columns usint timber
{% set bootstrap_grid_columns = 12 %}
{% set column_class = 'col-sm-'~ bootstrap_grid_columns / post.repeater|length %}
<div class="row">
{% for item in post.repeater %}
<article class="{{column_class}}">
{{ item.title }}
</article>
{% endfor %}
</div>
@gpbeer
gpbeer / first-letter-group.php
Last active July 25, 2021 19:16
PHP Group array by first letter
<?php if (!empty($items)): ?>
<ul>
<?php $current_letter = ''; ?>
<?php foreach ($items as $item) : ?>
<?php $first_letter = mb_substr($item['post_title'], 0, 1, "UTF-8"); ?>
<?php if ($first_letter != $current_letter) : ?><li><?php endif; // group list ?>
<?php if ($first_letter != $current_letter) : ?>
<h2><?php echo $first_letter; ?></h2>
<?php $current_letter = $first_letter; ?>
<?php endif; ?>
@gpbeer
gpbeer / YaostSeo.php
Last active April 15, 2020 07:58
Wordpress Yaost Seo custom functions
<?php
namespace Theme\Plugins;
class YaostSeo
{
public function __construct()
{
// Filter to WPSEO title
add_filter('wpseo_breadcrumb_single_link_info', [$this, 'breadcrumb_clean_pipe'], 10);
@gpbeer
gpbeer / HighLight.php
Last active August 28, 2018 09:56
Twig extension to highlight words common used for wordpress search page
<?php
namespace Theme\Twig;
class HighLight extends \Twig_Extension
{
public function getFilters()
{
return [
new \Twig_SimpleFilter('highlight', [$this, 'highlight']),
@gpbeer
gpbeer / archive.php
Created July 15, 2017 19:38
Timber Taxonomy term list
<?php
$templates = ['views/pages/archive.twig'];
$context = Timber::get_context();
$context['title'] = 'Archive';
// If is Tax 'Type'
if (is_tax('type')) {
// We pass the title
@gpbeer
gpbeer / function.php
Created April 14, 2017 14:49
Wordpress: Get javaScript and Stylesheet files data version for cache busting purposes
/**************************************************
* Get version from source file
***************************************************/
if (!function_exists('get_file_data_version')) :
/**
* @param string $file_path must contain file url
* @return string of version number key.
*/
function get_file_data_version($file_path)
{
@gpbeer
gpbeer / function.php
Last active April 14, 2017 12:54
Cache busting in wordpress wp_enqueue_style main stylesheet with Sass random
/**************************************************
* Enqueue theme scripts
***************************************************/
function enqueue_theme_scripts() {
// Will generate the main stylesheet with a random version everytime the style.scss file is compiled
// (http://www.b.....com/wp-content/themes/my-theme/style.css?ver=1.1.#{$version})
wp_enqueue_style( 'main-stylesheet', get_stylesheet_uri(), false, wp_get_theme()->get('Version') );
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_scripts' );
@gpbeer
gpbeer / gulpfile.js
Last active March 20, 2017 16:08
Gulpfile sass task with multiple themes or directories using merge streams
var gulp = require('gulp');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var plumber = require('gulp-plumber');
var merge = require('merge-stream');
var util = require("gulp-util");
/*************************************