在 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 文件,这是正确的做法。
CODE WordPress 输出到 HTML 如下所示:
<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 将过滤器:use_default_gallery_style 设置为 false?
如何在 function.php 中编写钩子、函数或操作来删除或将 use_default_gallery_style 设置为 false?
最好的方法是什么?
我是新手,不想弄乱 WordPress CORE 文件,如果有人可以帮助我或指导我使用此功能,那就太好了。
提前致谢