2014-01-21 1 views
0

У меня есть функция, которая возвращает массив для меня, чтобы динамически заполнять имена входов типа сообщения. Таким образом, у меня есть этот массив и создайте цикл для генерации входных данных.Функция возвращает null в сохранить сообщение

Эта функция возвращает массив обычно в других местах, но в функции, которую я использую save_post, всегда возвращает NULL. Таким образом, я не могу получить имена для сохранения значений с помощью update_post_meta.

Почему эта функция возвращает NULL в функции, которую я использую save_post и другие значения возврата обычно?

Может ли кто-нибудь помочь?

Благодаря ...

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

Функция возвращает мой массив нормально, кроме как в функции сохранения сообщения ... –

ответ

0

Сохранение пост в WordPress является POST, а не GET. Когда вы присоединяете функцию к действию save_post, ему передается аргумент, содержащий идентификатор сообщения. Измените свою функцию, чтобы использовать предоставленный аргумент при вызове с save_post.

0

Удалить инструкцию if/else и добавить $ post_id в качестве аргумента функции.

function retornaPresencas($post_id) { 
    $datas_turma = array(); $presenca_to_check = array(); 

...

Смежные вопросы