問題描述
我正在嘗試為我的主題的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。