WordPress /在自己的插件中添加几个输入

时间:2018-07-24 14:15:39

标签: php wordpress list input repeater

在我的输入字段中,我可以将数据添加到“ options.php”中并显示它。但是我如何才能通过单击按钮(例如:“添加新”)来生成第二/第三/ ...输入字段,并在“ options.php”中安全保存此数据?

function ww_contact_new_page() {
?>
<form method="post" action="options.php">
    <?php settings_fields( 'ww-contact-settings-group' );
    do_settings_sections( 'ww-contact-settings-group' ); ?>
    <input type="text" name="ww_contact_name" placeholder="/impressum" value="<?php echo esc_attr( get_option('ww_contact_name') ); ?>" />
    <?php submit_button(); ?>
</form>
<?php}

/* Register */
function register_ww_contact_settings() {
register_setting( 'ww-contact-settings-group', 'ww_contact_name' );}

1 个答案:

答案 0 :(得分:0)

最好使用CMB2之类的框架来为您完成繁重的工作

  

CMB2是开发人员的工具包,用于构建元框,自定义字段,   WordPress的表格和表格会让您大吃一惊。

您可以创建输入组并重复它们,或者创建具有重复输入的组

<?php

$group_field_id = $cmb->add_field(array(
    'id'          => 'wiki_test_repeat_group',
    'type'        => 'group',
    'description' => __('Generates reusable form entries', 'cmb2'),
    'repeatable'  => false, 
    'options'     => array(
        'group_title'   => __('Entry {#}', 'cmb2'), 
        'add_button'    => __('Add Another Entry', 'cmb2'),
        'remove_button' => __('Remove Entry', 'cmb2'),
        'sortable'      => true,
    ),
));

$cmb->add_group_field($group_field_id, array(
    'name' => 'Entry Title',
    'id'   => 'title',
    'type' => 'text',
    'repeatable' => true,
));

另请参阅Using CMB to create an Admin Theme Options Page