Я пытаюсь запросить сообщение по идентификатору пользователя. Идентификатор пользователя в этом случае будет автором другого поста.

Я пробовал следующее, но не получил «аргумент автора».

$author_id = $post->post_author;

$author_query_id = array('author='. $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');
$author_posts_id = new WP_Query($author_query_id);

while($author_posts_id->have_posts()) : $author_posts_id->the_post();


if (get_field('standplaats')) { ?>
<div class="fieldje field-3"><p>
        <span>Standplaats: <?php echo the_field('standplaats'); ?></span>
    </p></div>
 <?php  } 
 endwhile; 

Я получаю правильный идентификатор пользователя (записан в $ author_id). Однако в запросе он просто запрашивает последнее сообщение типа "Bedrijven", независимо от того, кто является автором.

Есть идеи, почему это не работает?

Благодарность!

0
Trekdrop 13 Янв 2014 в 20:00

3 ответа

Лучший ответ

Ваш массив отформатирован неправильно.

$author_query_id = array('author' => $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');

Я удалил = с вашего ключа author.

Я уверен, что вы видели документы WP_Query ниже, но вот ссылка, которая поможет в будущее, на всякий случай.

3
Andy 13 Янв 2014 в 16:10

Используйте это вместо:

$author_query_id = array('author'=> $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');
1
Luca Iaco 13 Янв 2014 в 16:09

Используйте этот код:

<?php

$args = array(
'post_type' => 'bedrijven',
'post_status' => 'publish',
'author'        =>  $current_user->ID,
'orderby'       =>  'post_date',
'order'         =>  'ASC',
'posts_per_page' => 1
);


$author_query = new WP_Query( $args ); 

while ( $author_query->have_posts() ) : $author_query->the_post();

$standplaats = get_field('your_field');

if ($standplaats) { ?>

<div class="fieldje field-3">
<p>
<span>Standplaats: <?php echo $standplaats ; ?></span>
</p>
</div>

<?php  }  endwhile; ?>
0
Amit Bera 24 Мар 2019 в 06:44