web-dev-qa-db-ja.com

wp錬金術複数画像アップローダー出力画像テンプレート

私は私のサイトにカスタムメタボックスを追加するのにwp alchemyを使っています。この部分はうまく機能していますが、テンプレートへの画像リンクの出力方法についてはわかりません。順不同リストとして出力することを望んでいます。

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>

functions.phpファイル

include_once 'metaboxes/setup.php';

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

参照できる出力コードはありますか。

これをあなたのテーマファイルに入れてください。

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

複数ある場合は、foreachループを通過する必要があります。

<?php

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

これが役立つことを願って、私は本当にこのMetaboxクラスを知らない、しかし私は多くを使った、そしてそれはそれがこのように働くだろうように思われる。

がんばろう!

2
David

これが私が使っているコードです:

<?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'];
        }   
?>

ほとんどうまくいった。

0