サポート » 使い方全般 » 2段階で「続きを読む」を表示したい

  • いつもありがとうございます

    サイトのTOPページに記事一覧を出し「続きを読む」を押すと全文表示する方法をとっているのですが、一覧から個別の記事(途中まで)を表示し、さらに「続きをよむ」を押すと最終的に全文表示されるという流れを作りたいと思っています

    記事投稿の際の
    <!–more–>
    で2回区切ってやっても普通には何も影響ないようで、いろいろ調べてもたどり着けずにこちらに質問させていただきました

    いい方法があれば教えていただければと思います

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    <!–nextpage–>
    が使えます

    トピック投稿者 takayukki

    (@takayukki)

    hissy さん
    あけましておめでとうございます

    そしてありがとうございます
    <!–nextpage–>ってあるんですね
    知らなかったです

    これって記事を書くところにアイコン無いですよね?
    やっぱりその都度書くしかないのでしょうか?

    あと、できれば最初途中まで表示して次には全文を出したいと思っています
    これだと文章がその括ったところまでになってしまうので…

    モデレーター Takuro Hishikawa

    (@hissy)

    これって大手ニュースサイトによくある、記事ページに行ってもなぜか全文が読めず、もう1クリックしてはじめて全部読めるという動きですよね。できそうな気がしたのでちょっと調べてみました。下記のPHPコードをプラグインにするかお使いのテーマのfunctions.phpに追記するなどしてみてください。ご希望の動きになると思います。

    function my_custom_morepage($post) {
    	global $more;
    	$page_var = get_query_var('page');
    	if ( !$page_var ) $more = 0;
    	return $post;
    }
    add_action( 'the_post', 'my_custom_morepage' );
    
    function my_custom_morelink($output){
    	if ( is_single() ) {
    		$output = '<a href="' . add_query_arg( 'page', 1, get_permalink() ) . '">すべて読む</a>';
    	}
    	return $output;
    }
    add_filter( 'the_content_more_link', 'my_custom_morelink');
    トピック投稿者 takayukki

    (@takayukki)

    hissyさん

    早速のご回答ありがとうございます
    まさしく大手ニュースサイトによくある、あれを実現させたかったんです

    サンプルコードまでありがとうございます
    ちょっと後ほど試してみたいと思います

    また結果ご連絡させていただきます

    トピック投稿者 takayukki

    (@takayukki)

    hissyさん

    お世話になります
    先日いただいたサンプルコードをfunctions.phpに追記してみました
    (とくに何の変更もなくそのままです)

    そうしたところ個別記事ページでも
    <!–more–>タグのところまでしか表示されないので、狙い通り、
    と思ったところ”すべて読む”が表示されていないようなのです

    記事も特に書き直したりもしていないのですが、何か他に追記したりする必要などあるのでしょうか?

    作業時間がなかなかとれず今頃になっていしまいすいません

    モデレーター Takuro Hishikawa

    (@hissy)

    the_content() タグまたは get_the_content 関数を使っている場合は出るようになっているはずです。お使いのテーマの個別記事のテンプレートでこれらを使っていますか?あるいは「続きを読む」リンクを表示しないようなカスタマイズを行なっていると消えるかもしれません

    トピック投稿者 takayukki

    (@takayukki)

    何度もすいません

    the_content() で記事を表示しているようです

    僕の使っているテンプレートはpost-single.php
    っていうファイルなんですが、そこには
    the_content(”);

    ってなってます

    「続きを読む」リンクを表示しないようなカスタマイズも特にしていないと思います
    その項目自体を見つけられていないのですが、TOPページなんかは続きを読むって出ていますから、大丈夫ではないかと思っています

    記事中に
    <!–more–>
    が入っていればいいんですよね?

    ちなみに関係ないかもしれないですが、マルチサイトで作っています
    その中の1つのサイトだけ今回のような表示にできればと思って進めています

    モデレーター Takuro Hishikawa

    (@hissy)

    うーむ…こちらではうまく動いてるんですよね…。他のテーマでも試してみていただけますか?

    割り込み失礼します。
    the_content()の一つ目の引数は続きを読むのリンクテキストです。

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_content

    the_content('');
    で空テキストを指定しているので出力されていない、もしくは見えなくなっている可能性がありそうです。

    こんにちは
    古いスレに失礼します

    Hishikawaさん、ソースありがとうございます

    大変恐縮なのですが、全文を見せるのではなく、
    リンクをクリックすると、<!–nextpage–>のように、
    続きだけが表示されるようには出来ませんでしょうか?

    お手数おかけしますが、よろしくお願いします。

     

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「2段階で「続きを読む」を表示したい」には新たに返信することはできません。