get_the_id () не возвращает идентификаторы сообщений - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь динамически загружать блоки через AJAX:

  • Блоки с идентификаторами 1, 2, 3, 4 и 5 загружаются по умолчанию на страницу.
  • При нажатии «Загрузить еще» отобразятся пять новых блоков (с идентификаторами 6,7, 8, 9 и 10).

Однако в настоящее время я даже не могу получить идентификаторы новых блоков, которые отображаются на странице, и я не уверен, почему? Я тоже пытался глобализировать var.

Текущий подход ( ajax-loaders.php ):

function ajax_handler(){

  check_ajax_referer('load_more', 'security');

  $args = json_decode(( $_POST['query'] ), true ); 

  global $postId;
  $postId = get_the_id($args);

  if( $args->have_posts() ) : 
    while( have_posts() ): the_post(); 
      echo "the ID of this post is:".$postId;
    endwhile;
  endif;
  die;
}

В консоли появляется сообщение об ошибке.

А если я сделаю:

echo "ID этого сообщения:". $ PostId; var_dump ($ арг);

Возвращает ID этого сообщения: NULL .

Не знаете, что происходит?

1 Ответ

0 голосов
/ 08 ноября 2018

Simple get_the_id () работает в цикле WP, и вы поместили его вне цикла. попробовать:

echo "the ID of this post is:" . get_the_id();

вне цикла:

global $post;
postId = $post->ID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...