Usando wp_add_inline_style sin una hoja de estilo

12

Necesito agregar estilos en línea personalizados al encabezado de un tema personalizado que estoy creando. Me he encontrado con la función wp_add_inline_style() , que funciona pero realmente no me conviene, ya que depende de una hoja de estilo específica. Necesitaría agregar estilos en línea al final de la etiqueta de cabecera sin una dependencia de la hoja de estilo.

He intentado configurar la hoja de estilo del tema o una que no existe. En ambos casos, funciona, pero es un poco IMO de hackeo sucio (ya sea cargar la hoja de estilo del tema dos veces o referirse a un archivo fantasma ...). ¿Existe una forma adecuada de agregar estilos en línea en la cabeza sin depender de una hoja de estilo?

Por supuesto, podría agregarlos directamente en el archivo header.php, pero me gustaría evitar esto.

    
pregunta terzag 19.11.2014 - 11:26

3 respuestas

17

Solo necesita agregar los estilos directamente al encabezado de la página. La mejor manera de hacer esto es usar el gancho de acción 'wp_head', asumiendo que estás usando un tema que tiene el gancho. Al igual que:

add_action('wp_head', 'my_custom_styles', 100);

function my_custom_styles()
{
 echo "<style>*{color: red}</style>";
}

Consulte el Códice WP para obtener más información acerca de los ganchos de acción.

    
respondido por el SkyShab 19.11.2014 - 15:39
12

Simplemente puedes usar un identificador "ficticio":

wp_register_style( 'dummy-handle', false );
wp_enqueue_style( 'dummy-handle' );

wp_add_inline_style( 'dummy-handle', '* { color: red; }' );
    
respondido por el Flix 14.10.2017 - 02:42
3

Su tema seguramente tiene una hoja de estilo predeterminada (de lo contrario, ni siquiera se cargaría como un tema). Simplemente use esta hoja de estilo como el controlador para su CSS en línea. Se puede encontrar un ejemplo en

function twentyfifteen_scripts() {
    wp_enqueue_style( 'twentyfifteen-style', get_stylesheet_uri() );

}
function twentyfifteen_post_nav_background() {
    wp_add_inline_style( 'twentyfifteen-style', $css );
}
    
respondido por el Casper 17.08.2017 - 06:40

Lea otras preguntas en las etiquetas