Hola buenas tardes.
Estamos trabajando en la optimización de nuestro Wordpress y por eso queriamos preguntaros si podriamos prescindir de los siguientes plugins;
Disable WP REST API; ya que tenemos ya instalado el plugin WooCommerce Legacy REST API
Disable Embeds; podriamos introducir algun codigo en el archivo functions o thaccess para prescindir de este plugin?
Page Links To: no entendemos realmente la funcion de este plugin, es verdaderamente importante o imprescindible?
Delete Expired Transients: lo instalamos porque tenemos varios problemas con los transients pero hemos introducido el siguiente codigo en el archivo functions, por lo que os preguntamos si ahora deberiamos desactivar y borrar este plugin y mantener el codigo abajo indicado;
// Función para limpiar transients de WooCommerce caducados
function clean_expired_woocommerce_transients() {
global $wpdb;
// Eliminar transients de WooCommerce caducados
$sql = "
DELETE FROM $wpdb->options
WHERE option_name LIKE '_transient_wc_%'
AND option_name NOT LIKE '_transient_timeout%'
AND option_value < NOW();
";
$wpdb->query($sql);
// Eliminar los tiempos de expiración de los transients de WooCommerce caducados
$sql = "
DELETE FROM $wpdb->options
WHERE option_name LIKE '_transient_timeout_wc_%'
AND option_value < UNIX_TIMESTAMP();
";
$wpdb->query($sql);
}
// Añadir intervalos personalizados al cron
function add_custom_cron_intervals( $schedules ) {
// Añadir un intervalo de 1 hora
$schedules['hourly'] = array(
'interval' => 3600, // 3600 segundos = 1 hora
'display' => __( 'Cada Hora' ),
);
// Añadir un intervalo de 6 horas
$schedules['six_hours'] = array(
'interval' => 21600, // 21600 segundos = 6 horas
'display' => __( 'Cada 6 Horas' ),
);
return $schedules;
}
add_filter( 'cron_schedules', 'add_custom_cron_intervals' );
// Programar un evento de Cron para limpiar transients de WooCommerce cada 6 horas
function schedule_woocommerce_transient_cleanup() {
if ( ! wp_next_scheduled( 'cleanup_woocommerce_transients_event' ) ) {
wp_schedule_event( time(), 'six_hours', 'cleanup_woocommerce_transients_event' );
}
}
add_action( 'wp', 'schedule_woocommerce_transient_cleanup' );
// Asociar la función de limpieza con el evento programado
add_action( 'cleanup_woocommerce_transients_event', 'clean_expired_woocommerce_transients' );
// Desprogramar el evento al desactivar el plugin o tema
function unschedule_woocommerce_transient_cleanup() {
$timestamp = wp_next_scheduled( 'cleanup_woocommerce_transients_event' );
if ( $timestamp ) {
wp_unschedule_event( $timestamp, 'cleanup_woocommerce_transients_event' );
}
}
register_deactivation_hook( __FILE__, 'unschedule_woocommerce_transient_cleanup' );
Muchas gracias por vuestra ayuda
Saludos
Jose Carlos
Contenido solo visible a usuarios registrados
Hola Jose,
El plugin disable embeds no consume muchos recursos, de igual forma puedes verificar si con este codigo functions:
/**
* Disable all embeds in WordPress.
*/
add_action( 'init', function () {
// Remove the REST API endpoint.
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
// Don't filter oEmbed results.
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', function ( $plugins ) {
return array_diff( $plugins, array( 'wpembed' ) );
} );
// Remove all embeds rewrite rules.
add_filter( 'rewrite_rules_array', function ( $rules ) {
foreach ( $rules as $rule => $rewrite ) {
if ( false !== strpos( $rewrite, 'embed=true' ) ) {
unset( $rules[ $rule ] );
}
}
return $rules;
} );
// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}, 9999 );
Con respecto al plugin page link:este plugin te permite hacer que una entrada o página de WordPress enlace a una URL que elijas en vez de a su URL de página o entrada de WordPress. También redirigirá a la gente que vaya a la URL vieja (o “normal”) a la nueva que hayas elegido.
Por último, con respecto al código veo que abriste una nueva consulta sobre esto, así que podemos verlo por allí.
Un saludo
Hola Jose,
Encantados siempre de poder ayudar, nos comentas si podemos cerrar este tema.
Un saludo 🖐️