-
投稿者投稿
-
2018年6月25日 2:09 PM #2873
いつもありがとうございます。
はじめて、WPAW: 目次ウィジェット を使おうと思ったのですが、これは固定ページでは対応していないんですね。
記事の構成が最初にわかるとわかりやすくなるのではないかと思いますので、固定ページでも使えるようにしていただけると助かります。
♥ 0いいねをした人: 居ません2018年6月25日 7:18 PM #2874あれ、対応しているはずですが表示されませんかね?
例えば Snow Monkey のマニュアルは固定ページでつくっていますが、右カラムの追尾サイドバーに目次ウィジェットを設置しています。記事中に自動的に表示されるのは投稿だけですが、ウィジェットなら固定ページでも表示されるはずです。もしかしたら設置するウィジェットエリアによっては表示されないというバグがあるのかもしれませんので、もう一度ご確認頂いてどうしても表示されないのであれば、どのウィジェットエリアに設置されたのか教えていただければと思います。
♥ 0いいねをした人: 居ません2018年6月25日 9:42 PM #2877お返事ありがとうございます。
記事をみて早とちりしてしまいました。すみません。検証したところ、記事の編集画面がElementor編集の状態だと目次が表示されず、ビジュアルエディターだと、目次が表示されることがわかりました。
ちなみにウィジェットを追加したのはページタイトルの上ですが、どこのウィジェットに追加しても表示されませんでした。
Elementor側かもしれないので、なんとも言えませんが、可能であれば、確認いただけると助かります。
♥ 0いいねをした人: 居ません2018年6月26日 11:33 AM #2879原因がわかりました!
Snow Monkey の目次ウィジェット(と投稿に自動表示される目次)は、記事直下の見出しにしか反応しないようにしていたんでした!つまり、HTML 的にいうと、<div class="c-entry__content"> <h2>これには反応する</h2> <h2>これにも反応する</h2> </div>
ですが、
<div class="c-entry__content"> <div class="foo"> <h2>これには反応しない</h2> </div> <h2>これには反応する</h2> </div>
となるんです。なぜそうしているかというと、他のプラグイン等でショートコードやらを入れたときに、いわゆる「ページの見出し」の用途以外で h2 やらが使われていることが可能性としてあり、なんでもかんでも反応せさせてしまうと正しい目次構造が生成されないためそのようにしています。Elementor は見出しがいくつかのタグで囲まれて表示されるので反応しないということになります。
Elementor の場合は「見出し」というパーツがあるので、それには反応するようにしたほうが良いのかなと思いますが、ちょっと今すぐには対処法がわからないので、おいおい調査&可能であれば対応できればなと思います。
♥ 0いいねをした人: 居ません2018年6月26日 11:53 AM #2880お忙しい中、原因解明および根拠の解説に時間をとっていただき、ありがとうございました。
具体例もあり、わかりやすいです。
他の目次が表示されないという時にも当てはまりそうですね。
タイトルが目次が表示されないのほうがこのスレッドとして適切かもしれませんね。このフォーラムの内容などを使うとFAQがつくれそうですね。とふと思いました。
♥ 0いいねをした人: 居ません2018年6月26日 12:39 PM #2881目次、内部的にはショートコードを使っているのですが、Elementor で作成した固定ページに、テキストで次のショートコードを埋め込めば、Elementor の見出しにもとりあえず対応できそうです。よかったら試してみてください!
目次
このフォーラムの内容などを使うとFAQがつくれそうですね。とふと思いました。
ですねー、まとめたいとは思っているのですが、開発作業とのバランスがなかなか…^^;
♥ 0いいねをした人: 居ません2018年6月27日 1:29 PM #2914ありがとうございます!!!!!!!
目次表示されました!!!!!言うのはかんたんだけど、実際に実現は大変ですよね。失礼しました。
♥ 0いいねをした人: 居ません2018年6月27日 8:43 PM #2926Elementorで見出しのhtmlの指定が全部hタグだと表示されたのですが、hタグが多かったので、divに変えたら、見出しが表示されなくなりました。
全部hタグでないといけないのでしょうか♥ 0いいねをした人: 居ません2018年6月28日 9:37 AM #2927divに変えたら
これはどういうふうに変更されましたか?
Elementor にそれほど詳しくないので外しているかもですが、僕が前述した、目次
は Elementor の「見出し」というパーツを入れた場合に反応するようになっています。もし「見出し」以外のパーツを入れて見出しっぽい装飾をしたとしても、それが見出しかどうかの判断は機械的にはできないので、
headings=".elementor-heading-title"
の部分をうまいこと調整して対応する必要があるかもしれません。♥ 0いいねをした人: 居ません2018年6月29日 12:37 AM #2979ありがとうございます。
Elementorで見出しのパーツのhtmlの指定でh2だった箇所をdivに変更しました。目次という見出しの変更はプログラム上での変更になりますでしょうか。
♥ 0いいねをした人: 居ません2018年6月30日 10:55 AM #2986すみません!勘違いしていました!ご指摘の通り、hタグじゃないとダメということにしていたみたいです。なぜかというと、そうしないと見出しの「入れ子」ができないためです(h2, h3 となっていれば階層が判断できるが div だと階層が判断できない)。
ということで、div じゃなくてhタグを使って頂く必要があります。
※とりあえず、hタグ以外の場合は全部同じ階層として判定されるようにアップデートしたいと思います。
♥ 0いいねをした人: 居ません2018年6月30日 11:27 AM #2988とんでもないです。原因を特定していただき、ありがとうございます!
♥ 0いいねをした人: 居ません2018年6月30日 11:56 AM #2989今手元では修正しました。リリースまで少々お待ちください。
目次という見出しの変更はプログラム上での変更になりますでしょうか。
そうですね。子テーマの functions.php に下記をコピペしてみてください。
add_filter( 'gettext', function( $translation, $text, $domain ) { if ( 'inc2734-wp-contents-outline' === $domain && 'Outline' === $text ) { return '「目次」以外のラベルを表示します!'; } return $translation; }, 10, 3 );
♥ 0いいねをした人: 居ません2018年7月1日 4:15 PM #2993出来ました!ありがとうございます
♥ 0いいねをした人: 居ません2018年8月30日 10:26 AM #4908こちらの内容を見て、無事に固定ページに目次を表示できました。
関連の質問させてください。(あたらしくトピック立てたほうがよかったでしょうか?)ショートコードで以下のように記述しました。
目次
表示はできているのですが、ページ内リンクで移動した際に、見出し部分が固定ヘッダーと被ってしまいます。
ウィジェットの「ページタイトルの上」に目次ウィジェットを追加すると(目次が2個表示されている状態)、固定ヘッダーと被らない位置にスクロールされました。ショートコードで入れただけでは呼び出されないjsなどがありますでしょうか?
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「固定ページでも目次を表示したい」には新しい返信をつけることはできません。