Skip to content

Instantly share code, notes, and snippets.

View luistinygod's full-sized avatar

Luis Godinho luistinygod

  • Dekode
  • Porto, Portugal
View GitHub Profile
@luistinygod
luistinygod / tinygod-recover-roles.php
Created May 24, 2020 17:14
WordPress Plugin: Restores all the default roles and caps in the WordPress
<?php
/**
* Recover or Reset the default WordPress user roles and caps
* Install it as a WordPress plugin, activate it and deativate. That's it.
*
* @wordpress-plugin
* Plugin Name: tinyGod Recover User Roles
* Plugin URI:
* Author: luistinygod
* Author URI: https://tinygod.pt
@luistinygod
luistinygod / data-persist.js
Last active February 2, 2020 09:45
Simple Vuex plugin to keep data across pages
const persistInterval = 24*60*60*1000; // 1 day
const plugin = store => {
store.subscribe( ( mutation, state ) => {
// Save to local storage all the changes made in the cart state
if( 'shop/addToCart' === mutation.type || 'shop/removeFromCart' === mutation.type ) {
let record = { data: state.shop.cart, ts: new Date().getTime() + persistInterval };
try {
@luistinygod
luistinygod / featured-posts-pattern-helper-functions.php
Last active June 1, 2018 00:30
WordPress: Manage featured posts using WordPress menus
@luistinygod
luistinygod / cache-patterns-in-wordpress.php
Last active April 30, 2020 04:57
WordPress: Cache patterns for complex queries
<?php
/**
* Retrieve a WP_Query object
*/
function my_complex_query( $refresh = false ) {
$last_changed = wp_cache_get_last_changed( 'my_group_my_post_type' );
$cache_key = 'my_result'.md5( $param1 . $param2 ).$last_changed;
@luistinygod
luistinygod / gv-snippet.php
Last active May 11, 2016 14:35
GravityView: Add multiple og:image tags on the single entry view
<?php
/**
* Displays multiple "og:image" opengraph meta tags according to the single entry available gallery images
*/
function my_gv_add_opengraph_multi_image() {
if( ! function_exists('gravityview_is_single_entry') || ! function_exists( 'gravityview_get_entry') ) {
return;
}
// get single entry id
@luistinygod
luistinygod / redirect.php
Last active April 14, 2022 01:37
GravityView: redirect a user to a different location after updating an entry
<?php
/**
* Redirect the visitor to the single entry view after updating the entry
*/
function my_gv_redirect_after_update_to_single_entry_view( $form, $entry_id ) {
?>
<script>
jQuery(document).ready( function() {
window.location.replace( window.location.href.split('?')[0] );
});
@luistinygod
luistinygod / gravityview-convert-list-of-links-to-anchors.php
Created February 29, 2016 19:17 — forked from zackkatz/gravityview-convert-list-of-links-to-anchors.php
GravityView - Convert links to anchors in List field output
@luistinygod
luistinygod / maps-coordinates.php
Created September 2, 2015 12:32
GravityView Maps Premium View: Specify the Latitude and Longitude form field IDs (to be used instead of the address field)
<?php
/**
* Use the cordinates (Latitude and Longitude) instead of the address to position the markers over the Maps
* Replace 'MY_LATITUDE_FIELD_ID' and 'MY_LONGITUDE_FIELD_ID' by the form field ids containing the latitude and longitude
* @param array $fields Gravity Forms fields IDs containing the latitude and longitude
* @param GravityView_View object $view Current View object
*/
function my_gv_maps_lat_long_fields( $fields, $view ) {
return array( 'MY_LATITUDE_FIELD_ID', 'MY_LONGITUDE_FIELD_ID' );
@luistinygod
luistinygod / grid-view.php
Created August 18, 2015 15:14
GravityView: Convert a list view into a grid style (3-col)
<?php
/**
* Add the `gv-grid` class to the list container
*/
function my_gv_list_container( $classes ) {
return $classes . ' gv-grid';
}
add_filter( 'gravityview/render/container/class', 'my_gv_list_container', 10, 1 );
/**
@luistinygod
luistinygod / gv-success-update-message.php
Last active November 10, 2015 00:54
GravityView: Change the Update Entry success message
<?php
/**
* Change the update entry success message, including the link
*
* @param $message string The message itself
* @param $view_id int View ID
* @param $entry array The Gravity Forms entry object
* @param $back_link string Url to return to the original entry
*/
function gv_my_update_message( $message, $view_id, $entry, $back_link ) {