こんにちは、
投稿に<!--more-->
を記述して、投稿ページを開くと、続きだけでなく全文が表示されてしまうが、トップページで表示している分は、投稿ページでは表示しないようにしたい
という意味でいいんですよね
<!--noteaser-->
を投稿に追加すると、投稿ページでは、トップページの序文は、表示されなくなります。
こんにちは。ご返信有難うございます。
>>投稿に<!–more–>を記述して、投稿ページを開くと、続きだけでなく全文が表示されてしまうが、
>>トップページで表示している分は、投稿ページでは表示しないようにしたい
>>という意味でいいんですよね
説明下手で申し訳ありません。
根本的に私が理解出来ていないのかもしれません。
<!–more–>を記述すれば投稿ページで<!–more–>以降は隠れると私の中では思っています。
違いますでしょうか?
例えば、
今日の天気は
<!–more–>
晴れです!
と投稿で記述すれば、
「今日の天気は」が投稿ページで表示され、
その下に「続きを読む」が表示されていて、
それをクリックすると「晴れです!」がスライドして表示される、
という感じを私はイメージしています。
それを実現したいのですが、<!–more–>を記述しても
今日の天気は
晴れです!
とそのまま投稿ページで表示されてしまいます。
トップページは特に不満はなく、
投稿ページだけ<!–more–>を使い文章の下の部分を「続きを読む」で隠したいと思っています。
<!–more–>を記述すれば投稿ページで<!–more–>以降は隠れると私の中では思っています。
違いますでしょうか?
<!–more–>以降は隠れるのは、indexやアーカイブページのページです。
個別投稿を表示する(投稿ページ)では、<!--more-->
があってもすべて表示されます。
今日の天気は
<!–more–>
晴れです!
と投稿で記述すれば、
「今日の天気は」が投稿ページで表示され、
その下に「続きを読む」が表示されていて、
それをクリックすると個別投稿を表示する(投稿ページ)がスライドして表示される、
という感じを私はイメージしています。
個別投稿を表示する(投稿ページ)で、続きを読むを表示し、クリックすると「晴れです!」を表示するのは、<!--more-->
の機能では出来ません。
そのような事を実現するサンプル(あくまでサンプル)
投稿本文にテキストモードで、以下を記述すると
<details>
<summary>続きを読む</summary>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</details>
Chromeブラウザなどでは、実現できると思います。
ご回答有難うございます。
>> <!–more–>以降は隠れるのは、indexやアーカイブページのページです。
勘違いしていました。
勉強になりました。
有難うございます。
>> 投稿本文にテキストモードで、以下を記述すると
>> Chromeブラウザなどでは、実現できると思います。
試したところ、確かにChromeでは実現できました。
ただやはりIEで見ると、全文表示された状態で「続きを読む」が表示されてしまっている為、
IEはまだ使用者が多いのでここだけが残念なところです…。
また、single.PHPを弄って出来ないのでしょうか?
とりあえずChromeブラウザで出来たのは良かったです。
有難うございます。
jQuery等でもできるので、javascript toggle などをキーワードに調べてみてください。
あとは、テーマによってはそういう機能が組み込み済みのものもあります。
宣伝ぽくって躊躇しますが、私もテーマを作っていて、
http://www.tenman.info/wp3/raindrops/
そのテーマだと、投稿に以下のような構造で、htmlを書くと、同じようなことが出来ます。
<ul>
<li class="raindrops-toggle raindrops-toggle-title">Toggle Title</li>
<li class="raindrops-toggle">Toggle Content</li>
</ul>
<details> 要素は、Firefox も未実装です。ということで、WebKit エミュレーション。遅くて表示が間抜けというのは我慢してください。
jQuery(document).ready(function($) {
var userAgent = window.navigator.userAgent.toLowerCase();
var showText = "続きを読む";
var hideText = "隠す";
if (userAgent.indexOf("firefox") !== -1 ||
userAgent.indexOf("trident") !== -1 ||
userAgent.indexOf("msie") !== -1) {
$("details").each(function(index, value) {
var summary = $(this).children("summary");
var others = $(this).children(":not(summary)");
summary.css("display", "block");
summary.css("cursor", "pointer");
if ($(this).attr("open")) {
summary.html("▶ " + hideText);
} else {
summary.html("▶ " + showText);
others.css("display", "none");
}
});
$("details").children("summary").on("click", function(event) {
var sblgs = $(this).siblings();
if (sblgs.css("display") == "none") {
sblgs.css("display", "block");
$(this).html("▶ " + hideText);
} else {
sblgs.css("display", "none");
$(this).html("▶ " + showText);
}
});
}
});
抜粋表示のときは、<!–more–> と違って、しっかり strip_tags() されるので、get_the_excerpt にフィルタを設定してお使いください。こちらは PHP で。
nobitaさん
お作りになっているテーマを教えて頂き有難うございます。
また新しいブログを作る予定なのでその時はこちらのテーマを使わせて頂きます。
kjmtshさん
ご回答有難うございます。
初心者で何もわからなく申し訳ないのですが、
上のタグはどこに貼り付けすればいいのでしょうか?function.PHPでしょうか?
>>抜粋表示のときは、<!–more–> と違って、しっかり strip_tags() されるので
>>get_the_excerpt にフィルタを設定してお使いください。こちらは PHP で。
正直、上記の内容も全く分かりませんでした。
何をどうしたら良いのか分かりません。
もう少しド素人にも分かる内容で教えて頂けたら幸いです。すいません。