в WP_Query get_current_user_id () не возвращает данные для пользовательского типа записи - PullRequest
0 голосов
/ 29 мая 2019

Я хочу получить данные из моего пользовательского типа записи (примечание), поэтому я использую WP_Query (), все работает нормально, но когда я хочу получить данные, относящиеся только к пользователю, вошедшему в систему, поэтому я использую автора => get_current_user_id () теперь моя веб-страница ничего не показывает

<?php 

    $args = array(
    'author'  => get_current_user_id(), // before using this it was working fine 
    'posts_per_page' => -1,
    'post_type' => 'note',
     );

$userNotes = new WP_Query( $args );
if ($userNotes->have_posts()): while ($userNotes->have_posts()) : $userNotes->the_post(); ?>

   <li>
      <input class="note-title-field" value="<?php echo esc_attr(get_the_title()); ?>">
      <span class="edit-note"><i class="fa fa-pencil" aria-hidden="true"></i> Edit</span>
      <span class="delete-note"><i class="fa fa-trash-o" aria-hidden="true"></i> Delete</span>
      <textarea class="note-body-field"><?php echo esc_attr(get_the_content()); ?></textarea>
     </li>


<?php
endwhile; endif;
wp_reset_postdata();
wp_reset_query();

        ?>

ничего не отображается (пусто)

Мой тип записи в заметке

// Тип заметки

register_post_type('note',[
'show_in_rest' => true,
'supports' => ['title','editor'],
'public'    => false,
'show_ui'   =>true,
'labels'    => [
    'name'=>'Notes',
    'add_new_item' =>'Add New Note',
    'edit_item' => 'Edit Note',
    'all_items' =>'All Notes',
    'singular_name' =>'Note'
],
'menu_icon' => 'dashicons-welcome-write-blog'

]); * +1011 *

<?php

  if (!is_user_logged_in()) {
    wp_redirect(esc_url(site_url('/')));
    exit;
  }
  get_header();

    pageBanner();
     ?>



    <div class="container container--narrow page-section">
      <ul class="min-list link-list" id="my-notes">
        <?php 


    $args = array(
        'posts_per_page' => '-1',
        'post_type' => 'note',
        'author' => get_current_user_id()
    );

    $userNotes = new WP_Query($args);
    while($userNotes->have_posts()) : $userNotes->the_post();
    ?>
     <li>
              <input class="note-title-field" value="<?php echo esc_attr(get_the_title()); ?>">
              <span class="edit-note"><i class="fa fa-pencil" aria-hidden="true"></i> Edit</span>
              <span class="delete-note"><i class="fa fa-trash-o" aria-hidden="true"></i> Delete</span>
              <textarea class="note-body-field"><?php echo esc_attr(get_the_content()); ?></textarea>
            </li>

    <?php  

    endwhile;

wp_reset_postdata();

        ?>
      </ul>
    </div>

  <?php 

  get_footer();

?>

1 Ответ

0 голосов
/ 29 мая 2019

Попробуйте следующий код.

if ( is_user_logged_in() ):

    global $current_user;
    get_currentuserinfo();
    $author_query = array('posts_per_page' => '-1','post_type' => 'note','author' => $current_user->ID);
    $author_posts = new WP_Query($author_query);
    while($author_posts->have_posts()) : $author_posts->the_post();
    ?>
        <a href="<?php the_permalink(); ?>" title="<?php get_title(); ?>"></a>       
    <?php           
    endwhile;

endif;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...