Skip to content

Instantly share code, notes, and snippets.

View felipelavinz's full-sized avatar

Felipe Lavín Z. felipelavinz

View GitHub Profile
@felipelavinz
felipelavinz / gist:7d723ab0af82584252cc
Last active August 29, 2015 14:05
entradas publicadas por semana y tipo
SELECT
YEAR( post_date ) AS year,
MONTH( post_date ) AS month,
WEEK( post_date ) as week,
post_type
COUNT(ID) as posts
FROM
wpudd_posts
WHERE
post_status = 'publish'
@felipelavinz
felipelavinz / published-by-month.sql
Last active August 29, 2015 14:05
entradas publicadas por mes
SELECT
YEAR( post_date ) AS year,
MONTH( post_date ) AS month,
COUNT( ID ) as posts
FROM
wpudd_posts
WHERE
post_status = 'publish'
GROUP BY
year, month
jQuery(function($) {
var $control;
mediaControl = {
// Initializes a new media manager or returns an existing frame. ble
// @see wp.media.featuredImage.frame()
frame: function() {
if ( this._frame )
return this._frame;
this._frame = wp.media({
@felipelavinz
felipelavinz / es-posts-mapping.json
Created April 17, 2014 03:45
Ejemplo de definición de mapeo para posts en ElasticSearch
{
"post": {
"properties": {
"author": {
"properties": {
"email": {
"type": "string",
"include_in_all": false
},
"fn": {
@felipelavinz
felipelavinz / academic-programs-query.json
Created April 14, 2014 19:32
Parámetros de búsqueda para ElasticSearch con indicaciones custom de ordenamiento de resultados
{
"query": {
"custom_filters_score": {
"query": {
"bool": {
"must": {
"query_string": {
"query": "ciencias políticas",
"fields": [
"entry_title^10",
@felipelavinz
felipelavinz / ejemplo-proxy-inverso-multisitio.nginxconf
Created March 26, 2014 03:15
Ejemplo de configuración de proxy inverso nginx para mostrar archivos de sitio en producción - WordPress Multisitio con dominios
# Mapeo de blog_id a dominios en producción
# DEBE estar fuera del bloque server
map $blog_id $remote_host {
2 www.foo.com;
3 www.bar.net;
4 www.lorem.org;
5 www.ipsum.ble;
# ... and so on and so on
}
@felipelavinz
felipelavinz / ejemplo-proxy-inverso.nginxconf
Created March 26, 2014 03:06
Ejemplo de configuración de proxy inverso nginx para mostrar archivos de sitio en producción
server {
server_name misitio.local;
root /var/www/misitio.com/htdocs;
# Debes configurar un DNS externo
# En este caso, estoy utilizando uno de los Google
resolver 8.8.8.8;
location ~* ^/wp-content/uploads/(.*)$ {
# comprueba si el archivo existe, de modo que los uploads locales sigan funcionando correctamente
@felipelavinz
felipelavinz / rand-string.php
Created March 20, 2014 03:58
Generar cadenas semi-aleatorias con PHP
<?php
// cuántos bytes deseas generar?
$bytes = 32;
// obtener bytes semi-aleatorios
$rand = openssl_random_pseudo_bytes( $bytes );
// $rand = "óx3OM·¸Z ÅÀKŸÅ7 #õ˜cb4G8Â,7OPc";
// esta cadena puede tener caracteres de control o no representables
@felipelavinz
felipelavinz / jquery.get-next-posts.js
Last active August 29, 2015 13:57
Ejemplo de utilización de la acción wp_ajax para hacer peticiones por AJAX a WordPress
jQuery(document).ready(function($){
var postTemplate = function( post ){
return '<article class="hentry"><a href="#post-'+ post.ID +'">'+ post.post_title +'</a></article>';
}
$('#load-next-posts').on('click', function(){
// la variable ajaxurl debe estar definida y apuntar a wp-admin/admin-ajax.php
// en la data enviada con la petición, el parámetro "action" debe coincidir con la detección de la acción en PHP
$.get( ajaxurl, {
action: 'get_next_posts',
offset: $('.hfeed').find('.hentry').length
@felipelavinz
felipelavinz / ajax-get-next-posts.php
Last active August 29, 2015 13:57
Ejemplo de utilización de la acción wp_ajax para hacer peticiones por AJAX a WordPress
<?php
// para peticiones de usuarios que no están logueados
add_action('wp_ajax_nopriv_get_next_posts', 'ajax_get_next_posts');
// probablemente también vas a querer que los usuarios logueados puedan hacer lo mismo
add_action('wp_ajax_get_next_posts', 'ajax_get_next_posts');
function ajax_get_next_posts(){
// usamos absint() para sanitizar el valor y recibir un int