Mostrar primera y segunda palabra en rojo en título

  • Autor Autor eic2010
  • Fecha de inicio Fecha de inicio
E

eic2010

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola tengo este código que me muestra la primer palabra de color rojo pero yo quisiera que me muestra la primera y la segunda desde ya muchas gracias

así lo tengo

TITULO DE HOY ME MUESTRA ASÍ

y asi quisiera que se muestre

TITULO DE HOY SE MOSTRARÍA ASÍ



codigo en functions.php :

PHP:
 add_filter('the_title', 'span_first_word'); function span_first_word($title) { $words = explode(' ', $title); $words[0] = '<span>'.$words[0].'</span>'; $title = implode(' ', $words); return $title; }


codigo en CSS

span{
color:#da1818;
}
 
se me ocurre así mediante una expresión regular.
PHP:
<?php
 add_filter('the_title', 'span_first_word');
function span_first_word($texto) {
$text = preg_match('/^\W*(?:\w+\W+){1}?\w+/iu', $texto, $match);
$text = str_replace($match[0], '<span>'.$match[0].'</span>', $texto);
return $text;
}
?>
 
desde ya gracias por responder pero me muestra asi :ambivalence:

TITULO DE HOY SE MOSTRIA ASÍ PERO ME SIGUE MOSTRANDO TITULO EN COLOR OSEA LAS PALABRAS PRINCIPALES COMO TITULO Y DE

te doy otro ejemplo yo lo tengo asi

messi va a jugar el mundial y va con los tapones de punta porque asi es messi

con tu codigo me muestra asi

messi va a jugar el mundial y va con los tapones de punta porque asi es messi

y lo que quisiera es que se muestre asi

messi va a jugar el mundial y va con los tapones de punta porque asi es messi
 
Última edición:
Ya encontré la solución gracias a todos por estar siempre!!! solo tenia que agregar $words[1] = '<span>'.$words[1].'</span>';

acá les dejo el código completo

PHP:
add_filter('the_title', 'span_first_word'); function span_first_word($title) { $words = explode(' ', $title); $words[0] = '<span>'.$words[0].'</span>';$words[1] = '<span>'.$words[1].'</span>'; $title = implode(' ', $words); return $title; }
 
Atrás
Arriba