Cómo agregar múltiples longitudes de extractos personalizados en WordPress

Forma predeterminada, los extractos de WordPress se configuran en 55 palabras y tienen un filtro excerpt_length que el primer cambio está predeterminado por la longitud de la celda. Pero, ¿quieres un fragmento de diferencia de longitud en diferentes secciones de tu sitio? Por ejemplo, puede descargar un sitio web con diferentes tipos de publicaciones, es posible mostrar diferentes diferencias en la longitud de los extractos del tipo de publicaciones. Una publicación de blog puede tener un fragmento de un libro largo, por ejemplo, un artículo en papel.

Función extractiva

Para continuar, encuentre una función personalizada que se puede usar para ayudar a extraer extractos de diferentes longitudes en WordPress. Para usar la función, simplemente agréguela a su archivo functions.php y luego puede reemplazar las funciones the_excontent parametros a un largo funciones the_excontent parametros a un largo funciones the_content parametro ai e_content de extractos.

function wpex_get_excerpt( $args = array() ) {

	// Default arguments.
	$defaults = array(
		'post'            => '',
		'length'          => 40,
		'readmore'        => false,
		'readmore_text'   => esc_html__( 'read more', 'text-domain' ),
		'readmore_after'  => '',
		'custom_excerpts' => true,
		'disable_more'    => false,
	);

	// Apply filters to allow child themes mods.
	$args = apply_filters( 'wpex_excerpt_defaults', $defaults );

	// Parse arguments, takes the function arguments and combines them with the defaults.
	$args = wp_parse_args( $args, $defaults );

	// Apply filters to allow child themes mods.
	$args = apply_filters( 'wpex_excerpt_args', $args );

	// Extract arguments to make it easier to use below.
	extract( $args );

	// Get the current post.
        $post = get_post( $post );

	// Get the current post id.
	$post_id = $post->ID;

	// Check for custom excerpts.
	if ( $custom_excerpts && has_excerpt( $post_id ) ) {
		$output = $post->post_excerpt;
	}

	// No custom excerpt...so lets generate one.
	else {

		// Create the readmore link.
		$readmore_link = '' . $readmore_text . $readmore_after . '';

		// Check for more tag and return content if it exists.
		if ( ! $disable_more && strpos( $post->post_content, '' ) ) {
			$output = apply_filters( 'the_content', get_the_content( $readmore_text . $readmore_after ) );
		}

		// No more tag defined so generate excerpt using wp_trim_words.
		else {

			// Generate an excerpt from the post content.
			$output = wp_trim_words( strip_shortcodes( $post->post_content ), $length );

			// Add the readmore text to the excerpt if enabled.
			if ( $readmore ) {

				$output .= apply_filters( 'wpex_readmore_link', $readmore_link );

			}

		}

	}

	// Apply filters and return the excerpt.
	return apply_filters( 'wpex_excerpt', $output );

}

Usamos la función

Después de usar «the_excerpt ()» y agregar «wpex_excerpt ($ args)», no puede usar $ args en la matriz de preferencias de configuración de extracción especial.

Ejemplo:

 40,
	'readmore'        => true,
	'readmore_text'   => esc_html__( 'read more', 'wpex-boutique' ),
	'custom_excerpts' => true,
) ); ?>

Filtros funcionales

Tenga en cuenta que nuestro fragmento incluye varios application_filters(). ¿¿Por qué? La razón es que está trabajando en un tema de suplemento gratuito o gratuito para su distribución, desea encontrar la usabilidad final para modificar sus extractos de su tema secundario y lo necesita. Por ejemplo, si define un extracto que tiene una longitud determinada por una sección del sitio, puede usar el filtro final wpex_get_excerpt_args ”para elegir extraer una longitud o diferentes longitudes o personalizar texto o información sobre mí con

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *