返回for循环for循环的结果

问题描述 投票:0回答:1

好吧,我放弃了尝试从当前“全部”视图中获取可强制表单的字段,在这种情况下,我有一个字段(包含SCALE01,SCALE02等)可以完成这个技巧,但我没有表单中的用户将它挂钩到。我最终放弃了。

所以在这里我有一些有用的东西,回声是每次吐出答案四次(有四个来自可变形显示的条目),如下:

<a href="file1">file1<a>
<a href="file2">file2<a>
<a href="file3">file3<a>
<a href="file4">file4<a>

(重复4次)

文件链接虽然正确!

我需要将回声变成一个返回,所以我把wordpress函数中的短代码放回到第一个然后是第二个,然后是第三个等,而不是在页面的顶部。而不是四次,只有一次:)

function scale_verification_certificate_func($atts) {
    $current_user = wp_get_current_user();
    $ffield = FrmProEntriesController::get_field_value_shortcode(array(
            'field_id' => 140, 
            'user_id' => 'current'));

    for ($i = 1; $i <= 10; $i++) {        
        foreach (glob("./clients/Sites/" . $ffield . "/SCALE0". $i . "/*SCALE_VERIFICATION_CERTIFICATE*", GLOB_NOSORT) as $filename) {
            echo "<a href='./.$filename.'>.$filename<img src='../document.png' /></a> <br>";
        }
    }
}
add_shortcode( 'scale-verification-certificate', 'scale_verification_certificate_func' );

任何帮助将不胜感激,我很抱歉,如果我没有很好地写我的问题,它是我的第一个:)

编辑:我知道为什么现在重复4次,因为他们是四个文件夹,以这个名字开头,但不管我还是会感谢其余的帮助!

php wordpress foreach return echo
1个回答
0
投票

由于你想出了4x问题,为了让函数返回字符串,你可以在每个循环中累积结果,并在最后返回一个字符串。像这样:

function scale_verification_certificate_func($atts) {
    $current_user = wp_get_current_user();
    $ffield = FrmProEntriesController::get_field_value_shortcode(array(
            'field_id' => 140,
            'user_id' => 'current'));

    $ret_string = "";  // initialize empty string
    for ($i = 1; $i <= 10; $i++) {
        foreach (glob("./clients/Sites/" . $ffield . "/SCALE0". $i . "/*SCALE_VERIFICATION_CERTIFICATE*", GLOB_NOSORT) as $filename) {
            // at each loop, append new segment
            $ret_string .= "<a href='./.$filename.'>.$filename<img src='../document.png' /></a> <br>";
        }
    }
    return $ret_string;  // now return the full string
}
© www.soinside.com 2019 - 2024. All rights reserved.