Wenn ich ein Bild hochlade, wird die Größe automatisch wie erwartet geändert. Die Größen zum Einfügen des Bildes scheinen jedoch die Einstellungen zu ignorieren, die ich unter Einstellungen/Medien vorgenommen habe.
In meinen Medieneinstellungen habe ich:
Ich lade ein Bild von: 2226 x 1663 hoch.
Wordpress generiert die richtigen Bildgrößen, bietet mir jedoch die folgenden Einfügemöglichkeiten:
Ich habe in den Foren nachgesehen und einen Vorschlag gefunden, der meiner functions.php-Datei Folgendes hinzufügt:
update_option('large_size_w', 690);
Dies hat jedoch nicht funktioniert.
Ich glaube, Ihr Problem ist, dass der für die globale Variable$content_width
festgelegte Wert (der 640px in Boilerplate und 584px in Twenty Eleven ist) geringer ist als die Breite, die Sie über Settings -> Media
angeben.
WordPress überschreibt Ihre Benutzereinstellung mit dem themenspezifischen Wert. Dies ist tatsächlich sinnvoll, da ein Thema seine maximale Inhaltsbreite kennt und die Verwendung einer größeren Bildbreite als die, für die das Thema entworfen wurde, sehr wahrscheinlich das Layout des Themas stören würde.
Die Lösung, wenn Sie die große Bildbreite in 690px ändern müssen (und davon ausgehen, dass Ihr untergeordnetes Design diese Breite aufnehmen kann), besteht darin, in Ihrem untergeordneten Design $content_width
zu definieren, functions.php
file . Ich würde empfehlen, eine Child Theme-Setup-Funktion zu verwenden, die in after_setup_theme()
eingebunden ist, wie folgt:
<?php
function wpse48075_theme_setup() {
// Define $content_width global
global $content_width;
if ( ! isset( $content_width ) ) {
$content_width = 690;
}
}
add_action( 'after_setup_theme', 'wpse48075_theme_setup', 9 );
?>
Die Priorität 9 ist wahrscheinlich übertrieben, da die Aktionen Ihres untergeordneten Themas ohnehin vor den Aktionen des übergeordneten Themas hinzugefügt werden. Die Verwendung von Priorität 9 stellt jedoch sicher, dass diese Aktion bei Priorität 10 ausgelöst wird, bevor das übergeordnete Design-Setup ausgelöst wird.
Da Ihre untergeordnete Designaktion zuerst ausgelöst wird, definiert das untergeordnete Design $content_width
und das übergeordnete Design überschreibt sie nicht (da es auch einen bedingten Wrapper für if ( ! isset() )
verwendet).
Als ich mir die Twenty Eleven functions.php
-Datei ansah, stellte ich fest, dass ich eine schlechte Annahme gemacht hatte: Twenty Eleven definiert $content_width
nackt in functions.php
und nicht in der Theme-Setup-Funktion, die in after_setup_theme
eingebunden ist. Also, um es zu überschreiben, müssen Sie ebenfalls ** tun.
Fügen Sie einfach Folgendes oben in Ihre functions.php
-Datei ein, bevor Sie andere Funktionsdefinitionen vornehmen:
$content_width = 690;
Dies sollte funktionieren, da das untergeordnete Design functions.php
vor dem übergeordneten Design functions.php
analysiert wird.
(Dies ist ein hervorragendes Beispiel dafür, warum Themen alle Dinge in Rückrufe einschließen sollten . :))
Wenn Sie mehr Kontrolle darüber haben möchten, welche Bildgrößen beim Hochladen von Bildern generiert werden, sehen Sie sich das Plugin für einfache Bildgrößen an.
Ändern Sie Ihre Einstellungen auf der Medienseite so, dass Ihre maximale Einbettungsbreite 690 anstatt leer ist