我有一个函数,它为我返回一个数组,以动态填充帖子类型的输入名称。所以我有这个数组并创建一个循环来生成输入。
此函数在其他地方正常返回数组,但在使用save_post的函数中,总是返回NULL。所以,我无法使用update_post_meta获取名称来保存值。
为什么这个函数在我使用save_post的函数中返回NULL而其他函数正常返回值?
有人可以帮忙吗?
谢谢...
function retornaPresencas() {
$post_id = $_GET['post'];
if (is_null($post_id)) :
return;
else:
$datas_turma = array(); $presenca_to_check = array();
$turma_da_lista = get_field("turma_lista", $post_id);
$args = array( 'post_type' => "turmas", 'p' => $turma_da_lista );
$query_turma_lista = new WP_Query( $args );
if ($query_turma_lista->have_posts()) : while ($query_turma_lista->have_posts()) : $query_turma_lista->the_post();
if(get_field('lista_de_dias_turma')) {
while(has_sub_field('lista_de_dias_turma')) {
$datas_turma[] = get_sub_field('dia_de_aula');
}
}
$lenght_datas_turma = count($datas_turma);
$alunos_turma = get_field('lista_de_alunos_turma');
foreach ($alunos_turma as $single_aluno) :
for ($i=0; $i < $lenght_datas_turma; $i++) :
$presenca_to_check[] = $single_aluno."_".$turma_da_lista."_".$datas_turma[$i];
endfor;
endforeach;
endwhile; endif; wp_reset_query();
endif;
return $presenca_to_check;
}
答案 0 :(得分:0)
在wordpress中保存帖子是POST
而不是GET
。将函数附加到save_post
操作时,会传递包含帖子ID的参数。从save_post
调用时,修改您的函数以使用提供的参数。
答案 1 :(得分:0)
删除if / else语句并将$ post_id添加为函数参数。
function retornaPresencas( $post_id ) {
$datas_turma = array(); $presenca_to_check = array();
...