如何使用wpalchemy复选框

时间:2012-09-04 06:46:19

标签: php wordpress

我使用以下代码在WordPress页面中创建一个复选框(在管理部分中):

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

    <!-- Some more code here for other fields -->

    <p class="checkbox">
    <input name="<?php $metabox->the_name('blue-block'); ?>" type="checkbox" value="1" <?php if ($metabox->get_the_value('blue-block')) echo ' checked="checked"'; ?>>
    <label>Do not use Blue Block for content</label>
    </p>

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

以上代码工作正常。我的问题是如何检查主网站(前端)上是否选中了此复选框?

以下是我的前端模板中的代码:

<?php
    $my_meta = get_post_meta($post->ID,'_sidebar_meta',TRUE);
    if ($my_meta['sidebar-block']) {
    foreach ($my_meta['sidebar-block'] as $sidebar)
    {
?>
<div id="aside-blue">
    <?php if ($sidebar['side_heading']) { ?>
        <h2 class="sideheading"><?php echo $sidebar['side_heading']; ?></h2>
    <?php } ?>
    <?php echo apply_filters( 'the_content', $sidebar['side_content'] ); ?>
</div>
<?php } ?>
<?php } ?>

我只想在选中复选框时添加id="aside-blue"


我尝试使用以下代码,但它无效

<?php
    $my_meta = get_post_meta($post->ID,'_sidebar_meta',TRUE);
    if ($my_meta['sidebar-block']) {
    foreach ($my_meta['sidebar-block'] as $sidebar)
    {
?>

<div <?php if ($sidebar['blue-block'] == 'yes') { ?>id="aside-blue"<?php } ?>>

</div>
<?php } ?>
<?php } ?>

1 个答案:

答案 0 :(得分:0)

在wp_postmeta表中检查值的存储方式。当我使用复选框时,值被序列化。在使用元值之前,您可能需要unserialize