1

我正在开发一个 wordpress 主题,并决定使用 WP Theming 的 Options-Framework 为我的主题创建一个选项面板。实现工作正常,但现在我想为图像滑块创建一个自己的选项类型。此选项应包含四个选项(图像上传、文本区域和 2x 文本输入)的数组。像这样:

$options[] = array(
    'name' => __('Slider - Test', 'lbprojects'),
    'desc' => __('Test the slider functionality.', 'lbprojects'),
    'id' => 'slider1',
    'std' => array( 'image' => '', 'text' => 'Text',  'title' => 'Titel', 'link' => 'Link' ),
    'type' => 'slider');

我复制了“背景”选项的代码块,它也加入了某些表单元素。但是下面的代码不能正常工作。输入正在显示并包含预定义的值,但在保存操作时,字段会重置并且选项不会被保存。我还看了一下这个函数,它实际上是在保存,但不知道要改变什么。

// Slider
case 'slider':

    $slider = $val;

    // Slider Image - New AJAX Uploader using Media Library
    if (!isset($slider['image'])) {
        $slider['image'] = '';
    }

    $output .= optionsframework_medialibrary_uploader( $value['id'], $slider['image'], null, '',0,'image');
    $class = 'of-background-properties';
    if ( '' == $slider['image'] ) {
        $class .= ' hide';
    }
    $output .= '<div class="' . esc_attr( $class ) . '">';

    // Title
    $output .= '<input id="' . esc_attr( $value['id'] . '_title' ) . '" class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . '][title]' ) . '" type="text" value="' . $slider['title'] . '" />';

    // Link
    $output .= '<input id="' . esc_attr( $value['id'] . '_link' ) . '" class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . '][link]' ) . '" type="text" value="' . $slider['link'] . '" />';

    // Text
    $rows = '5';

    if ( isset( $value['settings']['rows'] ) ) {
        $custom_rows = $value['settings']['rows'];
        if ( is_numeric( $custom_rows ) ) {
            $rows = $custom_rows;
        }
    }

    $val = stripslashes( $val );
    $output .= '<textarea id="' . esc_attr( $value['id'] . '_text' ) . '" class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . '][text]' ) . '" rows="' . $rows . '">' . $slider['text'] . '</textarea>';
    $output .= '</div>';

    break;

有谁知道如何解决这个问题并将自定义类型添加到选项面板?我是否必须更改框架的任何其他功能(例如清理等)?

谢谢卢卡斯

4

0 回答 0