So verwenden Sie den visuellen Komponisten „attach_images“ wie in einem Shortcode

Lesezeit: 3 Minuten

Benutzer-Avatar
Pam

Ich versuche, einen benutzerdefinierten Bild-Schieberegler mit dem visuellen Komponisten “attach_images” zu erstellen, kann aber nicht ganz herausfinden, wie ich die URLs aus dem Array von Bild-IDs abrufen kann. Jede Hilfe wäre willkommen.

var_dump($bg_images) gibt string(9) “19,6,1692” zurück

vc_map( array(
     "name" => __( "Fading Background Block", "farrat_vc" ),
     "base" => "block_background",
     "class" => "",
     "category" => __( "Farrat Shortcodes", "farrat_vc"),
     "as_parent" => array('except' => 'farrat_panel'), // Use only|except attributes to limit child shortcodes (separate multiple values with comma)
     "content_element" => true,
     "show_settings_on_create" => true,
     "is_container" => true,
     'admin_enqueue_css' => array(get_template_directory_uri().'/wp-content/themes/unite/inc/css/gallery.css'),
     "params" => array(
            array(
                 "type" => "attach_images",
                 "heading" => __( "Backgroud Images", "farrat_vc" ),
                 "param_name" => "bg_images",
            ),
        ),
  "js_view" => 'VcColumnView'
) );

  • Es wäre schön, wenn Sie ein wenig Code einfügen würden, der zeigt, was Sie versucht haben oder welche Daten Sie zurückerhalten. Das kann helfen, eine nützlichere Antwort für Ihre Situation zu erhalten.

    – cjbarth

    5. Januar 2017 um 16:20 Uhr

  • @cjbarth Ich habe die VC_map hinzugefügt, ich habe den Shortcode noch nicht fertig erstellt

    – Pam

    5. Januar 2017 um 16:32 Uhr

// Hallo, versuche das hier, das funktioniert perfekt

//Param Registration

  function designas_partners() {
    // Title
    vc_map(
        array(
            'name' => __( 'Clients' ),
            'base' => 'designas_partners_content',
            'category' => __( 'Easy Component' ),
            'params' => array(


                array(
                "type"        => "attach_images",
                "heading"     => esc_html__( "Add Clients Images", "appcastle-core" ),
                "description" => esc_html__( "Add Clients Images", "appcastle-core" ),
                "param_name"  => "screenshots",
                "value"       => "",
                ),

            )
        )
    );
    }

add_action( 'vc_before_init', 'designas_partners' );

// Kurzcode

function designas_partners_content_function( $atts, $content ) {
$gallery = shortcode_atts(
    array(
        'screenshots'      =>  'screenshots',
    ), $atts );

 $image_ids = explode(',',$gallery['screenshots']);
 $return = '
    <div class="clients">';
    foreach( $image_ids as $image_id ){
    $images = wp_get_attachment_image_src( $image_id, 'company_logo' );
    $return .='<div class="images"><img src="'.$images[0].'" alt="'.$atts['title'].'"></div>';
    $images++;
    }
    $return .='</div>';
return $return;
}   
add_shortcode( 'designas_partners_content', 'designas_partners_content_function' ) 

  • Ich möchte diese Art von Lösung für meinen benutzerdefinierten Kurzcode und meinen visuellen Komponisten, und es funktioniert gut, danke für das Teilen von Wissen.

    – Avi

    10. August 2017 um 12:44 Uhr


  • Vielen vielen Dank.

    – sushovan bhowmik

    11. August 2017 um 13:24 Uhr

  • Danke dafür, hat sehr geholfen, ich habe deine Schleife für weniger Code reduziert, der das Gleiche tut, schau mal 😉

    – Rodrigo Zuluaga

    31. Januar 2019 um 16:38 Uhr


Ich habe eine nette Problemumgehung für diesen auf der Schleife, es gibt keine Notwendigkeit für den Zähler, Schleife über wp_get_attachment_image( $image_id, 'full' ); erhalten Sie alle Informationen, die Sie im WordPress-Panel verwenden.

Ich danke @sushovan bhowmik hat danach gesucht, ich denke, das wird helfen, viele Variablen zu vermeiden, die die Bilder aufrufen 🙂

<?php

function vc_gallery_carrousel($atts, $content) {
  // Attributes
  $gallery = shortcode_atts(
    array(
    'carrousel_images'  =>  'carrousel_images',
  ),
    $atts );
  // Attributes in var
  $image_ids=explode(',',$gallery['carrousel_images']);


  // Output Code
  $output .= '<section class="loopclientsimg">';
  $output .= '<article>';
  $output .= '<div>';
  $output .= '<ul>';

  foreach( $image_ids as $image_id ){
    $output .='<li>';
    $output .= wp_get_attachment_image( $image_id, 'full' );
    $output .='</li>';
  }

  $output .= '</ul>';
  $output .= '</div>';
  $output .= '</article>';
  $output .= '</section>';

  return $output;
}

add_shortcode( 'vc_img_carrousel', 'vc_gallery_carrousel' );

1145120cookie-checkSo verwenden Sie den visuellen Komponisten „attach_images“ wie in einem Shortcode

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

Privacy policy