为用户列表下拉菜单创建自定义清理功能时出现问题

时间:2014-12-04 作者:curious_curious

我正在尝试在主页上创建一个自定义作者信息框,当从主题定制器中选择用户时,该信息框将通过从用户配置文件中获取信息自动生成。

我遵循了下面的用户列表下拉列表代码article 这对我来说非常有效。但我不知道如何消毒。

Github链接Custom_User_Dropdown_control

下面是我使用的代码示例。

/* custom user dropdown control */
$wp_customize->add_setting( \'custom_user_id\', array(
    \'default\'           => \'\',
    \'sanitize_callback\'     => \'custom_sanitize_user_id\',
));
$wp_customize->add_control( new Custom_User_Dropdown_Control( $wp_customize, \'custom_user_id\', array(
    \'label\'             => __( \'Select Author\', \'text domain\' ),
    \'section\'           => \'custom_author_info\',
    \'settings\'          => \'custom_user_id\',
)));
我只想清理自定义用户列表下拉控件。

我知道如何清理一个普通的选择列表,但为此我不知道如何做。下面是我用来清理普通选择列表的代码示例。

function example_sanitize_code( $input ) {
    $valid = array(
        \'option1\' => \'option1\',
        \'option2\' => \'option2\',
        \'option3\' => \'option3\',
    );

    if ( array_key_exists( $input, $valid ) ) {
       return $input;
    } else {
       return \'\';
    }
}
有人能帮忙吗?:)

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

如果要验证数据,则必须尝试通过ID检索用户。

只清理ID,因为它是数字足以将其转换为整数,absint() 作为回调可以正常工作。

结束

相关推荐

Post order by selected tags

假设您想显示带有标记的帖子:“HTML,CSS”。我想按以下顺序在tag archive中订购帖子:贴子只标记了两个标签-HTML,CSS贴子只标记了两个标签-HTML,CSS贴子标记了三个标签-HTML,CSS,jQuery贴子标记了三个标签-HTML,CSS,ZEND贴子标记了四个标签-HTML,CSS,JavaScript,PHP等。因此,第一个结果应该只输出带有精确指定标记的帖子。在没有更多贴子仅使用这两个标签进行标记后,输出贴子将标记这两个标签+仅再标记一个标签。等等我应该使用什么?两个wpQu