web-dev-qa-db-ja.com

ティーザーの抜粋のみから「続きを読む」リンクを削除する

自動抜粋からではなく、ティーザー抜粋だけから「続きを読む」リンクを削除したいのですが、このフィルターは簡単に利用できます。

これは元のコードです。これはShowcase Template Page Templateからのものです。

    <?php while ( have_posts() ) : the_post(); ?>

<?php
    if ( '' != get_the_content() )
        get_template_part( 'content', 'intro' );
?>

<?php endwhile; ?>

これがイントロです。

<div class="entry-content">
    <?php the_content(); ?>
    <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'mytheme' ) . '</span>', 'after' => '</div>' ) ); ?>
    <?php edit_post_link( __( 'Edit', 'mytheme' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-content -->

- >

6
Marcus

すべての抜粋の標準テキストを変更します。

function custom_excerpt_more($more) {
   global $post;
   $more_text = '...';
   return '… <a href="'. get_permalink($post->ID) . '">' . $more_text . '</a>';
}
add_filter('excerpt_more', 'custom_excerpt_more');

独自の抜粋関数を作成してください。

// Rafael Marques Excerpt Function ;)
function rm_excerpt($limit = null, $separator = null) {

    // Set standard words limit
    if (is_null($limit)){
        $excerpt = explode(' ', get_the_excerpt(), '15');
    } else {
        $excerpt = explode(' ', get_the_excerpt(), $limit);
    }

    // Set standard separator
    if (is_null($separator)){
        $separator = '...';
    }

    // Excerpt Generator
    if (count($excerpt)>=$limit) {
        array_pop($excerpt);
        $excerpt = implode(" ",$excerpt).$separator;
    } else {
        $excerpt = implode(" ",$excerpt);
    }   
    $excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
    echo $excerpt;
}

カスタムの抜粋を表示したい場合は<?php rm_excerpt(); ?>を使用してください。最初の値設定語句の制限と2番目の値設定区切り文字。例:<?php rm_excerpt(10,' (...)'); ?>。別のリンク「詳細を読む」を作成するには、<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">Read More?</a>を挿入します。

2
Rafael Marques
add_filter( 'the_content_more_link', 'wpsites_read_more_link' );
function wpsites_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '"></a>';
}

これをあなたの関数ファイルに追加すると、それ以上のリンクは削除されます。

http://codex.wordpress.org/Customizing_the_Read_More

1
Brad Dalton
//.... get_the_content() .....//

この部分を次のように編集するだけです。get_the_content("")

この""を使えば、コンテンツを空にすることができます。だから、あなたはもっと読むリンクなしであなたのコンテンツテキストを持っているでしょう:-)

0
Scott Wolter

The_content()から "続きを読む"ティーザーを削除したいようです。もしそうなら、 コーデックス からのこの例はあなたが必要とするものでしょう:

もっと読むテクニック

テンプレートタグthe_content()内のパラメータは次のとおりです。

<?php the_content( $more_link_text , $strip_teaser ); ?>

$ more_link_textは、リンクテキストを "Read More"のように設定します。 2番目の$ strip_teaserは、 "more"リンクを非表示にする(TRUE)か表示する(FALSE)かを設定します。デフォルトはFALSEで、リンクテキストが表示されます。

ティーザーを削除するには

The_content()を変更してください。あなたのindex.phpに(すなわち、2番目のパラメータがこれを制御します):

`the_content('',TRUE,'');`

投稿テキストの<!--noteaser-->の直後に、<!--more-->を含めます。

_ update _
あなたのコードに基づいて、間違った場所にコードを追加したようです。ファイルを見なくても、おそらくcontent.phpに移動してthe_content()を探し、そこで変更を加える必要があります。私は自分のテーマの1つでテンプレートを使用してそれをチェックし、それはうまく機能します。また、テンプレートについてもっと読む必要がありますので、あなたはそれらがどのように機能するかを理解します。要するに:

1 - コードからこのテキストを削除します。if( ''!= get_the_content( ''、TRUE、 ''))
2 - あなたのテーマのcontent.phpに行き、the_content()を見つけてthe_content('',TRUE,'')に変更してください。
3 - 上記のように<!--noteaser-->を追加

これは、手動で抜粋を設定するために<!--more-->を使用している場合です。

0
chowwy