web-dev-qa-db-fra.com

wp alchemy plusieurs images pour le téléchargement d'images par uploader vers le modèle

J'utilise wp alchemy pour ajouter une metabox personnalisée à mon site avec plusieurs options de téléchargement d'images. Cette partie fonctionne bien, mais je ne vois pas comment sortir les liens d’image vers mon modèle. J'espère sortir sous forme de liste non ordonnée.

fichier setup.php

<?php

include_once WP_CONTENT_DIR . '/wpalchemy/MetaBox.php';
include_once WP_CONTENT_DIR . '/wpalchemy/MediaAccess.php';

// include css to help style our custom meta boxes
add_action( 'init', 'my_metabox_styles' );

function my_metabox_styles()
{
    if ( is_admin() )
    {
        wp_enqueue_style( 'wpalchemy-metabox', get_stylesheet_directory_uri() . '/metaboxes/meta.css' );
    }
}

$wpalchemy_media_access = new WPAlchemy_MediaAccess();

custom-spec.php

<?php
$custom_mb = new WPAlchemy_MetaBox(array
(
    'id' => '_custom_meta',
    'title' => 'Add images to home page slider',
    'template' => get_stylesheet_directory() . '/metaboxes/custom-meta.php',
    'include_template' => 'home.php'
));
?>

custom-meta.php

<?php global $wpalchemy_media_access; ?>
<div class="my_meta_control">

    <p><a href="#" class="dodelete-docs button">Remove All</a></p>

    <?php while($mb->have_fields_and_multi('docs')): ?>
    <?php $mb->the_group_open(); ?>

        <a href="#" class="dodelete button">Remove</a>

        <?php $mb->the_field('imgurl'); ?>
        <?php $wpalchemy_media_access->setGroupName('img-n'. $mb->get_the_index())->setInsertButtonLabel('Insert'); ?>

        <p>
            <?php echo $wpalchemy_media_access->getField(array('name' => $mb->get_the_name(), 'value' => $mb->get_the_value())); ?>
            <?php echo $wpalchemy_media_access->getButton(); ?>
        </p>

        <?php $mb->the_field('title'); ?>
        <label for="<?php $mb->the_name(); ?>">Title</label>
        <p><input type="text" id="<?php $mb->the_name(); ?>" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></p>

    <?php $mb->the_group_close(); ?>
    <?php endwhile; ?>

    <p style="margin-bottom:15px; padding-top:5px;"><a href="#" class="docopy-docs button">Add</a></p>

</div>

fichier functions.php

include_once 'metaboxes/setup.php';

include_once 'metaboxes/custom-spec.php';
1
Anders Kitson

Avez-vous un code de sortie que nous pouvons référencer?

Mettez ceci dans votre fichier de thème:

     <img src="<?php get_the_value('imgurl'); ?>” style=”width:100px;height:100px” />

si vous en avez plusieurs, vous devrez passer par une boucle foreach:

<?php

foreach ($meta['imgurl'] as $img )
{
    echo '<a href="#" /><img src="'. $img .'" /></a>';
}
?>

J'espère que cela vous aidera, je ne connais pas vraiment ce cours Metabox, mais j'en ai utilisé beaucoup et il semble que cela fonctionnerait de cette façon.

Bonne chance!

2
David

Voici le code que j'utilise:

<?php
        global $custom_mb;

        // instead of using helper functions, you can also use ...
        $sch = get_post_meta(get_the_ID(), $custom_mb->get_the_id(), TRUE);

        foreach ($sch['docs'] as $img)
        {
            echo $img['imgurl'];
        }   
?>

Presque a bien fonctionné.

0
Trần Minh Đức