web-dev-qa-db-ja.com

The_excerpt()に$ more_link_textパラメータを追加

このfilterはWordpress Codexにあります…

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>';
}

これは完璧に動作しますが、パラメータとして "more-link-text"を設定することが可能であるthe_excerpt()のような同じパラメータでthe_content()を拡張するフィルタを作成することも可能であるかどうか私は疑問に思いますか?

だから私はこれを達成することができる方法だろうか…

`the_excerpt( 'カスタム詳細リンク')` `

私はいつもthe_excerpt()をティーザーとして使う複数のcustom-post-typeがあるので、これは私にとって特に役に立ちます。これらのカスタムポストタイプはさまざまな文脈と意味を持っているので、最後に異なる "もっとリンク"を持つのがいいでしょう…

これはどういうわけか可能ですか?

前もって感謝します!

2
mathiregister

あなたは 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