$ content_width全局变量的作用和历史是什么?


16

我只是偶然发现了一个名为的全局变量$content_width。这对我来说是新手,到目前为止,我可以看到它已在主题中使用,包括标准的21个和第三方主题。

看起来它包含内容区域的宽度(以像素为单位)。由于全局变量未在法典中记录,因此我很难找到有关它的信息。

何时$content_width引入全局变量,原因是什么?有相关的票吗?


2
真的很好的问题。我希望一旦获得确定的解决方案,您便会更新法典。
kaiser

如果您将主题提交到WordPress目录,他们会坚持要求在主题确定之前就已设置主题。我不确定它的用途是什么:您可以在Philip的所有场景中使用CSS / HTML。

@kaiser:我完全不知道是否有可能在Codex中记录全局变量,但是,如果可以得出结论,我至少会在这里或那里进行书面记录。
hakre 2011年

我已经在法典中创建了一个文档:codex.wordpress.org/Content_Width
拉米

奇怪的是,当我在这里写一些关于它的内容(关于它为什么烂)时,消息
Wyck

Answers:


5

我相信它是在WordPress 2.6(也许是2.5)上添加的。在那里,您可以为作为主题内容显示的图像设置最大宽度。例如,如果您的主要内容区域只有475像素宽,则可以设置$ content_width = 450以确保图像不会超出主要内容区域。


到目前为止,我只能找到与wordpress本身(“ core”)一起发布的主题的唯一参考是[ core.trac.wordpress.org/ticket/10682凭单10682:为Kubrick定义$ content_width]。它是由ViperBond引入的,但他没有分享有关其意图的任何信息。它在其他票证中写道,这是一项功能,但尚未定义。看起来像每个人,但wordpress的核心主题都在WP 2.9之前的版本中使用它。那距离2.6 / 2.5
已有数

1
我记得第一次提到它是通过这篇博客文章mainstreetopen.com/wordpress-26-and-full-width-images我做了更多搜索,我认为这是core.trac.wordpress.org/ticket/ 5777是添加时。
Manzabar 2011年

1
像这样搜索google会使其在引入时变得更加容易.. site:http://svn.automattic.com/wordpress/tags/2.5 content_width(2.4没有结果)...
t31os 2011年

@ t31os-感谢您的Google搜索提示。
hakre 2011年

一直使用它来搜索Trac(比Trac搜索效果更好)。:)
t31os 2011年

4

有点相关:我不知道使用是否合理 $content_width如果您计划开发允许灵活设计选项的主题,。例如,假设您#content将设置为:512px如果用户激活了侧边栏小部件,768px或者用户没有激活侧边栏小部件。我看不出CSS不足以处理主要内容区域中的图像溢出的原因:

.size-auto, 
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
    height: auto;
    max-width: 100%; }

此CSS可以很好地发挥作用,不仅可以:a)防止图像溢出到相邻的DIV中,而且b)缩小图像以使其适合时,可以适当地垂直调整图像的大小 #content。也许我错过了一些东西,但是我并没有得到足够的需要$content_width


2
$content_width不仅仅是呈现。它还会影响管理区域中的内容以及oembed中非图像元素的大小。
拉斯特

3
谢谢拉斯特。我认为,但是在构建具有灵活内容区域的主题时,它仍然不令我感到满意。另外,我想知道在给定最大值的情况下这是否至关重要。尺寸也可以在“媒体设置”页面上设置。无论如何,感谢您的回复。
菲利普·阿瑟·摩尔

我真的需要检查“媒体设置”页面是否正在修改该值。那可以解释为什么二十个在if if-check $ content_width before set
哈克(Hakre)2011年

3

$content_width用于限制帖子内容中的图像宽度。它将覆盖“媒体”部分中的large尺寸设置。如果您在functions.php文件中,则large上传图片的大小宽度为$content_width

是有关此的帖子。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.