サポート » バグ報告と提案 » ヘディングテキストブロックの自動idについて

  • 解決済 Chisato.M

    (@muroki)


    調べたり検索してみたのですが同様の内容が見当たらず
    こちらに投稿させていただきます。

    Wordpress5.9にアップデート後
    ヘディングテキストブロックを追加して、
    ブロックにヘディングテキストを入力すると、idに入力したテキストも自動入力で入っており
    idを消してもまた元に戻り消すことができないという現象があります。

    ブロックのソースを見るで見てみると
    <h2 id="ヘッドテキストに">ヘッドテキストに</h2>
    となっており
    ソーで
    <h2>ヘッドテキストに</h2>
    と修正してみるものの消した直後に
    <h2 id="ヘッドテキストに">ヘッドテキストに</h2>
    という無限ループになります。

    テーマの問題かなとも思い、
    Twenty Twenty-Twoでも試してみたのですが
    同様の現象が起こります。

    これは仕様かバグか・・・。
    同様の現象はありますでしょうか。

    また自動にidが入らないようにする方法がありますでしょうか。

    よろしくお願いいたします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • murokiさん、こんにちは。

    WordPress 5.9 から見出しへの id 自動付与のようです。
    今のところ削除はできないようですが、書き換えはできそうです。
    タイトル名が同じ場合、ページ内に同じ id が生成されてしまうことになりますので、アップデートで修正されることを期待しましょう…
    https://github.com/WordPress/gutenberg/issues/36365

    ご参考になれば。

    トピック投稿者 Chisato.M

    (@muroki)

    shokun0803さん

    ありがとうございます!

    なるほど、今の時点ではidを違うものに書き換えるかなどで対応するしかないようなのですね。
    リンク先の内容も、みなさん自動的に付与されるべきではないと言ってますね。

    どうしても挿入されるのを阻止するには、
    ヘディングテキストブロックではなくカスタムhtmlブロックで書くしかなさそうですね。
    アップデートに期待いたします。

    • この返信は2年、 2ヶ月前にChisato.Mが編集しました。

    @muroki さん

    こんにちは。

    最近、見出しブロックのアンカー自動生成を無効にする機能が追加されました。
    https://github.com/WordPress/gutenberg/pull/38780

    今日か明日リリースされるWordPress5.9.1に反映されるはずなので、以下のコードで試してみて下さい。

    add_filter(
    	'block_editor_settings_all',
    	static function( $settings ) {
    		$settings['__experimentalGenerateAnchors'] = true;
    		return $settings;
    	}
    );
    トピック投稿者 Chisato.M

    (@muroki)

    @wildworks さん

    こんにちわ。
    情報ありがとうございます!

    上記コードは5.9.1になった時に試してみるという解釈で合ってますでしょうか。
    (5.9でやってみたけれど変わらなかったです)

    @muroki さん

    上記コードは5.9.1になった時に試してみるという解釈で合ってますでしょうか。

    →はい。5.9では見出しを無効にする機能はまだ搭載されていないので、コードを書いても効きません。

    トピック投稿者 Chisato.M

    (@muroki)

    @wildworks さん
    @shokun0803 さん

    @wildworks さんよりいただきました情報を参考に
    5.9.1にアップデート後に試したところ無事にid自動挿入を止めることができました!

    最初素直にコピーして反映されないと思っていたのですが
    停止する際には

    add_filter(
      'block_editor_settings_all',
      static function($settings){
        $settings['__experimentalGenerateAnchors'] = false;
        return $settings;
      }
    );

    = true; を = false; に変更の場合に挿入されなくなりました。

    本当にありがとうございました!
    感謝いたします。

    @muroki さん

    こんにちは。
    5.9.1の仕様を確認した所、アンカーの自動挿入はデフォルトで無効になるようです。
    なので、勘違いしておりましたが、そのコード自体不要になります。
    ※アンカーの自動挿入を有効化したい場合は、記載したコード(trueのまま)でお使い下さい。

    トピック投稿者 Chisato.M

    (@muroki)

    @wildworks

    本当ですね!
    = flase にして効くということは
    書かなくてもよいということですね。(知識不足でお恥ずかしいです。。。)

    コード削除して確認してみました。

    自動挿入機能自体なくなりましたね!
    色々と本当にありがとうございました!!!

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「ヘディングテキストブロックの自動idについて」には新たに返信することはできません。