web-dev-qa-db-ja.com

もっと読むが表示されない

私はもっ​​と多くの問題についてコーデックスを読んでいます。それはthe_excerptを使用するとき、文字数制限は55であり、そして続きを読むはこのように見えるべきであると表示するべきであると言います[...]

私はその抜粋でそれを見ていません。私はまたテストのためにいくつかのフィルタを試しました。

function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

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

どちらも動作しません。コンテンツに情報を投稿して<!--more-->を作成するmoreボタンを使用すると、moreボタンへのリンクが表示されることがわかりました。毎回それをプッシュする必要はありません。だから私はここでいくつかの記事を調べましたが助けになるものは何も見つかりませんでした。だから私は私の質問で何か悪いことをしているのかと思っていました。

// The Query
$the_query = new WP_Query( array( 'category_name' => 'news', 'order' => 'ASC'));

// The Loop
while ( $the_query->have_posts() ) :
    $the_query->the_post();
    global $more;
    $more = 0;
    ?><li><?php
            if ( has_post_thumbnail() ) {
                ?><figure><?php the_post_thumbnail('news'); ?></figure>
            <?php } ?> 
            <!----------/ TITLE /---------->
            <em><?php the_title(); ?></em>
            <!----------/ DATE /---------->
            <strong><?php the_date(); ?></strong>
            <!----------/ PARAGRAPH /---------->
                <?php if( has_excerpt()){
                        the_excerpt();
                } else {
                        the_content('Read More'); 
                } ?>
            <!----------/ BUTTON /---------->
 </li>
 <?php
    endwhile;
    // Restore original Query & Post Data
    wp_reset_query();
    wp_reset_postdata(); ?>

私の調査によると、フィルタは機能するはずですし、コンテンツにコンテンツを追加すると機能するはずです。ようなもの:

 the_content( 'Read More' );

足りないものはありますか。私は、単語数を制限して自動的に続きを読むリンクを挿入できるように、抜粋を機能させたいと思います。

1
Jamie

私はif( has_excerpt())がfalseを返し、それが完全なコンテンツの削除条件を返し、the_excerpt()のみを使用した場合にはうまくいくと思います。

私は私が使用する:)別の解決策があります

$content = get_the_content();
$short_content = implode(' ', array_slice(explode(' ', $content), 0, 10));
echo $short_content;

この関数は10ワードの投稿を返します。コンテンツをエコーし​​た後は、次のようにボタンコードを追加できます。

<a href="<?php the_permalink(); ?>" >read more ...</a>

今、あなたは<!--more-->を使うことができません

0
Muhammad Furqan