Skip to content

Instantly share code, notes, and snippets.

View avillegasn's full-sized avatar

Antonio Villegas avillegasn

View GitHub Profile
@avillegasn
avillegasn / one-time-task.php
Last active April 3, 2017 13:01
Schedule a task that executes once in the future at the specified time
<?php
function my_task() {
// Do something. Anything.
}//end my_task()
add_action( 'my_action', 'my_task' );
// Execute my_task one hour from now...
wp_schedule_single_event( time() + 3600, 'my_action' );
<?php
function my_hourly_task() {
// Do something every hour. Anything.
}//end my_hourly_task()
add_action( 'my_hourly_event', 'my_hourly_task' );
if ( ! wp_next_scheduled ( 'my_hourly_event' ) ) {
wp_schedule_event( time(), 'hourly', 'my_hourly_event' );
@avillegasn
avillegasn / custom-admin-logo.php
Last active February 19, 2019 21:21
How to add a custom logo in WordPress login page
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>
@avillegasn
avillegasn / remove-ncshare.sql
Created August 8, 2017 07:27
Remove <ncshare> tags from your WordPress content.
UPDATE wp_posts
SET post_content = REPLACE( REPLACE( post_content, '<ncshare>', '' ), '</ncshare>', '' )
WHERE post_content LIKE '%<ncshare>%'
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}//end if
/**
* Enqueue the block's assets for the editor.
*
* `wp-blocks`: Includes block type registration and related functions.
( function( blocks, components, i18n, element ) {
var el = element.createElement;
blocks.registerBlockType(
// The name of our block. Must be a string with prefix. Example: my-plugin/my-custom-block.
'nelio/testimonial-block', {
// The title of our block.
title: i18n.__( 'Testimonial' ),
edit: function( props ) {
var focus = props.focus;
var focusedEditable = props.focus ? props.focus.editable || 'name' : null;
var alignment = props.attributes.alignment;
var attributes = props.attributes;
var contactURL = props.attributes.contactURL;
var onSelectImage = function( media ) {
return props.setAttributes( {
save: function( props ) {
var attributes = props.attributes;
var alignment = props.attributes.alignment;
return (
el( 'div', { className: props.className },
attributes.mediaURL &&
el( 'div', { className: 'nelio-testimonial-image', style: { backgroundImage: 'url('+attributes.mediaURL+')' } },
el( 'img', { src: attributes.mediaURL } ),
),
el( 'div', { className: 'nelio-testimonial-content', style: { textAlign: attributes.alignment } },
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
<?php
function create_post_type() {
register_post_type( 'recipe',
array(
'labels' => array(
'name' => __( 'Recipes', 'nelio' ),
'singular_name' => __( 'Recipe', 'nelio' )
),
'public' => true,