0

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();
        }
    ?>

それは動作しますが、私は満足していません。従業員は、配列ではなく個別のアイテムとして格納されます。たとえば、フロントエンドの配列をループして、現在のクライアントに関連付けられているすべての従業員を表示できるようにしたいです。

どんな助けでも大歓迎です。

4

1 に答える 1

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;
        }

    ?>
于 2013-02-26T11:31:23.780 に答える