我正在努力使用Twentyseventeen主题创建一个覆盖媒体设置中的图像设置的全局内容宽度。
对于"大"大小,我有1200x1200设置,但当我尝试添加图像"大"尺寸停留在525px。我查看了Twentyseventeen父主题functions.php,发现全局内容宽度正在" after_setup_theme"中设置。动作:
// Set the default content width.
$GLOBALS['content_width'] = 525;
在尝试学习如何覆盖它时,我发现在父函数中的函数中进一步应用了一个过滤器.php:
function twentyseventeen_content_width() {
$content_width = $GLOBALS['content_width'];
// Get layout.
$page_layout = get_theme_mod( 'page_layout' );
// Check if layout is one column.
if ( 'one-column' === $page_layout ) {
if ( twentyseventeen_is_frontpage() ) {
$content_width = 644;
} elseif ( is_page() ) {
$content_width = 740;
}
}
// Check if is single post and there is no sidebar.
if ( is_single() && ! is_active_sidebar( 'sidebar-1' ) ) {
$content_width = 740;
}
/**
* Filter Twenty Seventeen content width of the theme.
*
* @since Twenty Seventeen 1.0
*
* @param int $content_width Content width in pixels.
*/
$GLOBALS['content_width'] = apply_filters( 'twentyseventeen_content_width', $content_width );
}
add_action( 'template_redirect', 'twentyseventeen_content_width', 0 );
我尝试使用以下函数在我的子主题函数中添加一个过滤器来更改$ content_width变量.php:
function drick_change_content_width($content_width) {
$content_width = 1200;
return $content_width;
}
add_filter('twentyseventeen_content_width', 'drick_change_content_width');
我保存了这个,重新生成了缩略图,但它仍在显示" 525"当我向页面添加图像时,媒体中的大尺寸。我做错了吗?我以为我也可以删除操作然后重新添加我自己的操作,但我不确定这样做的语法。它是如此简单:
remove_action( 'template_redirect', 'twentyseventeen_content_width' );
然后使用" template_redirect"添加我自己的函数版本。钩?我不确定这是否可行,因为在该函数中已经设置了全局content_width。
感谢帮助!