所以我的问题是:我创建了一个名为“项目”的自定义帖子类型。我已经通过WPAlchemy成功添加了几个代谢组。这些很好用。我遇到的问题是,当我为相关项目创建带有复选框的元框时,我可以使用复选框列出所有项目标题,但当我至少选择一个并保存自定义帖子时,它会重写Slug。我想是因为我打电话<?php the_title(); ?>
. 下面是我的meta PHP文件代码:
<div class="my_meta_control">
<p>Add or subtract Athena projects related to this project.</p>
<label>Available Projects</label><br/>
<?php
$items = new WP_Query(array(
\'post_type\' => \'athena_project\',
\'posts_per_page\' => 1000
));
while ( $items->have_posts() ) : $items->the_post();
?>
<input type="checkbox" name="<?php $mb->the_name(); ?>" value="<?php echo the_title(); ?>"/><?php the_title(); ?><br />
<?php endwhile; wp_reset_query(); ?>
<br />
<input type="submit" class="button-primary" name="save" value="Save" />
</div>
有没有人有好的建议来回避这个问题?
最合适的回答,由SO网友:duckie715 整理而成
因此,在多次咒骂和拉扯头发之后,解决方案是放弃WP\\u查询,转而使用get\\u帖子,同时引用post_title
像这样:
<div class="my_meta_control">
<p>Add or subtract Athena projects related to this project.</p>
<label>Available Projects</label><br/>
<?php
$args = array(\'post_type\' => \'athena_project\', \'posts_per_page\' => 1000);
$items = get_posts($args);
$mb->the_field(\'item\', WPALCHEMY_FIELD_HINT_CHECKBOX_MULTI);
foreach ($items as $item) { ?>
<input type="checkbox" name="<?php $mb->the_name(); ?>" value="<?php echo $item->post_title; ?>" <?php $mb->the_checkbox_state($item->post_title); ?> /><?php echo $item->post_title; ?><br />
<?php } ?>
<br />
<input type="submit" class="button-primary" name="save" value="Save" />
</div>
现在一切都很顺利。