在WordPress wp_Customize中使用的输出Foreach循环

时间:2021-01-13 作者:Knott

我正在尝试从主题定制器中动态输出一些设置。我用这个custom controls, 示例3。

如何输出设置,以便所选选项以其在Customizer中的放置顺序显示?

到目前为止,我尝试过但没有成功:

    $box = get_theme_mod( \'sample_pill_checkbox3\' ) ;
 
    switch ( $box ) {

                case \'author\':
                echo \'Author\';
                break;

                case \'date\':
                echo \'Date\' ;
                break;
}
基本上,如果选择了作者和日期,并且日期放在第一位,那么我需要出现在前端,日期先出现,然后是作者。

非常感谢。

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

您有疑问的代码(switch ( $box )) 因为$box 变量的形式为<value>,<value>,<value>,..., i、 e.以逗号分隔的值列表(如默认值hereauthor,categories,comments), 因此,为了访问该列表中的每个值,您需要将这些值解析为一个数组,例如使用本机explode() 函数,就像主题作者did it.

然后,只需在数组中循环并运行switch 调用数组中的每个项。(请注意,这些项目已经按照通过自定义程序放置的相同顺序排列)

Working Example

$list = explode( \',\', $box );

foreach ( $list as $value ) {
    switch ( $value ) {
        case \'author\':
            echo \'Author\';
            break;

        case \'date\':
            echo \'Date\';
            break;

        // ... your code.
    }
}
<补充>附言:只是一个温和的提醒-如果您再次需要这样的通用PHP帮助,您应该询问堆栈溢出….)

相关推荐