【问题标题】:Insert image into wordpress dynamic field with loop使用循环将图像插入wordpress动态字段
【发布时间】:2021-10-24 23:09:26
【问题描述】:

我是一名初级开发人员,试图解决我不确定如何进行的情况。我正在考虑使用 foreach 循环在 Wordpress 字段上打印图像,但我似乎无法使其工作。

谁能指出我应该怎么做的正确方向?

到目前为止,我已经得到了这个,但它没有产生任何结果。

注意:右侧列表中的禁止图像(缺点)是硬编码的,我似乎无法在每个字段中找到它们。

【问题讨论】:

  • 您能发布一些代码示例,我们可以检查并帮助您找到问题
  • 对不起,我的错 - 正在摆弄代码。我已经通过截图上传了我的代码。
  • 您可以在问题中插入代码。屏幕截图可能会被否决。

标签: php html wordpress


【解决方案1】:

如果您尝试替换每一行的起始 + 符号,您可以将循环替换为:

foreach($new_pros as $key => $row_text) {
    $new_pros[$key] = preg_replace('/^\+/', '<img src="../assets/img/advantages-forbidden.svg">', $row_text);
}

其他几点说明:

1. 使用../assets/ 在WordPress 主题开发中通常是不好的做法。而是使用get_template_directory() 函数,例如

echo '<img src="'. get_template_directory() .'/assets/img/advantages-forbidden.svg">';

2. 我会考虑使用ACF Repeater 字段而不是pros_blockcons_block 的文本字段。例如,为每个 pro/con 块设置一个转发器,如:

您的代码实现将类似于:

if ( have_rows( 'pros_block' ) ) {
    while( have_rows( 'pros_block' ) ) {
        the_row();
        $show_icon = get_sub_field( 'show_icon' );
        $row_text = get_sub_field( 'text' );

        if ( $show_icon ) {
            echo '<img src="'. get_template_directory() .'/assets/img/advantages-forbidden.svg">';
        }

        echo $row_text;
    }
}

希望这能让你走上正轨。

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 2013-08-11
    • 2021-03-23
    • 2016-10-05
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多