это было некоторое время с тех пор, как я использовал wordpress, и я пытаюсь использовать дополнительные пользовательские поля, я пытаюсь вывести идентификатор сообщения внутри цикла на странице, поэтому я могу использовать get_field для вывода содержимого сообщения. Ths $ post-> ID дает мне идентификатор страницы, а не идентификатор сообщения, поэтому выводится неверный номер, как мне получить идентификатор сообщения?
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php $current_id = $post->ID ?> <?php echo $current_id ?> <h1><?php the_field('titleFart', $current_id); ?></h1> <?php endwhile; // end of the loop. ?> <?php endif; ?>
Не используйте query_posts
или WP_Query
если вам это нужно в основном цикле. query_posts
не используйте query_posts
любом случае.
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php $current_id = get_the_ID(); ?> <?php echo $current_id ?> <h1><?php the_field('titleFart', $current_id); ?></h1> <?php endwhile; // end of the loop. ?> <?php endif; ?>
Потому что: get_the_ID()
Пожалуйста, не используйте query_posts()
Примечание. Эта функция не предназначена для использования плагинами или темами. Как поясняется ниже, есть более эффективные, более эффективные варианты для изменения основного запроса. query_posts () является слишком упрощенным и проблематичным способом изменения основного запроса страницы путем замены его новым экземпляром запроса. Он неэффективен (повторно запускает SQL-запросы), и в некоторых случаях он будет неудачным (особенно часто при работе с разбивкой по страницам). Любой современный WP-код должен использовать для этого более надежные методы, например, использование hook_posts.
В вашем случае вы создаете вторичный цикл на странице, так что вы хотите создать новый объект WP_Query
.
$q = new WP_Query( array( 'posts_per_page' => 5 ) ); if ( $q->have_posts() ) { while ( $q->have_posts() ) { $q->the_post(); $current_id = $post->ID; echo $current_id ?> <h1><?php the_field('titleFart', $current_id); ?></h1><?php } // end of the loop. }
Вместо этого используйте wp_query () с вашими параметрами. Query_posts замедляет ваши запросы. http://codex.wordpress.org/Class_Reference/WP_Query