問題描述

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