WordPressのmoreタグが効かない!
「続きを読む」が出ない!
記事投稿の時にmoreタグ入れても、
サイト表示でトップページの記事一覧に
「続きを読む」が表示されないのはなぜ?
moreタグが効かなくて困っているあなたに3つの簡単解決法をご紹介。
自分はphpいじらずプラグイン入れずの裏技的解決法で帰結しました。
wordpressで続きを読むが出ないmoreタグ効かないんですけど
WordPressでは文章の中にmoreタグを入れておけば、一覧ページでmoreタグの前まで表示されて、「続きを読む」等のリンクが表示される、、、のはずなのに。
プレビューでブラウザ確認しても「続きを読む」にならないんです。
ダラーっと記事が出たまんまなんですけど。
moreタグ、ぜんっぜん効かないんですけど。
moreタグの「続きを読む」や「read more」。
TOPページで、この表示はとても便利です。
本文の抜粋部分のみを表示させて、訪問者さんが内容に興味を持てばクリック。
関連する投稿が一覧化されていると管理者側にとっても効率がいいですよね。
また、記事を前後で分割したい場合にも使える機能です。
で、そのmoreタグが表示されなくて困っているわけです。
wordpressをいじっていると、
「理由はサッパリわかんないんだが全く動作をしてくれない」
なんて事はよくあること(自分には)。
その都度ググって解決法を探すんですが、
今回もそんなことをしてる場合でないのに、「moreタグ効かない問題」について、ついつい解決法探しの旅にハマってしまいました。。。
いろいろ調べてみると、テーマによって必ずしもすべての投稿に more タグを追加できるわけでもないらしく、
固定ページを使ってphpプログラムを書いたテンプレートを適応させる方法になると、何もしないままならmoreタグが効かない、つまり「続きを読む」が表示されないみたい。
要は、固定ページの中に一覧ページを埋め込むような場合は。このmoreタグの機能が効かず、文章が全部表示されてしまうということなんですね。
まさしく自分のケース、いまダラーッダラーッと記事が全文出ております。
wordpress続きを読むが表示されないならphpを変更
どうやら、
「$more」という変数があって、
これが「1」の場合はmoreタグが効かず、
「0」の場合にmoreタグが有効になることがわかりました。
single.phpをいじる方法
single.php をいじってmoreタグを出す方法です。
外観<テーマの編集<single.php
single.phpの中にある記事出力の関数、
↓
———————————-
<?php the_content(); ?>
———————————-
を見つけます。
これを以下のコードと差し替えます。
↓
—————————————————–
<?php if(strpos(get_the_content(),’id=”more-‘)) :
global $more; $more = 0;
the_content(”); ?>
<!– ここに挟みこみたい要素を挿入 –>
<?php $more = 1;
the_content(”, true );
else : the_content();
endif; ?>
—————————————————–
以上、
phpをいじって、グローバル変数「$more」で解決する方法でした。
wordpress続きを読むプラグインでmoreタグ設定
プログラムをいじるのが怖い、とか面倒、って場合は、
続きを読むのmoreタグを自動で挿入出来るプラグインもあります。
無いものは足せば良い、ってことですね。
WordPress 日本語ローカルサイトプラグインディレクトリを覗いてきました。
・「Auto Limit Posts Reloaded」
・「Read more」
・「WP show more」
・「Auto More Tag」
ざっと見たところ、このあたりが目につく人気プラグイン。
「Auto Limit Posts Reloaded」を有効化してみます。
「Auto Limit Posts Reloaded」の有効化
ダッシュボード<プラグイン<新規追加
プラグインの検索(画面右上)で「Auto Limit Posts Reloaded」 と入力。
検索で上がってきたものをインストールし有効化します。
プラグイン<インストール済みプラグイン<Settingを選択して設定画面を表示。
※設定<「Auto Limit Posts」でも同じように設定画面が表示されます。
・Limit posts by
「Letter」を選択します。
・Number of letters
記事抜粋表示する際の文字数。デフォルトは225。
90~150前後が良いかも。
・Text continuation
「続きを読む」の前に挿入される文字。デフォルトでは「…」
これは「…続きを読む」となるので「⇒」などでアレンジするのもアリ。
・Automatically limit posts in
「…続きを読む」を適用したいページにチェックを入れる。
Avoid code breaks
抜粋文中にタイトル文字飾りや画像・動画、リンクなどが含まれている場合、記事本文以外を無視して表示することができる(と思われます)。
設定したら、「Save your Settings」をクリックして終了。
wordpress続きを読むが出ないmoreタグが効かない時の簡単解決法のまとめ 結局どうした?
ソースをいじる方法以外に、
プラグインを入れる以外に、
「moreタグ表示させる方法、何かないかなー」
って、未練がましくタラタラと検索してたわけですよ。
いろいろトライしながらも、デフォルトで出来ないってのがイマイチすっきりしなくて。
すると、ですよ。
「moreタグが、WordPressのテーマ変更で表示された!」
という方がいましたよ。
マジか。
これ、カンタンですよね。
テーマに執着なかったら、ですが。
ならばダメ元トライ。
「続きを読む」がアッサリ表示された時は心底脱力しました。
なんてあっけない。。。
moreタグに執着するあまり仕事もプライベートも全てを投げ出し、丸一日PCにしがみついていた、とある一日の備忘録であります。
◇ Cocoon でお困りの場合はこちらをご参考に。
・moreタグが機能していない | Cocoonテーマに関する質問 | Cocoon フォーラム