Respuestas de foro creadas

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El tema de que el excerpt no pueda mostar custom tags es definitivamente un bug que habría que solucionar.

    @greenshady ha compartido hace una horas esta solución que admite tags especificos respetando el seteo del attributo excerptLength

    <?php 

    // Add a filter on
    pre_render_block to determine if the excerpt is manual. If
    // so, add a filter to wp_trim_words to handle formatting ourself.

    add_filter('pre_render_block', 'themeslug_pre_render_excerpt', 10, 3);

    function themeslug_pre_render_excerpt(
    ?string $pre_render,
    array $block,
    ?WP_Block $parent_block
    ): ?string {
    if (
    'core/post-excerpt' === $block['blockName']
    && is_null($pre_render)
    && ! is_null($parent_block)
    && isset($parent_block->context['postId'])
    && has_excerpt($parent_block->context['postId'])
    ) {
    add_filter('wp_trim_words', 'themeslug_format_excerpt', 10, 4);
    }

    return $pre_render;
    }

    // Add a filter to Post Excerpt block to remove the filter we added earlier on
    // the wp_trim_words hook.

    add_filter('render_block_core/post-excerpt', 'themeslug_render_post_excerpt');

    function themeslug_render_post_excerpt(string $content): string
    {
    if ($priority = has_filter('wp_trim_words', 'themeslug_format_excerpt')) {
    remove_filter('wp_trim_words', 'themeslug_format_excerpt', $priority);
    }

    return $content;
    }

    // Used to filter wp_trim_words to allow manual excerpts to work, limiting to
    // a subset of inline HTML tags.

    function themeslug_format_excerpt(
    string $text,
    int $num_words,
    string $more,
    string $original_text
    ): string {
    return wp_kses($original_text, [
    'a' => [ 'href' => true, 'title' => true, 'class' => true ],
    'abbr' => [ 'title' => true ],
    'acronym' => [ 'title' => true ],
    'bold' => [ 'class' => true ],
    'code' => [ 'class' => true ],
    'em' => [ 'class' => true ],
    'i' => [ 'class' => true ],
    'mark' => [ 'class' => true ],
    'small' => [ 'class' => true ],
    'span' => [ 'class' => true ],
    'strong' => [ 'class' => true ]
    ]);
    }
    • Esta respuesta fue modificada hace 1 año, 10 meses por JuanMa Garrido.

    @albertbarrabes, yo diría que es algún plugin que tienes instalado el que está desactivando esta opción en los posts.

    Yo probaría a desactivarlos todos y ver si con los plugins desactivados puedes editar estas taxonomias del post. Luego puedes ir activando uno y hacer el mismo chequeo para ver cual está provocando esta issue.

    Si utilizas Elementos, este tiene un Safe Mode (Elementor > Herramientas > Modo Seguro) que te permite desactivar temporalmente todos los plugins y el tema dejando solo WordPres y Elementor

    Hola @clau_bolson!

    Si estas utilizando el bloque post-excerpt, este está aplicando un filtro para quitar cualquier tag HTML. Hay una issue abierta sbre esto: https://github.com/WordPress/gutenberg/issues/49449

    Una solución que funciona en twenty-twenty-four (y diría que en cualquier tema de bloques) es esta compartida por @dufresnesteven en la issue

    function filter_post_excerpt_attrs( $metadata ) {
        if ( 'core/post-excerpt' === $metadata['name'] ) {
            $metadata["attributes"]["excerptLength"] = false;
        }
    
        return $metadata;
    };
    
    add_filter( 'block_type_metadata', 'filter_post_excerpt_attrs', 10 );

    Lo que hace este codigo es «desactivar» el atributo excerptLength (evalua a true por defecto) que es el que provoca la aplicación de wp_trim_words sobre el excerpt y que internamente aplica wp_strip_all_tags

    Espero que te sirva de ayuda!

    Hola @diadenisweb

    Para ver de donde viene este background-color verde en el bloque de grupo una buena herramienta es el inspector de elementos del navegador (Developer Tools)

    En la parte de «Computed» puedes buscar para el atributo «color» las definiciones CSS que se están aplicando para un elemento con la clase .wp-block-group

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)