循环自定义帖子类型作为wp炼金术中的复选框

时间:2013-02-26 09:52:30

标签: wordpress

我在使用Wordpress时遇到了一些麻烦。我正在使用wpalchemy将自定义元字段添加到我的帖子类型中。我有一个帖子类型的员工和一个帖子类型的客户。我希望在客户元框上列出所有具有复选框的员工,以便管理员可以显示员工与每个客户的合作情况。我到目前为止的代码是:

<?php

        $type = 'medewerkers';
        $args = array(
            'post_type' => $type,
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'caller_get_posts'=> 1
        );

        $my_query = null;
        $my_query = new WP_Query($args);

        if( $my_query->have_posts() ) {

            $metabox->the_group_open();
            while ($my_query->have_posts()) : $my_query->the_post(); ?>
                <?php

                    $meta = get_post_meta(get_the_ID());
                    $naam = $meta['voornaam'][0].' '.$meta['achternaam'][0];

                ?>
                    <br/><?php $metabox->the_field($naam); ?>
                    <img src="<?php echo $meta['pasfoto'][0]; ?>" height="40" width="40" style="vertical-align: middle">
                    <input type="checkbox" name="<?php $metabox->the_name(); ?>" value="1"<?php if ($metabox->get_the_value()) echo ' checked="checked"'; ?>/> <?php echo $naam; ?>

                <?php

                endwhile;
            $metabox->the_group_close();
        }
    ?>

它有效,但我不满意。员工存储为单独的项目而不是数组。我希望能够循环,例如,通过前端的数组来显示与当前客户端相关联的所有员工。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我已设法修复它:

<?php

        $type = 'medewerkers';
        $args = array(
            'post_type' => $type,
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'caller_get_posts'=> 1
        );

        $my_query = null;
        $my_query = new WP_Query($args);

        if( $my_query->have_posts() ) {

            while($mb->have_fields_and_multi('medewerkers')):
            $mb->the_group_open();
            while ($my_query->have_posts()) : $my_query->the_post(); ?>
                <?php

                    $meta = get_post_meta(get_the_ID());
                    $naam = $meta['voornaam'][0].' '.$meta['achternaam'][0];

        ?>
                    <?php $metabox->the_field($naam); ?>
                    <img src="<?php echo $meta['pasfoto'][0]; ?>" height="40" width="40" style="vertical-align: middle">
                    <input type="checkbox" name="<?php $metabox->the_name(); ?>" value="1"<?php if ($metabox->get_the_value()) echo ' checked="checked"'; ?>/> <?php echo $naam; ?>
        <?php
            endwhile;
            $mb->the_group_close();
            endwhile;
        }

    ?>