WpalChemical重复字段下拉列表问题

时间:2013-09-24 作者:Alok Jain

我需要允许用户从下拉列表中选择投资组合项目,这些选定的投资组合项目将显示在主页上。

我使用wpalchemy类创建了可重复的部分,该部分包含所有公文包页面的下拉列表。

问题是,每当我点击更新按钮时,下拉列表的副本就会自动添加到重复列表中。

<?php while($mb->have_fields_and_multi(\'col1-project\')): 
    $mb->the_group_open(); 
    $mb->the_field(\'portfolio-list1\');
    $args = array (
        \'name\' => $mb->get_the_name(),
        \'id\' => $mb->get_the_name(),
        \'selected\' => html_entity_decode($mb->get_the_value()),
        \'post_type\' => \'portfolio\'
    );
    wp_dropdown_pages($args); 
    $mb->the_group_close();
endwhile; ?>
要点:https://gist.github.com/alokjain-lucky/6682775

1 个回复
最合适的回答,由SO网友:Alok Jain 整理而成

我将代码更改为循环遍历所有页面,而不是使用wp_dropdown_pages() 作用

以下是新代码

<?php while($mb->have_fields_and_multi(\'col2-project\')): ?>
<?php $mb->the_group_open(); ?>

    <p>
        <span>Select Project</span>
        <?php $mb->the_field(\'project-id-2\'); ?>
        <select name="<?php $mb->the_name(); ?>">
            <option value="">None</option>
            <?php
                global $thispost;
                $myposts = get_pages(\'post_type=portfolio&post_status=publish\');

                foreach($myposts as $thispost) :
            ?>
            <option value="<?php echo $thispost->ID; ?>" <?php $mb->the_select_state($thispost->ID);?> ><?php echo get_the_title($thispost->ID); ?></option>

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

<?php $mb->the_group_close(); ?>
<?php endwhile; ?>
前面代码的问题是没有空值,所以每次单击更新按钮时都会保存一个新值。

现在我添加了<option value="">None</option> 作为默认值。

结束

相关推荐

WP_EDITOR和WPAlChemy在更新时会弄乱标签

使用wp\\U编辑器时,我会将文本粘贴到可视化编辑器中。如果我切换到HTML编辑器,我的所有标记都在那里。到目前为止,没有问题。当我更新这个东西时,我的所有标记都会出现在我的可视化编辑器和HTML中,它们会变成这样:&lt;p&gt;&lt;strong&gt; 如果我再次更新,标签将显示在我的页面上。所以我只能编辑一次我的文本。如果我更新了不止一次,标签就会出现,一切都会变得一团糟。有人知道发生了什么事吗?我正在使用该行创建wp\\U编辑器:<?php $