Agregué / encolado un estilo dentro de shortcode, funciona bien pero se carga en el pie de página (antes de iniciar los archivos .js) en lugar de en el encabezado. Hice lo mismo que esta solución:
Poner en cola secuencias de comandos / estilos cuando el código abreviado está presente
¿Es normal en WP o cómo puedo cargar el estilo en el encabezado?
Código de ejemplo aquí:
class Cbwsppb_Related {
public function __construct()
{
add_shortcode('cbwsppb_related', array($this, 'shortcode_func'));
}
public function shortcode_func($atts, $content = null)
{
$atts = shortcode_atts( array(
'style' => '',
'display_style' => '',
'show' => '',
'orderby' => ''
), $atts );
if ($atts['display_style'] === 'carousel') {
wp_enqueue_style('flexslider-style');
}
$show = (!empty($atts['show'])) ? $atts['show'] : 2;
$orderby = (!empty($atts['orderby'])) ? $atts['orderby'] : 'rand';
$output = '';
ob_start();
if ($atts['style'] === 'custom') {
$output .= woocommerce_get_template( 'single-product/related.php', array(
'posts_per_page' => $show,
'orderby' => $orderby,
)
);
} else {
$output .= woocommerce_get_template( 'single-product/related.php');
}
$output .= ob_get_clean();
return $output;
}
}