1

WordPress で、次のコードを使用してテーマ テンプレートに「フォト ギャラリー」を追加すると、次のようになります。

              <?php echo do_shortcode('[gallery link="file"]'); ?>

次に、WordPress Core は "use_default_gallery_style" により、そのセットを " true " にします:

wp-include/media.php 行 755 は次のように始まります。

if ( apply_filters( 'use_default_gallery_style', true ) )
    $gallery_style = "
    <style type='text/css'>
        #{$selector} {
            margin: auto;
        }
        #{$selector} .gallery-item {
            float: {$float};
            margin-top: 10px;
            text-align: center;
            width: {$itemwidth}%;
        }
        #{$selector} img {
            border: 2px solid #cfcfcf;
        }
        #{$selector} .gallery-caption {
            margin-left: 0;
        }
        /* see gallery_shortcode() in wp-includes/media.php */
    </style>";
$size_class = sanitize_html_class( $size );
$gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";
$output = apply_filters( 'gallery_style', $gallery_style . "\n\t\t" . $gallery_div );

問題は、私のページの HTML コードがオンラインの HTML バリデーターによって検証されず、WordPress Core が HTML ページに CSS を出力することです。これは正しい方法である分離された CSS ファイルを使用していません。

HTML への CODE WordPress 出力は次のようになります。

<style type='text/css'>
            #gallery-1 {
                margin: auto;
            }
            #gallery-1 .gallery-item {
                float: left;
                margin-top: 10px;
                text-align: center;
                width: 33%;
            }
            #gallery-1 img {
                border: 2px solid #cfcfcf;
            }
            #gallery-1 .gallery-caption {
                margin-left: 0;
            }
            /* see gallery_shortcode() in wp-includes/media.php */
        </style>

今のところ私の解決策:

WordPress COREファイルを編集することはお勧めできません。しかし、私は wp-include/media.php 行 755 を編集しました

から:

     if ( apply_filters( 'use_default_gallery_style', true ) )

に:

     if ( apply_filters( 'use_default_gallery_style', false ) )

そして、これを私のstyle.cssに更新/追加しました:

        #gallery-1 {
            margin: auto;
        }
        #gallery-1 .gallery-item {
            float: left;
            margin-top: 10px;
            text-align: center;
            width: 33%;
        }
        #gallery-1 img {
            border: 2px solid #cfcfcf;
        }
        #gallery-1 .gallery-caption {
            margin-left: 0;
        }

私の質問: function.php を使用して filter: use_default_gallery_style を false に設定するにはどうすればよいですか?

function.php にフック、関数、またはアクションを記述して、use_default_gallery_style を削除または false に設定する方法は?

それを行う最良の方法は何ですか?

私は新しく、WordPress CORE ファイルを台無しにしたくありません。誰かが私を助けてくれたり、この機能を案内してくれたりしてくれると助かります。

前もって感謝します:D

4

1 に答える 1