wake-up-neo.com

Wie Sie CMB2 dazu bringen, ein einzelnes Bild in einer bestimmten Größe anzuzeigen

Es wurde versucht, das CMB2-Plug-In zu veranlassen, ein Bild in der WP Standard-Mittelgröße auf der Seite anzuzeigen. Ich kann ein Bild anzeigen lassen, aber das Bild kann eine beliebige Größe haben, die der Benutzer haben möchte. Es wäre mir lieber, wenn es auf eine feste Größe zugeschnitten würde.

In den Funktionen habe ich die CMB eingerichtet:

        add_action( 'cmb2_admin_init', 'cmb2_page' );

        function cmb2_page() {

        $prefix = 'cmb_one_';


        $cmb_two->add_field( array(
          'name'          => __( 'Image Loader', 'cmb2' ),
          'desc'          => 'Upload an image or enter an URL.',
          'id'            => $prefix . 'image_two',
          'type'          => 'file',
            'options' => array(
                'url' => true,
            ),
            'text'    => array(
                'add_upload_file_text' => 'Add Image' 
            ),
            'query_args' => array(
                'type' => array(
                    'image/jpeg',
                    'image/png',
                ),
            ),
            'preview_size' => 'medium', // Image size to use when previewing in the admin.
           ) );

        }

auf der Seite habe ich:

      <?php
          echo $image_two = wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two', 1 ), 'medium' );
      ?>

und ich kann das Bild zeigen, wenn ich nur benutze:

      <?php
          echo  '<img src="'. $image_two .'"  alt="image dis">';
      ?>

Aber wenn ich das tue, gibt es keine Möglichkeit, die Bildgröße zu steuern?

2
Noski

Sie können die ID des Anhangs abrufen und diese dann verwenden, um die von Ihnen benötigte Größe zu ermitteln.

https://github.com/CMB2/CMB2/wiki/Field-Types#file

Ein Datei-Uploader. Standardmäßig speichert es die Datei-URL und lässt entweder Anhänge oder URLs zu. In diesem Feldtyp wird auch die Anhangs-ID gespeichert (nützlich, um verschiedene Bildgrößen zu erhalten). Es wird in $ id gespeichert. '_id' , wenn Ihre Feld-ID also wiki_test_image ist, wird die ID in wiki_test_image_id gespeichert. Sie können es auch darauf beschränken, nur Anhänge zuzulassen (eine URL kann nicht manuell eingegeben werden). Dies ist auch hilfreich, wenn Sie die Anhangs-ID verwenden möchten. Das Beispiel zeigt seine Standardwerte, wobei mögliche Werte inline kommentiert sind.

wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two_id', 1 ), 'medium' );

wenn Sie es auf eine andere Größe zuschneiden möchten:

wp_get_attachment_image( get_post_meta( get_the_ID(), 'cmb_one_image_two_id', 1 ), 'different_size' );

und in functions.php benutze add_image_size

add_image_size( 'different_size', 220, 180 );
2
sandrodz