Please help me understand how to make Multicheck type for metabox. Search for all internet and nothing. Thanks.
UPDATE
@Jan I have a headache from this function. I dont know whats wrong.I’m trying your method but nothing, then I’m trying get_posts but with this method I have too many troubles. With your method I get this error before content:
Warning: urldecode() expects parameter 1 to be string, array given in Z:homemysite.netwwwwp-includesquery.php on line 1878
Here is my code:
<?php
$catids = get_post_meta($post->ID,'_mtb_multicheck',false);
$limit = 10;
query_posts( array('posts_per_page' => $limit, 'cat' => $catids, 'paged' => get_query_var('paged') ) );
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<!-- Content-->
<?php endwhile; ?>
<?php pagination(); ?>
<?php else : ?>
<!--Error message here-->
<?php endif; ?>
I want to know what my vatiables return. Make this:
query_posts( array('posts_per_page' => $limit, 'cat' => print_r($catids), 'paged' => get_query_var('paged') ) );
and get this on my page:
Array ( [0] => 5 [1] => 5 [2] => 3 )
I think it’s my query_posts printed, not $catids. It’s a big, big trouble. I feel myself like a nerd. Please help me.
The post metadata can store multiple values either as distinct entries in the
postmeta
table, or as one entry with the value as a serialized PHP array. The serialization may require less code, but the distinct entries allow faster querying later (“give me all posts that have at least option A of the multicheck checked”).I took the code you linked to and made the following changes to allow a “multicheck”:
Two extra changes to prevent PHP warnings when
WP_DEBUG
is enabled:With these changes, you can use a “multicheck” by defining it like this: