¿Cómo puedo crear CSS en línea en un archivo PHP de WordPress sin hacer referencia a un archivo CSS externo?

1 minuto de lectura

avatar de usuario
Ethanpil

Quiero poner en cola una cadena de CSS directamente desde un complemento de WordPress. No quiero cargarlo desde un archivo externo, y no quiero debatir por qué esto es una escritura incorrecta, solo quiero saber si es posible.

En otras palabras, sé que puedo hacer esto:

wp_register_style('myStyleSheet', 'my-stylesheet.php');
wp_enqueue_style( 'myStyleSheet');

Pero no quiero.

Lo que quiero hacer es algo como esto (pseudocódigo):

$number = get_option('some_width')/2;
$css = " .divbox { width: $number; } ";
wp_register_style('myStyleSheet', $css);
wp_enqueue_style( 'myStyleSheet');

Leí el códice wp para wp_register_style() y no parece posible. ¿Alguien tiene una sugerencia?

avatar de usuario
Ethanpil

Bueno, eso fue una tontería de mi parte. Encontré la respuesta unos minutos después. ¡La desesperación es un buen motivador! 🙂

El truco es no usar wp_register_style() y wp_enqueue_style()

Aquí esta lo que hice:

function myStyleSheet() {

  global $value;
  $num = $value/2;

  echo '
       <style type="text/css">
            .divbox { width: '.$num.'; }    
       </style>
    ';
}
add_action( 'wp_print_styles', 'myStyleSheet' );

Aún así, ¿tal vez hay una mejor manera?

¿Ha sido útil esta solución?