広告 Affinger・改善

【WordPress】Affinger6のpreボックス内の文字列行間を調整する方法(スタル変更)

スポンサーリンク

 

WordPressテーマ「Affinger6」でソースコード(文字列)を見やすく表示したいときは、ボックスデザインの【pre】ショートコードを使うのが便利です。 しかし、この【pre】ショートコードはデフォルト設定では行間が広く、コードが間延びして見えてしまうのが難点です。

旧エディタにおいて、行間を調整するために「コード」モードにして、HTMLを直接編集し、<p style=“line-height:120%;”> のようにインラインスタイルを追記すると、HTML構文上のエラーとなり、ブラウザによっては正しく表示されない場合があります(<pre>内ではプレーンテキストのみ使用可能です)。

この記事では、Affinger6の【pre】ショートコードをカスタマイズし、ソースコードの行間や外観を調整する方法について解説します。

 

【pre】ショートコードについて(基本の使い方)

Affinger6の【pre】(ショートコード)は、3種類あります。





【pre】ショートコード

[st-pre myclass="" text="html" webicon=""]

〜ソースコード(文字列)等を記述〜

[/st-pre]

 html
<div class="st-list-no">
<ol>
<li>1234</li>
<li>abcd</li>
</ol>
</div>

【pre:terminal】ショートコード

[st-pre myclass="st-terminal" text="command" webicon="st-svg-terminal"]

〜ソースコード(文字列)等を記述〜

[/st-pre]
 command
ffprobe imput.m4a -hide_banner -show_frames | head -n 20
-------上のコマンドを実行すると、以下が表示されます。------
[FRAME]
media_type=audio
stream_index=0
key_frame=1

【pre:shortcode】ショートコード

[st-pre-sc myclass="" text="shortcode" webicon=""]

〜ソースコード(文字列)等を記述〜

[/st-pre-sc]
 shortcode
[st-pre myclass="" text="html" webicon=""]
〜ソースコード(文字列)等を記述〜
[/st-pre]

 

HTML構文上の注意点:preタグ内で使えない要素

例えば、下部に示す【st-pre】(ショートコード)で囲まれたソースコード(文字列)を旧エディタの「コード」モードに切り替えて確認すると、WordPressの自動整形機能によって<p>タグが付加されていることが確認できます。 下の例では、故意に赤字で示すstyle~"line-height:120%;"  を記述しています。

旧エディタの「コード」モード

<p>[st-pre myclass="st-terminal" text="command" webicon="st-svg-terminal"]</p>
<p style~"line-height:120%;">[FRAME]<br />
media_type=audio<br />
stream_index=0<br />
key_frame=1</p>
<p>[/st-pre]</p>

WordPressはサーバー側で動的ページを静的なHTMLに変換しますが、そのHTMLは<pre>タグ内にある<p>タグはブラウザが補正して(<p>タグの無い)プレーンテキストとして扱うため、構文上の問題は発生しません。

しかし、ソースコード(文字列)の行間を狭める目的で、赤文字で示される<p style=“line-height:120%;”>のようなインラインスタイルを直接記述すると、<pre>タグ内の<p>タグはブラウザによって補正されずに残存する場合があり、HTMLの構文上は不正となる可能性があります。

備考:Chrome拡張機能の「HTMLエラーチェッカー」で確認すると、構文エラーが確認できます。
-----
自動でWebページの構文エラーが確認できる「HTMLエラーチェッカー」の入手先はここをクリック

つまり、【pre】(ショートコード)内では、WordPress において自動整形によって付加された <p> タグに対して、インラインスタイルを直接記述することはNGです。

 

CSSで行間を調整する方法(スタイル変更)

Affinger6の【pre】(ショートコード)は、myclass を指定するオプションがあります。 例えば、pre_style をmyclassオプションに追記して、CSSを .pre_style{ line-height:120%!important;} にすると、【pre】(ショートコード)内の文字列全体の行間を狭めることができます。

具体的には、以下になります。

 html
[st-pre myclass="pre_style" text="html" webicon=""] 
〜ソースコード(文字列)などを記述〜
[/st-pre] 

<style>
.pre_style{ line-height:120%!important;background-color:#E8F5E9;}
</style>
備考:上の例は、【pre】(ショートコード)に pre_style をオプションとして指定して、CSSを .pre_style{ line-height:120%!important;} にしていますので、通常の【pre】(ショートコード)よりも行間が狭くなります。 また、CSSの .pre_style に background-color で色を指定すると背景色等も変更できます。

 

 

以上、「Affinger6のpreボックス内の文字列行間を調整する方法」の説明でした。

 

関連記事WordPressの旧エディタで「ページ区切り」に付加されてしまう Pタグの構文エラーを対策する方法

    Affinger6の旧エディタで編集中の頁に「ページ区切り」 <!--nextpage-->を挿入して、確認のためプレビューするとChrome拡張機能の「HTM ...

 

スポンサーリンク

 

スポンサーリンク