Skip to content

Instantly share code, notes, and snippets.

Antonio Villegas avillegasn

Block or report user

Report or block avillegasn

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@avillegasn
avillegasn / wordpress-additional-files.php
Created Sep 29, 2016
How to allow uploading additional file extensions in WordPress
View wordpress-additional-files.php
<?php
add_filter( 'upload_mimes', 'my_myme_types', 1, 1 );
function my_myme_types( $mime_types ) {
$mime_types['svg'] = 'image/svg+xml'; // Adding .svg extension
$mime_types['json'] = 'application/json'; // Adding .json extension
unset( $mime_types['xls'] ); // Remove .xls extension
unset( $mime_types['xlsx'] ); // Remove .xlsx extension
return $mime_types;
@avillegasn
avillegasn / gutenberg.js
Last active Oct 9, 2019
Fragments of code to add a custom button to Gutenberg rich text blocks
View gutenberg.js
import ElementIcon from '../images/logo.svg';
const { Fragment } = wp.element;
const { __ } = window.wp.i18n;
const { registerFormatType, unregisterFormatType } = window.wp.richText;
const { RichTextToolbarButton } = window.wp.blockEditor;
unregisterFormatType( 'nelio/button' );
registerFormatType( 'nelio/button', {
@avillegasn
avillegasn / detect-unused-images.sql
Last active Sep 23, 2019
Detect and remove unused images in WordPress
View detect-unused-images.sql
SELECT
*
FROM
wp_posts i
WHERE
i.post_type = 'attachment'
AND
NOT EXISTS (SELECT * FROM wp_posts p WHERE p.ID = i.post_parent)
AND
NOT EXISTS (SELECT * FROM wp_postmeta pm WHERE pm.meta_key = '_thumbnail_id' AND pm.meta_value = i.ID)
@avillegasn
avillegasn / estimar-tiempo-lectura-entrada-wordpress.php
Last active Jul 31, 2019
Código para calcular la estimación de tiempo necesario para leer una entrada en WordPress
View estimar-tiempo-lectura-entrada-wordpress.php
<?php
/**
* Estima el tiempo necesario para leer una entrada en WordPress
*
* @return string
*/
function wpr_estima_tiempo_lectura() {
$entrada = get_post();
@avillegasn
avillegasn / heatmap-hidden.js
Last active Jul 27, 2019
Scripts to play with heatmaps in a web
View heatmap-hidden.js
(function(a,b,c){if(typeof module!=="undefined"&&module.exports){module.exports=c()}else if(typeof define==="function"&&define.amd){define(c)}else{b[a]=c()}})("h337",this,function(){var a={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}};var b=function h(){var b=function d(a){this._coordinator={};this._data=[];this._radi=[];this._min=0;this._max=1;this._xField=a["xField"]||a.defaultXField;this._yField=a["yField"]||a.defaultYField;this._valueField=a["valueField"]||a.defaultValueField;if(a["radius"]){this._cfgRadius=a["radius"]}};var c=a.defaultRadius;b.prototype={_organiseData:function(a,b){var d=a[this._xField];var e=a[this._yField];var f=this._radi;var g=this._data;var h=this._max;var i=this._min;var j=a[this._valueField]||1;var k=a.radius||this._cfgRadius||c;if(!g[d]){g[d]=[];f[d]=[]}if(!g[d][e]){g[d
@avillegasn
avillegasn / my-component.js
Last active Jun 28, 2019
Extending @wordpress/scripts to load SVG files inside JSX files.
View my-component.js
import {
Component,
Fragment,
} from '@wordpress/element';
import Icon from './icon.svg';
class MyComponent extends Component {
render() {
return (
@avillegasn
avillegasn / package.json
Created Jun 3, 2019
Content of package.json file to use @wordpress/scripts package
View package.json
{
"name": "my-wp-plugin",
"version": "1.0.0",
"description": "My WP plugin description",
"keywords": [
"my",
"wordpress",
"plugin"
],
"author": "avillegasn",
@avillegasn
avillegasn / settings-link.php
Last active May 7, 2019
Add a settings link under your plugin title in the list of plugins
View settings-link.php
@avillegasn
avillegasn / only-for-admins.php
Last active Feb 27, 2019
Code snippets to hide/manage routes in WordPress REST API
View only-for-admins.php
<?php
add_filter( 'rest_authentication_errors', function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error( 'rest_not_logged_in', 'You are not currently logged in.', array( 'status' => 401 ) );
}
if ( ! current_user_can( 'administrator' ) ) {
@avillegasn
avillegasn / custom-admin-logo.php
Last active Feb 19, 2019
How to add a custom logo in WordPress login page
View custom-admin-logo.php
function my_login_logo() { ?>
<style type="text/css">
#login h1 a, .login h1 a {
background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/img/nelio-icon.png);
height: 84px;
width: 84px;
background-size: cover;
background-repeat: no-repeat;
}
</style>
You can’t perform that action at this time.