carson
  • 0
Учитель

Как я могу перечислить всех пользователей WordPress, их адреса электронной почты, название сообщения и статус сообщения?

  • 0

Я ищу способ вернуть что-то вроде следующего:

  • Пользователь, электронная почта, заголовок сообщения, статус сообщения
  • Пользователь, электронная почта, заголовок сообщения, статус сообщения
  • повторил….

У каждого пользователя на моем сайте есть только 1 сообщение. Это настраиваемый тип публикации, который называется «Список компаний».

Share
  1. Вы можете сделать это с помощью простого цикла, предполагая, что пользователи также являются авторами сообщения, создайте страницу шаблона и скопируйте в нее внутреннюю часть вашего page.php.

    затем замените часть цикла этим кодом:

    <?php
    $args = array(
        'post_type' => 'company-listing', //change this to your actual CPT name
        'posts_per_page' => -1, //-1 to get all or any number you want to use with pagination
    );
    query_posts($args);
    if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    User, email, post title, post status
        <div class="post company-listing">
        <ul>
    <?php  $user_info = get_userdata($post->post_author); ?>
            <li class="user">
                <?php echo $user_info->user_nicename; ?>
            </li>
            <li class="email">
                <?php echo $user_info->user_email; ?>
            </li>
            <li class="title">
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
            </li>
            <li class="status">
                <?php echo $post->post_status; ?>
            </li>
        </ul>
    </div>
    <div style="clear:both"></div>
    
    <?php endwhile; ?>
    
        <?php else: ?>
    
            <p class="no-data">
                <?php _e('Sorry, no page matched your criteria.'); ?>
            </p><!-- .no-data -->
     <?php endif; ?>
    

    и добавьте этот небольшой код css, чтобы правильно оформить его:

    <style type="text/css">
    company-listing ul li{ float: left;padding: 2px;}
    </style>
    

    теперь вы не указали, что такое «ПОЛЬЗОВАТЕЛЬ», поэтому я просто показал вам, как использовать user_nicename, но после этой строки $user_info = get_userdata($post->post_author); вы можете использовать $user_info с:

    • user_firstname
    • user_lastname
    • Я БЫ
    • Логин пользователя
    • user_pass
    • user_nicename
    • user_email
    • user_url
    • user_registered
    • показать имя

    и еще несколько.

    Что касается статуса, я предполагаю, что вы говорите о post_status, поэтому вам нужно будет добавить 'post_status' => array('publish','pending','draft','future','private',....) к своим $args.

    и если вы говорите о пользовательском поле, просто вызовите это поле с помощьюget_post_meta($post->ID,'status_field_name',true);

    Надеюсь это поможет

    • 0

Оставить ответ

You must login to add an answer.