私は私のサイトにカスタムメタボックスを追加するのに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';
参照できる出力コードはありますか。
これをあなたのテーマファイルに入れてください。
<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クラスを知らない、しかし私は多くを使った、そしてそれはそれがこのように働くだろうように思われる。
がんばろう!
これが私が使っているコードです:
<?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'];
}
?>
ほとんどうまくいった。