Pregunta

Publicación de ejemplo

<p>Lorem ipsum dolor sit amet</p>
<p>Morbi elementum odio vel tortor adipiscing vel tempor risus ullamcorper.</p>

Que he hecho :

function first_paragraph($content){
    return preg_replace('/<p([^>]+)?>/', '<p$1 class="first-paragraph">', $content, 1);
}
add_filter('the_content', 'first_paragraph');

Que tendrá diferente class para el primer párrafo

Ahora quiero agregar <span class="first-letter">L</span> y el resultado debería ser como

<p class="first-paragraph"><span class="first-letter">L</span>orem ipsum dolor sit amet</p>
<p>Morbi elementum odio vel tortor adipiscing vel tempor risus ullamcorper.</p>

Hágamelo saber


Actualizar:

Lo hice funcionar pero no una solución perfecta.

function first_paragraph($content){
    $content = substr_replace($content, '</span>', 4, 0);
    $content = substr_replace($content, '<span class="first-letter">', 3, 0);
    $content = preg_replace('/<p([^>]+)?>/', '<p$1 class="first-paragraph">', $content, 1); 
return $content;
}
add_filter('the_content', 'first_paragraph');
¿Fue útil?

Solución

Este complemento Drop Caps hace lo que está buscando: http://wordpress.org/extend/plugins/drop-caps/

Si está tratando de hacer tapas de caída, esto debería ser suficiente. Si desea hacer más, puede mirar el código y ver cómo el complemento envuelve el primer char en un lapso. Probablemente usa reemplazo de preg también. Me busco, pero estoy respondiendo esto en mi teléfono y no tengo forma de ver el código.

Licenciado bajo: CC-BY-SA con atribución
scroll top