Comenzar un plugin de WordPress

<?php
/**
 * Plugin Name:       Your Theme Core
 * Description:       Core functions
 * Requires at least: 6.6
 * Requires PHP:      7.0
 * Version:           0.1.0
 * Author:            Flavia Bernárdez Rodríguez
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       your-theme-core
 *
 * @package CreateBlock
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/* Add Excerpt in Pages */
function your_theme_core_enable_excerpt_for_pages() {
          add_post_type_support('page', 'excerpt');
}
add_action('init', 'your_theme_core_enable_excerpt_for_pages');

/* Deactivate all images sizes */
add_filter( 'intermediate_image_sizes', '__return_empty_array' );

/**
 * Allow SVG uploads in WordPress
 */
function your_theme_core_allow_svg_uploads($mimes) {
	// Add support for SVG
	$mimes['svg'] = 'image/svg+xml';
	return $mimes;
}
add_filter('upload_mimes', 'your_theme_core_allow_svg_uploads');

/**
 * Check and fix MIME type for SVG
 */
function your_theme_core_check_svg_mime_type($data, $file, $filename, $mimes) {
	$ext = pathinfo($filename, PATHINFO_EXTENSION);
	if ($ext === 'svg') {
		$data['ext'] = 'svg';
		$data['type'] = 'image/svg+xml';
	}
	return $data;
}
add_filter('wp_check_filetype_and_ext', 'your_theme_core_check_svg_mime_type', 10, 4);

/**
 * Fix for displaying SVGs in the Media Library
 */
function your_theme_core_fix_svg_display() {
	echo '<style>
        .attachment-266x266, .thumbnail img {
            width: 100% !important;
            height: auto !important;
        }
    </style>';
}
add_action('admin_head', 'your_theme_core_fix_svg_display');

/**
 * Allow SVG preview in Media Library
 */
function your_theme_core_svg_mime_display($response, $attachment, $meta) {
	if ($response['mime'] == 'image/svg+xml') {
		$response['sizes'] = array(
			'full' => array(
				'url' => $response['url'],
				'width' => $meta['width'],
				'height' => $meta['height'],
			)
		);
	}
	return $response;
}
add_filter('wp_prepare_attachment_for_js', 'your_theme_core_svg_mime_display', 10, 3);

/**
 * Disable JPEG image compression
 */
function your_theme_core_disable_image_compression_quality($quality) {
	return 100; // Set the quality to 100 to disable compression for JPEG
}
add_filter('jpeg_quality', 'your_theme_core_disable_image_compression_quality');

/**
 * Disable WebP image compression
 */
function your_theme_core_disable_image_compression_quality_webp($quality, $mime_type) {
	if ('image/webp' === $mime_type) {
		return 100; // Set the quality to 100 to disable compression for WebP
	}
	return $quality;
}
add_filter('wp_editor_set_quality', 'your_theme_core_disable_image_compression_quality_webp', 10, 2);

¿Te ha gustado?

Tengo una newsletter que alguna vez retomaré y seguramente sea pronto, así que te animo a que te suscribas para enviarte más cositas monas y desafiantes.

Formulario de suscripción

Al darte de alta en mi boletín, me comprometo a:

 1  Hablar de lo que me preocupa en la actualidad cultural y de las cosas con las que estoy disfrutando en ese momento con la intención de que te rumie la cabeza y podamos tener una conversación cultural activa.
 2  Contestarte si me escribes comentando algún tema del tratado en el correo correspondiente.
 3  Poner colorinchis y gifs monis.
 4  No mirar si te das de baja. Esta es una lista que no juzga, simplemente es disfrutona. Tampoco tiene métricas, los correos se envían a través de un servicio de envío de emails de sendgrid pero el sistema de envío es por medio de un plugin que he creado yo en WordPress. No hay proveedores de terceros que me digan «qué correo funciona más». Directamente paso del capitalismo.
 5  De vez en cuando te enviaré cosillas en las que participo u organizo. La mayoría son en Alicante y gratuitas, aunque si hay algo de pago, como un libro o curso o lo que sea, ¡será previamente avisado!

Nombre
Email *

Estos datos los gestiono yo misma, Flavia Bernárdez Rodríguez y están alojados en el servidor de Nicalia (una empresa de hosting sostenible buenísima cuyo datacenter está en España). Usaré los datos para enviarte emails sobre las cosas que hago, organizo o pienso. Te podrás dar de baja cuando quieras, bien cuando te envíe un mail, o bien diciéndomelo por cualquier método de contacto.

Habrás recibido un correo para confirmar tu suscripción

Tuvimos un error, por favor revisa y prueba de nuevo