web-dev-qa-db-fra.com

Ajouter le paramètre $ more_link_text à the_excerpt ()

cette filter est sur le Codex Wordpress…

add_filter('excerpt_more', 'new_excerpt_more');

function new_excerpt_more($more) {
    global $post;
    return '<a class="moretag" href="'. get_permalink($post->ID) . '"> &hellip; </a>';
}

Cela fonctionne parfaitement, mais je me demande s’il est également possible de créer un filtre qui étend the_excerpt() avec le même paramètre que the_content() où il est possible de définir le paramètre "more-link-text"?

Alors je me demande comment je peux y arriver…

`the_excerpt ('custom more link')` `

Cela serait particulièrement utile pour moi car j'ai plusieurs types de post-personnalisation où j'utilise toujours the_excerpt() comme énigmes. Étant donné que ces types de messages personnalisés ont des contextes et des significations variés, il serait bien d’avoir différents "plus de liens" à la fin ...

Est-ce que c'est possible?

Merci d'avance!

2
mathiregister

Vous pouvez utiliser get_post_type

add_filter('excerpt_more', 'new_excerpt_more');

    function new_excerpt_more($more) {
        global $post;

        $post_type = get_post_type($post);
        switch( $post_type ):
            case 'event':
               $teaser = '<a class="moretag" href="'. get_permalink($post->ID) . '"> More events </a>';
               break;

            case 'post':
               $teaser = '<a class="moretag" href="'. get_permalink($post->ID) . '"> &hellip; </a>';
               break;

            default
                $teaser = '';
        endswitch;

        return $teaser;
    }
2
Stephen Harris