Pregunta sobre Autoptimize de Wordpress:

Etiqueta de estilo de cuerpo

Un usuario preguntó 👇

Hola,

Gracias por este útil plugin, utilizo un plugin que genera múltiples etiquetas de estilo en un cuerpo que se consideró «Error W3C: el estilo del elemento no está permitido como un elemento secundario del cuerpo del elemento en este contexto». Espero combinar el CSS en línea en archivo. o combinar al menos una etiqueta de estilo y cambiar la configuración a esa, pero incluso cuando hice estas opciones de optimización de CSS y HTML, las etiquetas de estilo todavía están en el cuerpo.

Es un asunto urgente para mí, espero su apoyo, gracias.

(@optimizingmatters)

Hace 1 año, 7 meses

probablemente porque el CSS en línea es compatible con las cadenas de exclusión optimizadas de CSS, ¿quizás intente cambiarlas?

espero que esto ayude, honestamente

(@ hajar2901)

Hace 1 año, 7 meses

¿Dónde puedo encontrar «cadenas de exclusión optimizadas para CSS» para ellos, puede explicar más o darme un ejemplo?

(@optimizingmatters)

Hace 1 año, 7 meses

seguro; settings -> autoptimize -> js / css / html -> desplácese hacia abajo hasta CSS y luego vea «Excluir CSS de Autoptimize».

(@ hajar2901)

Hace 1 año, 7 meses

Utilizo esta función para eliminar comentarios y escribir «javascript / css» y creo que por eso autoptimizar ignora una etiqueta de estilo, compruébalo y dime cómo puedo usarlo autoptimizar, Gracias.

function callback($buffer){ 
    $find = array('/<!--(.|s)*?-->/', "%[ ]type=['"]text/(javascript|css)['"]%");
    $buffer = preg_replace($find, '', $buffer); return $buffer; 
}
function buffer_start(){ ob_start("callback"); }
function buffer_end(){ ob_end_flush(); }
add_action('get_header', 'buffer_start');
add_action('wp_footer', 'buffer_end');

add_action('wp_loaded', 'output_buffer_start');
function output_buffer_start() { ob_start("callback"); }
add_action('shutdown', 'output_buffer_end');
function output_buffer_end() { if (ob_get_length()>0) ob_end_flush(); }

(@optimizingmatters)

Hace 1 año, 7 meses

bueno, ¿qué pasa si desactivas esa función?

(@ hajar2901)

Hace 1 año, 7 meses

Autoptimize detectará la etiqueta de estilo, pero los comentarios (generados a partir de otros plugins) llenarán el código que revelará mucha información sobre el sitio web y el tipo «javascript / css» generará numerosos errores W3C (los clientes se asustan fácilmente)

(@optimizingmatters)

Hace 1 año, 7 meses

bueno, engancha en el autoptimize_html_after_minify filtrando y reemplazas la magia entonces? 🙂

(@ hajar2901)

Hace 1 año, 7 meses

entonces reemplazas la magia? No entendí bien, pero estoy tratando de encontrar la mejor manera de eliminarlos, cualquier sugerencia es bienvenida.

Intenté agregar esto antes de la función
add_filter('autoptimize_html_after_minify', 'callback', 10, 1);
pero creo que lo estoy haciendo mal.

(@optimizingmatters)

Hace 1 año, 7 meses

bueno, algo como esto funciona, siéntete libre de adaptarlo a tus necesidades 🙂


add_filter('autoptimize_html_after_minify','remove_js_type');
function remove_js_type($htmlIn) {
    return str_replace('type="text/javascript" ','',$htmlIn);
}

(@ hajar2901)

Hace 1 año, 7 meses

add_filter('autoptimize_html_after_minify', 'callback');

function callback($buffer){ 
    $find = array('/<!--(.|s)*?-->/', "%[ ]type=['"]text/(javascript|css)['"]%");
    $buffer = preg_replace($find, '', $buffer); return $buffer; 
}
function buffer_start(){ ob_start("callback"); }
function buffer_end(){ ob_end_flush(); }
add_action('get_header', 'buffer_start');
add_action('wp_footer', 'buffer_end');

add_action('wp_loaded', 'output_buffer_start');
function output_buffer_start() { ob_start("callback"); }
add_action('shutdown', 'output_buffer_end');
function output_buffer_end() { if (ob_get_length()>0) ob_end_flush(); }

Sin cambios …

(@optimizingmatters)

Hace 1 año, 7 meses

bien; * el contenido del búfer de salida es anónimo al ingresar al filtro AO * No nombraría una función callback, como plantear problemas 😉 * Quiero probar el ejemplo que te di primero; ¿Eso funciona?

(@ hajar2901)

Hace 1 año, 7 meses

Encontré lo que quieres decir, aquí hay capturas de pantalla de los resultados, lo que obtengo con mi función anterior (la primera línea es el motivo de este tema):
https://paste.pics/3cebf655f0fe915bb978f8a8685f39b7
con el nuevo:
https://paste.pics/8ca6264c8b9e3c459f686dc6710b0636

(@ hajar2901)

Hace 1 año, 7 meses

Optimización de opciones:
https://paste.pics/fa1e9458a9cfda1541d063485f1fb98d

(@optimizingmatters)

Hace 1 año, 7 meses

bueno, el filtro debería funcionar para eliminar los atributos de tipo, ¿no? 🙂

(@ hajar2901)

Hace 1 año, 7 meses

add_filter('autoptimize_html_after_minify', 'optimize_comment_type', 10, 1);
function optimize_comment_type($value) {
    //$find = array('/<!--(.|s)*?-->/', "/type=['"]text/(javascript|css)['"]/");
    return preg_replace("/type=['"]text/(javascript|css)['"]/", '', $value);
}

esto funcionó, gracias por su apoyo 🙂 Estoy agradecido por mantenerse al día con mi tema 🙏

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *