函数在保存帖子中返回null

时间:2014-01-21 14:16:18

标签: wordpress

我有一个函数,它为我返回一个数组,以动态填充帖子类型的输入名称。所以我有这个数组并创建一个循环来生成输入。

此函数在其他地方正常返回数组,但在使用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;
    }

2 个答案:

答案 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();

...