Bildgröße entfernen & Bildgröße im Child-Theme hinzufügen funcions.php funktioniert nicht

Lesezeit: 6 Minuten

kann jemand bei folgendem helfen?

Ich versuche, eine der benutzerdefinierten Thumbnail-Größen zu ändern, die von einem Thema im Child-Theme erzeugt werden. Ich habe der functions.php im Child-Theme Folgendes hinzugefügt:

add_theme_support( 'post-thumbnails' );
    remove_image_size( 'sela-grid-thumbnail' );
    add_image_size( 'sela-grid-thumbnail', 242, 242, true );

Die ursprüngliche Funktion des Paren-Themas ist:

add_theme_support( 'post-thumbnails' );

// Post thumbnails
set_post_thumbnail_size( 820, 312, true );
// Hero Image on the front page template
add_image_size( 'sela-hero-thumbnail', 1180, 610, true );
// Full width and grid page template
add_image_size( 'sela-page-thumbnail', 1180, 435, true );
// Grid child page thumbnail
add_image_size( 'sela-grid-thumbnail', 360, 242, true );
// Testimonial thumbnail
add_image_size( 'sela-testimonial-thumbnail', 90, 90, true );

Aber meine ‘sela-grid-thumbnail’-Bilder kommen immer noch in der Originalgröße aus der functions.php des Parent-Themes – kann mir jemand sagen, warum? Verpasse ich etwas? Danke schön

  • Versuchen Sie, eine andere Größe hinzuzufügen – und sehen Sie, ob das funktioniert. Und ich würde es auch an eine Aktion hängen – developer.wordpress.org/reference/functions/remove_image_size

    – muka.gergely

    24. November ’16 um 16:05


  • @MariaCnx Wenn eine der folgenden Antworten Ihre Frage beantwortet, funktioniert diese Site so, dass Sie die Antwort “akzeptieren”. Hier finden Sie weitere Informationen auf stackoverflow.com/help/someone-answers. Aber tun Sie das nur, wenn Ihre Frage wirklich beantwortet wurde.

    – hallofromTonya

    7. Dezember ’16 um 15:28

  • Ah danke @hellofromTonya sorry, ich bin auch viel zu neu hier!!

    – MariaCnx

    8. Dezember ’16 um 16:36

Bildgrose entfernen Bildgrose im Child Theme hinzufugen funcionsphp funktioniert nicht
hallovonTonya

Schritt 1: Laden Sie Ihre neue Größe nach dem Elternteil

Sie müssen sicherstellen, dass Sie die Bildgröße neu definieren nach die Eltern haben es erklärt. Was meine ich damit?

Beim Anrufen add_image_size(), es nimmt nur die Parameter und speichert sie in einem globalen namens $_wp_additional_image_sizes, die durch den von Ihnen angegebenen Namen gekennzeichnet ist. Sie können die Parameter überschreiben, wenn Sie den Schlüssel haben (denken Sie daran für später).

Gehen wir die Ladesequenz durch. WordPress lädt die Plugins, dann das Child-Theme und dann das Parent-Theme. Denk darüber nach. Sie möchten die Standardbildgröße ändern, die das übergeordnete Element erstellt. Richtig? Das bedeutet: Das übergeordnete Thema muss zuerst ausgeführt werden, bevor Sie versuchen, es zu ändern.

Überprüfen Sie Ihr Child-Theme und stellen Sie sicher, dass Sie die Bildgröße neu definieren nach das übergeordnete Thema fügt es hinzu.

Schritt 2: Sie müssen es nicht entfernen

Sie müssen die Bildgröße nicht entfernen. Führen Sie stattdessen einfach die add_image_size wie du es hast.

Wieso den? Denken Sie daran, dass ich oben gesagt habe, beim Laufen add_image_size, WordPress überschreibt das, was mit dem Namen, den Sie als Bildgröße bezeichnen, gespeichert ist. Wenn Sie es in Ihrem Child-Theme aufrufen, wird es überschrieben, was das Parent-Theme im globalen gespeichert hat $_wp_additional_image_sizes.

Um Ihnen die Visualisierung zu erleichtern, ist hier der Code aus dem WordPress-Kern:

function add_image_size( $name, $width = 0, $height = 0, $crop = false ) {
    global $_wp_additional_image_sizes;

    $_wp_additional_image_sizes[ $name ] = array(
        'width'  => absint( $width ),
        'height' => absint( $height ),
        'crop'   => $crop,
    );
}

Sehen Sie, wie es einfach überschreibt, wenn der Name bereits existiert? Andernfalls wird es als neue Größe hinzugefügt.

Wann möchten Sie eine Bildgröße mit . entfernen? remove_image_size()?

Tun Sie dies, wenn Sie die Größe nicht neu definieren. Sie möchten es nur vollständig entfernen.

Schritt 3: Vorhandene Bilder müssen neu generiert werden

Beim Hinzufügen einer neuen Bildgröße werden die vorhandenen Bilder in der Medienbibliothek und in wp-content/uploads generiert die neuen Größen nicht automatisch. Alle neu hinzugefügten Bilder werden mit der neuen Größe gespeichert.

Was meine ich damit?

Wenn eine neue Bildgröße angegeben wird, werden alle neuen Bilder im uploads Ordner mit jeder der angegebenen Größen. Öffne den Ordner und schau nach. Sie sehen die ursprüngliche Bilddatei und dann zusätzliche Dateien, wobei jede der Größen als Suffix angehängt ist. WordPress kümmert sich um die Größenänderung und speichert dann jede der Bildgrößen im Uploads Mappe.

So regenerieren Sie vorhandene Bilder

Okay, wie regenerieren Sie alle vorhandenen Bilder, um Ihre neue Größe zu erhalten? Ich benutze Viper’s Plugin Thumbnails neu generieren. Es durchläuft alle Bilder und erstellt dann die neuen Größen.

So überprüfen Sie die neue Größe

Wie überprüfen Sie, ob Ihre neue Größe registriert wurde?

Die Registrierung wird in der globalen Variablen gespeichert $_wp_additional_image_sizes und mit dem Namen versehen, den Sie ihm gegeben haben, dh 'sela-grid-thumbnail'. Um zu sehen, ob es registriert wurde, können Sie Folgendes tun:

add_action('loop_start', 'check_if_image_size_is_registered');
/**
 * Check if the image size has been registered when the
 * Loop first starts.
 *
 * @since 1.0.0
 *
 * @return void
 */
function check_if_image_size_is_registered() {
    global $_wp_additional_image_sizes;

    if ( ! isset( $_wp_additional_image_sizes['sela-grid-thumbnail'] ) ){
        die('nope, not registered');
    }

    echo '<pre>';
    var_dump( $_wp_additional_image_sizes['sela-grid-thumbnail'] );
    echo '</pre>';

    die('yes, it is registered');
}

Wenn es registriert wurde, werden die Größen an den Browser ausgegeben. Sie können diese überprüfen, um sicherzustellen, dass sie die gewünschte Größe haben, dh 242 x 242.

Hat es die Größe 242 x 242 ausgegeben?

  • Wenn ja, ist Ihre Bildgröße registriert und Sie haben es richtig gemacht.
  • Wenn nein, müssen Sie zurückgehen und die Reihenfolge überprüfen, wann Sie dies getan haben add_image_size().

Was ist, wenn es registriert ist, aber die Bilder nicht formatiert sind?

Sie haben oben überprüft und die Bildgröße ist richtig registriert. Aber was tun, wenn das Bild, das Sie sehen, im Browser nicht die Größe von 242 x 242 hat?

Das ist ein anderes Problem. Es könnte sein:

  1. Die Bildgröße wurde beim Rendern an den Browser nicht angegeben. Angenommen, Sie verwenden the_post_thumbnail(). Der erste Parameter ist die Größe, die wäre 'sela-grid-thumbnail'. Überprüfen Sie den Code, in dem Sie aufrufen, um die Miniaturansicht des Beitrags zu rendern. Stellen Sie sicher, dass die Größe angegeben ist.
  2. CSS überschreibt die Größe. Öffnen Sie die Entwicklertools in Chrome oder Firefox und überprüfen Sie, ob die URL des Bildes die -242x242.jpg Suffix daran angehängt.

Wie WordPress das Bild rendert

Wenn Sie das Bild rendern und als festlegen 'sela-grid-thumbnail' für die Größe holt WordPress die entsprechende Datei aus dem uploads Mappe. Sagen wir, das Bild ist my-cool-background.jpg. WordPress würde sich das schnappen my-cool-background-242x242.jpg.

Sie können dies überprüfen, indem Sie die Entwicklertools in Chrome oder Firefox öffnen. Überprüfen Sie, ob sich die richtige Bilddatei im Browser befindet, d. h. sie hat die -242x242.jpg Suffix darauf.

  • Vielen Dank! Ich habe es noch nicht geschafft, das zum Laufen zu bringen, aber ich beginne zu verstehen, warum! 🙂

    – MariaCnx

    1. Dezember ’16 um 11:59

  • @MariaCnx Ich habe am Ende meiner obigen Antwort einige Debugging-Tipps für Sie hinzugefügt. Schritt 1: Überprüfen Sie, ob Ihre neue Größe registriert ist. Ich gebe Ihnen den Code oben, um das zu tun.

    – hallofromTonya

    1. Dez. ’16 um 19:58

.

255530cookie-checkBildgröße entfernen & Bildgröße im Child-Theme hinzufügen funcions.php funktioniert nicht

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy