问题描述
我正在尝试为我的主题的 functions.php 中的内容宽度创建条件语句。所以一些类别将有一个 580 的 content_width,一些将有 900. 这将使 oEmbed 在任何地方使用正常工作。
通常你会在你的 functions.php 中有这个:
if ( ! isset( $content_width ) )
$content_width = 900;
我想要这样的东西:
if(in_category(array('news','blog'))) {
$content_width = 580;
}
elseif(is_page()) {
$content_width = 580;
}
else {
$content_width = 900;
}
当我在我的 functions.php 中有这样的内容宽度成为我写在最后一行的任何东西。
我错过了什么吗?这是甚么可能吗?
谢谢!
最佳解决方案
不,不可能。 $ content_width 是一个 theme-wide 常量,并且在设置任何查询条件之前在 functions.php 中设置它。
$ content_width 用于确定 image_send_to_editor
中的中间图像大小。 “large” 图像大小将设置为 $ content_width 的值。
如果您需要在 per-category 基础上修改这些尺寸,您可以挂接到该过滤器中… 有关如何完成此操作的一般示例,请参阅 change set_post_thumbnail_size according to post type admin page 的问题解答 (请注意,如果您在尝试按类别进行操作,因为在用户首次上传图像时几乎总是不设置帖子类别 – 用帖子类型设置它更可靠)
无论您的帖子和页面多宽,请将 $ content_width 设置为您希望用户在帖子中包含的最广泛的图像。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。