数据验证/清理回调函数

Data validation / Sanitization callback function

我在我的 WP 主题的定制器中添加了一个部分,允许用户更改主题第一页上显示的类别。但是,在使用 Theme Check 插件进行检查时,它返回了以下错误:

必需:找到没有清理回调函数的定制程序设置。每次调用 add_setting() 方法都需要传递一个清理回调函数。 我不知道如何将此功能添加到我的代码中。如果你能帮忙,这里是代码:

http://pastebin.com/xksf3vWd

提前致谢!

默认情况下,定制器不处理用户输入值的验证和清理。因此,必须在将这些值保存到数据库之前对其进行清理。

WP_Customizer 对象的 add_setting() 方法接受一个 'sanitize_callback' 参数,可用于指定清理回调。因此,在每个 add_setting() 调用中,添加清理回调函数。

$wp_customize->add_setting( 'first_category', array(
    'default'           => 'Uncategorized',     // The default category name.
    'sanitize_callback' => 'ys_sanitize_category',  // Sanitize callback function name
) );

清理回调函数:

function ys_sanitize_category( $category ) {
    if ( ! in_array( $category, array( 'Uncategorized', 'Blogposts', 'News' ) ) ) { // Add the names of your categories here. Use get_categories() to fetch them dynamically.
        $category = 'Uncategorized';
    }
    return $category;
}