custom metabox for post
<?php
add_action( 'add_meta_boxes', 'so_custom_meta_box' );
function so_custom_meta_box($post){
add_meta_box('so_meta_box', 'Custom Box', 'custom_element_grid_class_meta_box', 'post', 'side' , 'high');
}
add_action('save_post', 'so_save_metabox');
function so_save_metabox(){
global $post;
if(isset($_POST["post_1"])){
//UPDATE:
$meta_element_class = $_POST['post_1'];
//END OF UPDATE
update_post_meta($post->ID, 'post_1', $meta_element_class);
//print_r($_POST);
}
if(isset($_POST["post_2"])){
//UPDATE:
$meta_element_class = $_POST['post_2'];
//END OF UPDATE
update_post_meta($post->ID, 'post_2', $meta_element_class);
//print_r($_POST);
}
}
function custom_element_grid_class_meta_box($post){
$meta_element_class = get_post_meta($post->ID, 'custom_element_grid_class_meta_box', true); //true ensures you get just one value instead of an array
$posts_loop = new WP_Query(
array(
'posts_per_page' => -1,
'cat' => get_the_category()[0]->cat_ID
)); ?>
<?php $post_meta = get_post_meta($post->ID) ?>
<?php print_r($post_meta['post_1'][0]); ?>
<pre><?php print_r(get_post_meta(get_the_ID())); ?> </pre>
<select id= "post_1" name="post_1">
<option value=""> <?php echo __('בחר', 'bestvision'); ?></option>
<?php if($posts_loop->have_posts()) : ?>
<?php while($posts_loop->have_posts()) : $posts_loop->the_post(); ?>
<option value="<?php echo get_the_ID(); ?>" <?php if ( $post_meta['post_1'][0] == get_the_ID() ) echo 'selected="selected"'; ?> > <?php echo get_the_title(); ?> </option>
<?php endwhile; ?>
<?php endif; ?>
</select>
<select id= "post_2" name="post_2">
<option value=""> <?php echo __('בחר', 'bestvision'); ?></option>
<?php if($posts_loop->have_posts()) : ?>
<?php while($posts_loop->have_posts()) : $posts_loop->the_post(); ?>
<option value="<?php echo get_the_ID(); ?>" <?php if ( $post_meta['post_2'][0] == get_the_ID() ) echo 'selected="selected"'; ?> > <?php echo get_the_title(); ?> </option>
<?php endwhile; ?>
<?php endif; ?>
</select>
<?php wp_reset_query(); ?>
<?php
}