Recientemente respondí algunas preguntas sobre extractos, así que voy a dar una explicación detallada que cubra todo lo que pueda.
PREFACIO
Parece haber un par de preguntas que surgen de esta respuesta sobre dónde debería ir el código, y la respuesta es, realmente depende de usted y de cómo lo crea conveniente. Hay un par de opciones en las que puede colocar el código (si no se indica explícitamente):
En functions.php de su tema o en cualquier archivo úselo como un archivo de funciones. Solo recuerde cuando haga esto, si el tema no es el suyo, todos los cambios se perderán cuando actualice su tema
Una mejor forma sería utilizar el código en un tema hijo. Como arriba, en el archivo functions.php o funciones relacionadas
Usa el código en un complemento. Esta es la forma preferida, ya que hace que el código esté disponible en todos los temas. Si cambia de tema, no tiene que preocuparse por reescribir el mismo código.
Espero que esto aclare las cosas un poco 🙂
ETIQUETAS HTML / FORMATEO
the_excerpt() en primer lugar, no acepta ningún parámetro, por lo que no se le puede pasar nada. Es un hecho que the_excerpt() recorta el contenido a 55 palabras y todas las etiquetas HTML se eliminan antes de devolver el texto. the_excerpt() se encuentra en wp-includes / post-template.php. Para permitir algunas o todas las etiquetas HTML en el extracto, se debe crear un nuevo extracto.
En primer lugar, primero debe eliminarse la función original, y luego la nueva función debe conectarse a get_the_excerpt. Tenga en cuenta que este nuevo extracto seguirá siendo invocable como the_excerpt() en archivos de plantilla, no es necesario cambiar eso. get_the_excerpt() se encuentra en wp-includes / post-template.php.
El extracto utiliza wp_trim_excerpt para devolver el texto recortado, por lo que debemos eliminar wp_trim_excerpt primero del filtro de extractos. wp_trim_excerpt() se encuentra en wp-includes / formatting.php, línea 2355. Así es como:
El segundo argumento wpse_allowedtags() es una pequeña función que se usa para agregar las etiquetas the_excerpt() permitirá. Para obtener una lista completa de etiquetas HTML 5 válidas, consulte aquí. Aquí está la función, agregue cualquier etiqueta html a esto que necesite permitir / mantener
function wpse_allowedtags()
// Add custom tags to this string
return '
,
LONGITUDES DE EXTRACTO PERSONALIZADO
A veces es necesario mostrar extractos simples de diferentes longitudes y no es viable escribir un extracto para cada publicación / función / página. Aquí hay una pequeña y agradable función que usa wp_trim_words
Lo que hace esta pequeña función es tomar get_the_excerpt, recortándolo a $limit establecido por el usuario y devolviendo el texto con un enlace leer más al final.
Puede llamar a este extracto de la siguiente manera en su plantilla
echo wpse_custom_excerpts($limit);
dónde $limit será su recuento de palabras, por lo que un extracto de 30 palabras será
echo wpse_custom_excerpts(30);
Solo una cosa para recordar aquí, si establece su límite en más de 55 palabras, solo se devolverán 55 palabras ya que el extracto tiene solo 55 palabras de longitud. Si se necesitan extractos más largos, utilice get_the_content en lugar de.
LONGITUD DEL EXTRACTO PERSONALIZADO
Si solo necesita modificar la longitud de the_excerpt(), puede utilizar la siguiente función
Recuerde, deberá establecer una prioridad mayor que 10 para que su función personalizada se ejecute después de la predeterminada.
AÑADIR LEER MÁS ENLACE
Todo el texto devuelto por el extracto tiene el odio [...] al final que no se puede hacer clic. Para agregar un texto de lectura más en el lugar de los Hellips, use esta función
Quiero mantener esto completo, así que aquí está el extracto que se recorta después del primer párrafo.
Aquí hay una función que mantiene intactas las etiquetas HTML, agrega un enlace "Leer más" al final del extracto y recorta el extracto después del primer párrafo.
Para cualquier persona que necesite una solución alternativa para no mostrar el enlace leer más después del extracto cuando el extracto es más corto que la cantidad de palabras configuradas, consulte la siguiente pregunta y respuesta.