如何显示从Metabox到单个帖子Wordpress的Chechbox结果?

时间:2017-09-15 00:04:49

标签: php wordpress

问大家,我有问题。在这里,我尝试使用多个chechbox到我的自定义帖子metabox。

<?php

    function prodetail() {
        add_meta_box('pro_metabox', 'Detail Property', 'pro_metabox', 'property', 'normal', 'default');
    }

    function pro_metabox() {
        global $post;
        echo '<input type="hidden" name="eventmeta_noncename" id="eventmeta_noncename" value="' .
        wp_create_nonce( plugin_basename(__FILE__) ) . '" />';

        $postmeta = maybe_unserialize( get_post_meta( $post->ID, 'elements', true ) );


            $elements = array(
                'pool' => 'Pool',
                'garage' => 'Garage',
                'balcon' => 'Balcon',
                'yard' => 'Yard',
                'internet' => 'Internet'
            );

            foreach ( $elements as $id => $element) {
                if ( is_array( $postmeta ) && in_array( $id, $postmeta ) ) {
                    $checked = 'checked="checked"';
                } else {
                    $checked = null;
                }
                ?>

                <div class="pro-inn">
                    <div class="procols"> 
                        <div class="pro-inn">
                            <input  type="checkbox" name="multval[]" value="<?php echo $id; ?>" <?php echo $checked; ?> />
                            <?php echo $element;?>
                        </div>
                    </div>
                </div>

                <?php 

            }
    }


    function pro_meta($post_id, $post) {
        if ( !wp_verify_nonce( $_POST['eventmeta_noncename'], plugin_basename(__FILE__) )) {
        return $post->ID;
        }

        if ( !current_user_can( 'edit_post', $post->ID ))
            return $post->ID;

        if ( ! empty( $_POST['multval'] ) ) {
               update_post_meta( $post_id, 'elements', $_POST['multval'] );
            } else {
                delete_post_meta( $post_id, 'elements' );
        }

    }
    add_action('save_post', 'pro_meta', 1, 2); 

?>

帮我添加代码以将此检查结果显示给single.php,因为我的代码使用foreach只显示数组文本不显示像Pool Garage Balcon等文本。

由于

1 个答案:

答案 0 :(得分:1)

在single.php文件中使用此代码作为自定义帖子

$meta_value = get_post_meta( $post->ID, 'elements', true );
foreach($meta_value as $key=>$value){
    echo  $value . ' ';
}

它会显示与您在问题中提到的结果相同的结果,即:

(Pool Garage Balcon等)