函数返回结果两次
Function returning results twice
我正在使用 Wordpress 并构建了一个自定义 post 类型 return post 中逗号分隔列表中的选项列表,然后在中创建一组复选框联系表格 7 表格。该函数正在运行,但由于某种原因,它 return 输出了两次。我正在想办法让它只 return 一次。
wpcf7_add_shortcode('cargooptions', 'createbox', true);
function createbox(){
global $post;
$model = $_GET['mz'];
$args = array(
'post_type' => 'options',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'Opts_category',
'field' => 'slug',
'terms' => strtolower($model)
),
),
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata($post);
$options = explode(',', get_the_content());
// output list
foreach ($options as $key => $value){
$output .= '<input type="checkbox" name="option_'.$key.'" value="'.$value.'" id="opt'.$key.'" class="optionSelect">';
$output .= '<label for="opt'.$key.'" class="span_4 colWrap"><span></span> ' . trim($value) . '</label>';
}
endforeach;
return $output;
参见下面的代码。
您需要在循环之前实例化 $output
变量,否则它将在主循环中附加到自身。
foreach ( $myposts as $post ) : setup_postdata($post);
$options = explode(',', get_the_content());
// output list
$output = ''; // add this here so it doesn't append to itself
foreach ($options as $key => $value){
$output .= '<input type="checkbox" name="option_'.$key.'" value="'.$value.'" id="opt'.$key.'" class="optionSelect">';
$output .= '<label for="opt'.$key.'" class="span_4 colWrap"><span></span> ' . trim($value) . '</label>';
}
endforeach;
return $output;
我正在使用 Wordpress 并构建了一个自定义 post 类型 return post 中逗号分隔列表中的选项列表,然后在中创建一组复选框联系表格 7 表格。该函数正在运行,但由于某种原因,它 return 输出了两次。我正在想办法让它只 return 一次。
wpcf7_add_shortcode('cargooptions', 'createbox', true);
function createbox(){
global $post;
$model = $_GET['mz'];
$args = array(
'post_type' => 'options',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'Opts_category',
'field' => 'slug',
'terms' => strtolower($model)
),
),
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata($post);
$options = explode(',', get_the_content());
// output list
foreach ($options as $key => $value){
$output .= '<input type="checkbox" name="option_'.$key.'" value="'.$value.'" id="opt'.$key.'" class="optionSelect">';
$output .= '<label for="opt'.$key.'" class="span_4 colWrap"><span></span> ' . trim($value) . '</label>';
}
endforeach;
return $output;
参见下面的代码。
您需要在循环之前实例化 $output
变量,否则它将在主循环中附加到自身。
foreach ( $myposts as $post ) : setup_postdata($post);
$options = explode(',', get_the_content());
// output list
$output = ''; // add this here so it doesn't append to itself
foreach ($options as $key => $value){
$output .= '<input type="checkbox" name="option_'.$key.'" value="'.$value.'" id="opt'.$key.'" class="optionSelect">';
$output .= '<label for="opt'.$key.'" class="span_4 colWrap"><span></span> ' . trim($value) . '</label>';
}
endforeach;
return $output;