WPAlChemy Metabox重写插件

时间:2014-05-30 作者:duckie715

所以我的问题是:我创建了一个名为“项目”的自定义帖子类型。我已经通过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>
有没有人有好的建议来回避这个问题?

1 个回复
最合适的回答,由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>
现在一切都很顺利。

结束

相关推荐

在自定义帖子类型中添加带有媒体上传器的metabox

我需要创建一个“media uploader metabox”,并将其添加到我的自定义帖子类型中。我已经创建了普通的元盒,添加到自定义帖子类型的函数和保存它们的函数,我只需要使用wordpress的媒体上传器,但我不知道如何做到这一点。之后,我会插入类似“添加更多图像”的内容,在页面中添加更多元数据库诸如此类: