Si antes hablaba de una librería que crea thumbs con PHP, ahora comento cómo hacerlo con WordPress, ya que a veces es necesario subir ficheros cuando WP se utiliza para algo más que un simple blog:
// uploadfile tiene el path del fichero subido
// el cuarto parámetro es para que haga crop
$thumb = image_resize($uploadfile, $width, $height, true);
$upload = wp_upload_dir();
$thumburl = str_replace($upload['path'], $upload['url'], $thumb );
Creo que cualquier negocio por Internet debería permitir el pago por PayPal, por ello, los desarrolladores necesitan usar el API de PayPal para facilitar su trabajo. Y mejor si es mediante una clase ya existente. SnPayPalApi es una clase que mediante SOAP nos permite realizar operaciones con el API de PayPal. Nos ayudará a buscar transacciones y obtener el detalle de estas, enviar pagos masivos, reembolsar el pago de transacciones y obtener el balance de una cuenta.
Tengan cuidado que si mal no creo PayPal no permite hacer pruebas, todas las operaciones son reales. SnPayPalApi
Cuando realizamos una petición CURL normalmente usamos el método sencillo: hacer petición, esperar respuesta. ¿Pero que ocurre cuando queremos hacer varias peticiones de forma simultánea? por ejemplo para un crawler o una aplicación parecida. En estos casos tenemos que echar mano de curl_multi_*.
Si nos encontramos en esta situación podemos echar mano de la clase ParallelCurl, que de forma muy sencilla nos ayudará en nuestra tarea:
$pc = new ParallelCurl($max_requests, $curl_options);
// 3 peticiones en paralelo que empiezan simultaneamente
$pc->startRequest($url1, 'on_request_done');
$pc->startRequest($url2, 'on_request_done');
$pc->startRequest($url3, 'on_request_done');
$pc->finishAllRequests();
Últimamente estoy trabajando bastante con Gutenberg, tiene sus cosas buenas y malas. Sea como sea, es el futuro de WordPress, así que toca aprender.
Lo más interesante de todo es poder usar lo que sabía de webpack, React, HMR, … Y para practicar he hecho un plugin que permite añadir snippets de código en los posts usando los bloques de Gutenberg
Para ello uso la librería highlight.js que permite destacar código de forma sencilla. Aquí un ejemplo
// Import CSS.import'./scss/style.scss';
import'./scss/editor.scss';
import icon from'./icon';
import edit from'./edit';
import save from'./save';
import attributes from'./attributes';
import { __ } from'@wordpress/i18n'; // Import __() from wp.i18nexportconst name = 'sentidoweb/snippet';
exportconst settings = {
// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
title: __( 'Snippets editor', 'sw-snippet' ), // Block title.
icon: icon,
category: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
keywords: [
__( 'code', 'sw-snippet' ),
__( 'format', 'sw-snippet' ),
__( 'snippet', 'sw-snippet' ),
],
attributes,
edit,
save,
};
Libpuzzle es una librería para Linux que permite conocer el porcentaje de similitud entre dos imágenes. Además aporta una extensión para PHP que nos permitirá realizar aplicaciones web que comparen imágenes.
Da algunos falsos positivos, pero si se toquetea la configuración se puede solucionar. Libpuzzle
Cuando estamos desarrollando un plugin para WordPress y queremos que la administración del plugin tenga estilos y scripts propios, ya sea para darle cierta interactividad o diseño, o bien podremos incluir los estilos o librerías a pelo en la página del plugin, o bien podremos hacer que WordPress añada lo estilos y los scripts en el head del HTML. Para realizar esto, deberemos utilizar las acciones admin_print_styles y admin_print_scripts:
add_action('admin_print_styles', 'incluir_css');
add_action('admin_print_scripts', 'incluir_script');
function incluir_css() {
echo '';
}
function incluir_script() {
echo '';
}