如何在ACF直放站现场回路中增加ID值

时间:2013-04-01 作者:damrakred

下面的代码旨在显示高级自定义字段转发器字段。

我需要为标签标签的“for”属性和尾部复选框输入字段的ID值提供唯一的值。

此外,为了让字段标签正常工作,我需要“for”值与输入字段的ID值匹配,并且每次字段在前端重复或显示时,每个值都必须是唯一的。

查看当前在源中前端的显示方式:Imgur

ID和“for”值为空,但需要与每行字段的值匹配,但每行也需要唯一。

<?php
if ( get_field(\'ingredients-list\') )
{
    echo \'<ul class="ingredientsList">\';
    while ( has_sub_field(\'ingredients-list\') )
    {
    echo \'<li class="ingredient" itemprop="ingredients"> <label for=""> <input type="checkbox" class="check" id=""> \';
            if ( get_sub_field(\'quantity\') ) echo \'<span class="quantity">\' . get_sub_field(\'quantity\') . \'</span> \';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="measurement">\' . get_sub_field(\'measurement\') . \'</span> \';
            if ( get_sub_field(\'ingredient_name\') ) echo \'<span class="name">\'. get_sub_field(\'ingredient_name\') .\'</span>\';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="notes">\' . get_sub_field(\'notes\')  . \' </span>\';
        echo \'</label>\';
    echo \'</li>\';
}
echo \'</ul>\';
}?>

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

尝试为循环使用“counter”变量,可能吗?

<?php
if ( get_field(\'ingredients-list\') )
{
    echo \'<ul class="ingredientsList">\';
    $count=0;
    while ( has_sub_field(\'ingredients-list\') )
    {
        echo \'<li class="ingredient" itemprop="ingredients"> <label for="check-\'. $count .\'"> <input type="checkbox" class="check" id="check-\'. $count .\'"> \';
            if ( get_sub_field(\'quantity\') ) echo \'<span class="quantity">\' . get_sub_field(\'quantity\') . \'</span> \';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="measurement">\' . get_sub_field(\'measurement\') . \'</span> \';
            if ( get_sub_field(\'ingredient_name\') ) echo \'<span class="name">\'. get_sub_field(\'ingredient_name\') .\'</span>\';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="notes">\' . get_sub_field(\'notes\')  . \' </span>\';
        echo \'</label>\';
        echo \'</li>\';
        $count++;
    }
echo \'</ul>\';
}
?>

SO网友:birgire

这听起来更像是一个php问题,但你可以试试

<?php $uniqid = uniqid(\'item_\');?>
生成表单的唯一字符串

item_4b3403665fea6
您的html如下所示:

<label for="item_4b3403665fea6"> 
<input type="checkbox" class="check" id="item_4b3403665fea6">
您可以在PHP文档中阅读更多信息:

http://php.net/uniqid

结束

相关推荐

Multiple Page Templates & CSS

在使用多个页面模板的主题上处理CSS的最佳实践是什么?例如:我将有一个全宽页面模板和一个两列页面模板。最好只在单个CSS中调用容器(#fullWidthContainer vs.#twoColumnContainer)还是为每个页面模板提供单独的CSS文件更好?

如何在ACF直放站现场回路中增加ID值 - 小码农CODE - 行之有效找到问题解决它

如何在ACF直放站现场回路中增加ID值

时间:2013-04-01 作者:damrakred

下面的代码旨在显示高级自定义字段转发器字段。

我需要为标签标签的“for”属性和尾部复选框输入字段的ID值提供唯一的值。

此外,为了让字段标签正常工作,我需要“for”值与输入字段的ID值匹配,并且每次字段在前端重复或显示时,每个值都必须是唯一的。

查看当前在源中前端的显示方式:Imgur

ID和“for”值为空,但需要与每行字段的值匹配,但每行也需要唯一。

<?php
if ( get_field(\'ingredients-list\') )
{
    echo \'<ul class="ingredientsList">\';
    while ( has_sub_field(\'ingredients-list\') )
    {
    echo \'<li class="ingredient" itemprop="ingredients"> <label for=""> <input type="checkbox" class="check" id=""> \';
            if ( get_sub_field(\'quantity\') ) echo \'<span class="quantity">\' . get_sub_field(\'quantity\') . \'</span> \';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="measurement">\' . get_sub_field(\'measurement\') . \'</span> \';
            if ( get_sub_field(\'ingredient_name\') ) echo \'<span class="name">\'. get_sub_field(\'ingredient_name\') .\'</span>\';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="notes">\' . get_sub_field(\'notes\')  . \' </span>\';
        echo \'</label>\';
    echo \'</li>\';
}
echo \'</ul>\';
}?>

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

尝试为循环使用“counter”变量,可能吗?

<?php
if ( get_field(\'ingredients-list\') )
{
    echo \'<ul class="ingredientsList">\';
    $count=0;
    while ( has_sub_field(\'ingredients-list\') )
    {
        echo \'<li class="ingredient" itemprop="ingredients"> <label for="check-\'. $count .\'"> <input type="checkbox" class="check" id="check-\'. $count .\'"> \';
            if ( get_sub_field(\'quantity\') ) echo \'<span class="quantity">\' . get_sub_field(\'quantity\') . \'</span> \';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="measurement">\' . get_sub_field(\'measurement\') . \'</span> \';
            if ( get_sub_field(\'ingredient_name\') ) echo \'<span class="name">\'. get_sub_field(\'ingredient_name\') .\'</span>\';
            if ( get_sub_field(\'measurement\') ) echo \'<span class="notes">\' . get_sub_field(\'notes\')  . \' </span>\';
        echo \'</label>\';
        echo \'</li>\';
        $count++;
    }
echo \'</ul>\';
}
?>

SO网友:birgire

这听起来更像是一个php问题,但你可以试试

<?php $uniqid = uniqid(\'item_\');?>
生成表单的唯一字符串

item_4b3403665fea6
您的html如下所示:

<label for="item_4b3403665fea6"> 
<input type="checkbox" class="check" id="item_4b3403665fea6">
您可以在PHP文档中阅读更多信息:

http://php.net/uniqid

相关推荐

Custom templates vs page-slug

我目前一直在使用slug来设置页面模板,使用普通的层次结构例如,如果我想更改的页面模板http://www.example.com/about-us, 我会编辑关于我们的页面。php如果客户端要去更改页面slug,它将不再加载正确的模板。在WordPress后端使用“自定义模板”下拉列表是否更好?就这一点而言,最佳做法是什么?非常感谢