web-dev-qa-db-fra.com

get_posts dans la liste déroulante des méta-boîtes ne montrant pas les derniers messages

J'ai mis en place une métabox à l'aide de WPAlchemy qui permet aux auteurs d'ajouter un lien vers une publication associée. Cela fonctionne bien depuis des mois, mais pour une raison quelconque, la liste déroulante contenant les publications appropriées n’est pas mise à jour. Voici le code dans le fichier de post-méta php personnalisé:

<p>

<?php $mb->the_field(‘product_video_ID’); ?>
<select name=”<?php $mb->the_name(); ?>”>
<option value=”">None</option>

<?php

global $thispost;
$myposts = get_posts(‘numberposts=5000&offset=1′);

foreach($myposts as $thispost) :
if (in_category(“Product Videos”, $thispost)) {
?>
<option value=”<?php echo $thispost->ID; ?>” <?php $mb->the_select_state($thispost->ID);?> ><?php echo get_the_title($thispost->ID); ?></option>

<?php } ?>

<?php endforeach; ?>
<?php setup_postdata($thispost);?>
</select>
</p>

J’ai essayé d’ajouter quelques messages d’essai dans la catégorie Vidéos sur les produits et ils ne se sont pas montrés non plus. J'ai commenté les lignes filtrées pour cette catégorie et le menu déroulant Boîte à méta mis à jour pour afficher chaque message… sauf celui que je voulais et les nouveaux. Quelqu'un a une idée de ce qui pourrait se passer? Y at-il une partie de la machinerie ici qui n’est pas mise à jour que je devrais réparer? Merci beaucoup!

1
James Morrison

Essayez WP_Query pour obtenir les posts, puisque get_posts() en fait aussi usage:

$args = array(
    'category_name' => 'product-videos',
    'posts_per_page' => 5000, // or -1 if you want all
    'offset' => 1
);

$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ):
        $the_query->the_post();
        ?>
        <option value=”<?php the_ID(); ?>” <?php $mb->the_select_state(get_the_ID());?> ><?php echo get_the_title(get_the_ID()); ?></option>
        <?php
    endwhile;
endif;
0
Mike Madern