サポート » 使い方全般 » ビジュアルからテキストに切り替えるとタグが消える

  • muro

    (@muromuro)


    
    <a href="hogehoge">
    	<div>test</div>
    </a>
    

    Wordpressのバージョンは5.7です。
    クラシックエディターにて投稿を編集しています。
    まずはテキストモードの状態で、上記のようなコードを入れました。
    そのあと、ビジュアルモードに切り替えて、もう一度テキストモードに切り替えます。

    
    &nbsp;
    <div>test</div>
    &nbsp;
    

    すると、divタグを囲っていたaタグが消えてしまったうえに、&nbsp;が入り込んでしまいました。
    divタグに限らず、ブロック要素のタグだとこうなります。

    
    <a href="hogehoge">
    	<span>test</span>
    </a>
    
    
    <a href="hogehoge">
    test
    </a>
    

    一方で、spanタグのようなインライン要素のタグを囲っていた場合は、aタグは残るのですが、spanが消えてしまいます。

    ビジュアルモードからテキストモードの切り替えを行っても、テキストモードのときに入力していたタグをそのまま残す方法はないでしょうか?

    • このトピックはmuroが1年、 1ヶ月前に変更しました。
    • このトピックはmuroが1年、 1ヶ月前に変更しました。
    • このトピックはmuroが1年、 1ヶ月前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 私もグーテンベルクになってからソースが勝手に変換されるなと思っていました。

    当方のWordPress 5.6.2 で試してみました。
    5以上なのでグーテンベルクですが、プラスボタンをクリックしてブロックの選択画面が出て、そこで「クラシック」をクリックして、「HTMLとして編集」に切り替えてから、

    
    <a href="hogehoge">
    	<div>test</div>
    </a>
    <a href="hogehoge">
    	<span>test</span>
    </a>
    

    を入れて保存したところ、すでにソースが変換されますね。
    「ビジュアル編集」へ一度切り替えることをする前でも以下になりました。

    
    <div>test</div>
    <p><a href="hogehoge"> test </a></p>
    

    そして、ビジュアル編集へ切り替えて、再びHTMLとして編集に切り替えても変換内容は変わりないようです。
    aタグの中にdivタグを入れるのはHTML5は可能になったそうですね。なのに変換されますね。
    HTMLで入力する意味がなくなるのでこれは困りますね。

    調べたところ、以下の情報がありました。
    「対応としては、カスタムHTMLブロックで編集し、自動変換されたくないところを「<code>」「/<code>」で挟むことで対応できます。なお、挟んだ部分はフォントも変わります。」

    https://snowtree-injune.com/2019/05/25/wordpress-misconversion/#toc11

    • この返信は1年、 1ヶ月前にcharinchiが編集しました。
    • この返信は1年、 1ヶ月前にcharinchiが編集しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「ビジュアルからテキストに切り替えるとタグが消える」には新たに返信することはできません。