Cómo crear y personalizar fragmentos de WordPress

El extracto es un texto opcional asociado con una publicación. La mayoría de las veces, se usa como resumen. Si usa el nuevo editor, verá que hay una opción en la barra lateral llamada Extract:

Extractos de Gutenberg.
Si no aparece, es posible que deba activar la opción en la configuración de Gutenberg. Haga clic en el icono de puntos de suspensión en la esquina superior derecha del editor y luego en las opciones:

Configuración de Gutenberg.
Luego busque el extracto y activelo:

Cómo activar el panel para editar el fragmento de una publicación.
Dependiendo de cómo se configure su tema, el fragmento aparecerá cuando mire las publicaciones de su blog, los resultados de una búsqueda, etc. Por ejemplo, en nuestro blog puede ver cómo se presentan todas nuestras publicaciones con los fragmentos relacionados:

Publicaciones en el blog de Nelio con sus fragmentos.
Ahora, ¿siempre es obligatorio escribir este fragmento? Si no, ¿qué hace WordPress? ¿Muestra algo o nada? Bueno, responderemos a estas preguntas y veremos más de cerca las opciones que WordPress nos da la personalización de los fragmentos. Cómo funcionan los extractos de WordPress WordPress tiene dos funciones para obtener el fragmento de una publicación: get_the_excerpt y the_excerpt. Ambos se definen en WP-Includes/Post-Template.php y si observa su código fuente, descubrirá que todo lo_excerpt es eco del resultado get_the_excerpt (después de filtrarlo con The_Excerpt). Entonces, en esencia, podemos decir aproximadamente que lo único que necesita entender para saber cómo los fragmentos en WordPress son la función get_the_excerpt.
Como puede ver, get_the_excerpt es extremadamente simple: función get_the_excerpt ($ post = null) {// … $ post = get_post ($ post); if (vacía ($ post)) {return ”; } // … return Aplice_filters (‘get_the_excerpt’, $ post-> post_excerpt, $ post); } Prácticamente, cargue una publicación (si no establece una, use la publicación disponible en el bucle de WordPress) y devuelva el atributo post_excerpt. Entonces, parece que ningún fragmento no significa que WordPress muestre nada al final, ¿verdad? No tan rápido, amigo. Tenga en cuenta que esta función en realidad no devuelve el valor directo post_excerpt. En su lugar, lo filtra usando un nuevo filtro: get_the_excerpt. Entonces, si hay acciones asociadas con ese filtro, el resultado final se puede cambiar y no una cadena vacía … ¡y de hecho, esto sucede aquí! Si no escribimos un fragmento para una determinada publicación, esto es lo que veremos en el front-end:
WordPress generado automáticamente.

Las primeras palabras de nuestra publicación serán el fragmento que genera WordPress. La función WP_RIM_EXCERPT Si realizamos una búsqueda rápida en el código fuente de WordPress, veremos que, por defecto, solo hay una acción asociada con el filtro get_the_excerpt. Específicamente, en WP-Includes/default-Filters.php, vemos que se conecta una función llamada wp_trim_excerpt. Según los documentos de WordPress, WP_TRIM_EXCERPT es responsable de generar un fragmento con un máximo de 55 palabras y una elipse adjunta, si es necesario. Y aquí está la clave: la función considera que generar un fragmento “es necesario” si ya hay uno (que, en general, es equivalente a decir que el usuario no ha escrito el fragmento en el editor). Puede ver esto en el código fuente de la función:
función wp_trim_excerpt ($ text = ”, $ post = null) {$ raw_excerpt = $ text; if (” == $ text) {$ post = get_post ($ post); $ text = get_the_content (”, falso, $ post); // […] »Genera el extracto usando el contenido post} return Aplicle_filters (‘wp_trim_excerpt’, $ text, $ raw_excerpt); } ¿Ver? Si no hay fragmento ($ text es la cadena vacía), entonces tome el contenido de la publicación actual (get_the_content desde $ post) y úselo para generar un extra. El código fuente. Sin embargo, creo que ya ha entendido la idea, así que veamos la documentación nuevamente, ya que arroja un poco de luz sobre este tema:
Devuelve un máximo de 55 palabras con puntos de suspensión agregados si es necesario. El límite de 55 palabras se puede cambiar mediante complementos/temas utilizando el filtro Extract_Length. La cadena “[…]” puede modificarse mediante complementos/temas utilizando el filtro Extract_More. WP_TRIM_EXCERPT Documentation, así que ahora sabe todo lo que necesita saber para personalizar completamente los fragmentos automáticos que WordPress genera para sus publicaciones. Cómo personalizar los extractos automáticos para echar un vistazo a algunos ejemplos de cómo podemos usar los filtros que hemos visto en la publicación de hoy para personalizar fragmentos automáticos. Por cierto, recuerde que para agregar cualquiera de estos cambios a su sitio, probablemente necesite crear un complemento.

a) Cómo cambiar la cantidad de palabras que quiero en mis fragmentos es una de las más simples. Ya hemos visto que tenemos el filtro Extract_Length para elegir cuántas palabras queremos en nuestros extractos, así que usemos: funciones NELIO_100_WORD_EXCERPTS ($ longitud) {if (is_admin ()) {return $ longitud; } Return 100; } Add_filter (‘Exactpt_Length’, ‘neli_100_word_excerpts’, 99); Tenga en cuenta que lo primero que hacemos en nuestra posición es asegurarnos de que estamos al frente. Si estamos en el tablero (is_admin), es mejor que no hagamos nada con nuestros fragmentos. Una vez que estamos seguros de que estamos en un “entorno seguro”, solo tenemos que devolver nuestro número mágico. En mi caso: 100 palabras.b) cómo el texto que aparece después de una extracción automática también es extremadamente fácil, porque ya he visto que hay un filtro para él: function neli_clickable_read_more ($ más) {if (is_admin ()) { devolver $ más; } return sprintf (‘ dime más! ‘, esc_url (get_the_permalink ())); } Add_filter (‘Exactpt_more’, ‘neli_clickable_read_more’, 99); En este caso, todo lo que hacemos es devolver el texto “¡Dime más!” Después del resumen y hacer un enlace para que los usuarios puedan hacer clic en él. c) Cómo limitar la longitud de un fragmento a un cierto número de caracteres que la función wp_trim_words tiene un filtro del mismo nombre que podemos usar para cambiar el fragmento final que usa WordPress. Así que usémoslo:
function nelio_140_char_excerpts ($ Exactpt, $ raw_excerpt) {if (is_admin ()) {return $ Exactpt; } if (”! == $ RAW_EXCERPT) {return $ Exactpt; } Return mb_substr ($ Exactpt, 0, 140); } Add_filter (‘wp_trim_excerpt’, ‘neli_140_char_excerpts’, 99, 2); El filtro wp_trim_words se aplica a extractos automáticos y definidos por el usuario. En mi ejemplo, solo estoy interesado en cambiar los fragmentos que se han generado automáticamente, por lo que tengo que agregar una nueva condición. Si recuerda, wp_trim_words genera un extracto automático solo si el fragmento original estaba vacío, por lo que todo lo que tiene que hacer es verificar esto para obtener el resultado deseado. En el otro. Si se pregunta por qué, la razón es simple: si escribe en su blog en un idioma que no sea inglés, probablemente usará personajes en más bytes, y acortar las cuerdas en más bytes con el sustar puede salir mal. Lea la documentación de PHP para obtener más información al respecto. d) Cómo crear fragmentos con el primer párrafo del contenido y, finalmente, un ejemplo sobre cómo crear un fragmento usando exactamente el primer párrafo de su publicación. No hay explicación esta vez, así que tenga cuidado con lo que hago:

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *