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';
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!
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é.