我需要编写可以发送电子邮件或短信的简单脚本。我需要获取函数结果并将其分配给某个变量。例如$ message = message();并在脚本中获取发送短信的$ message。
这是我的代码示例:
function message() { $argsvsq = array( 'date_query' => array(
array(
'year' => date( 'Y' ),
'week' => date( 'W' ),
),
),
'author__in' => array($_GET["sendtoid"]),
'post_type' => 'ocinky',
'meta_key' => 'wpcf-date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => -1
);
$looper = new WP_Query( $argsvsq );
// Start the Loop.
while ( $looper->have_posts() ) : $looper->the_post(); $urok = types_render_field("urok", array("output"=>"HTML")); echo $urok; endwhile;
}
这是我需要显示结果的行
$text_sms = iconv('windows-1251', 'utf-8', message() );
请帮助正确获取功能消息()的结果......非常感谢!
答案 0 :(得分:2)
iconv
将字符串作为第3个参数。你的message()
函数不会返回任何内容。
您可以使用outputbuffering来解决这个问题:
function message() { $argsvsq = array( 'date_query' => array(
array(
'year' => date( 'Y' ),
'week' => date( 'W' ),
),
),
'author__in' => array($_GET["sendtoid"]),
'post_type' => 'ocinky',
'meta_key' => 'wpcf-date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => -1
);
ob_start();
$looper = new WP_Query( $argsvsq );
// Start the Loop.
while ( $looper->have_posts() ) : $looper->the_post();
$urok = types_render_field("urok", array("output"=>"HTML"));
echo $urok;
endwhile;
return ob_get_clean();
}
可能可能只是追加并返回一个字符串而不是使用输出缓冲:
function message() { $argsvsq = array( 'date_query' => array(
array(
'year' => date( 'Y' ),
'week' => date( 'W' ),
),
),
'author__in' => array($_GET["sendtoid"]),
'post_type' => 'ocinky',
'meta_key' => 'wpcf-date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => -1
);
$return = ''
$looper = new WP_Query( $argsvsq );
// Start the Loop.
while ( $looper->have_posts() ) : $looper->the_post();
$urok = types_render_field("urok", array("output"=>"HTML"));
$return .= $urok;
endwhile;
return $return;
}
但我不知道所有这些函数调用正在做什么(如果它们回应任何东西,你将需要使用第一种方法