paulcol.
  • 0
Новичок

Прокручивать пользовательские таксономии и отображать сообщения

  • 0

Хотя мне удалось заставить это работать для обычных категорий WP, я не смог заставить его работать для пользовательских таксономий.

Я хотел бы просмотреть каждую пользовательскую таксономию (в моем случае категории) и создать несколько сообщений для каждой.

Примером вывода будет:

Category 1

post from category one
post from category one

read more category one


Category 2

post from category two
post from category two

read more category two

Конечно, это будет повторяться через любую доступную таксономию для пользовательского типа записи.

Share
  1. Я не совсем понимаю ваш вопрос. Когда вы спрашиваете «цикл по каждой пользовательской таксономии», вы имеете в виду «цикл по терминам каждой пользовательской таксономии»? Кроме того, когда вы просите «создать несколько сообщений», означает ли «создать» вставку новых экземпляров типа сообщения в базу данных или создание HTML для типа сообщения?

    • 0
  2. Я подумал, что дам другой ответ, так как приведенный выше немного хакерский, также я добавил еще один слой, который получает все таксономии для post_type.

    $post_type = 'post';
    
    // Get all the taxonomies for this post type
    $taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type ) );
    
    foreach( $taxonomies as $taxonomy ) : 
    
        // Gets every "category" (term) in this taxonomy to get the respective posts
        $terms = get_terms( $taxonomy );
    
        foreach( $terms as $term ) : 
    
            $posts = new WP_Query( "taxonomy=$taxonomy&term=$term->slug&posts_per_page=2" );
    
            if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post();
                //Do you general query loop here  
            endwhile; endif;
    
        endforeach;
    
    endforeach;
    

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

    • 0
  3. Вы ищете это?

    <?php query_posts(array('post_type' => 'post type name', 'Taxonomy slug' => $term->slug ) ); ?>
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
    

    Как создать цикл пользовательской таксономии

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

    • 0
  4. Скопируйте и вставьте эту функцию в свой functions.php [[code0]]

    Затем вызовите его из любого места в вашем шаблоне с помощью:

    display_all_products_from_all_categories();
    
    • 0
  5. Пожалуйста, проверьте этот пример; создайте собственный цикл для вашей таксономии. Вы также можете использовать это в цикле foreach для использования всех категорий. Или вы должны создать собственный sql-запрос.

    <?php
    $taxonomies = get_the_term_list($post->ID, 'YOUR_TAXONOMIE', '', '', '');
    $taxonomies = explode('>', $taxonomies);
    $taxonomies = $taxonomies[1];
    $myq = new WP_Query('your_taxonomie = '.$taxonomies); 
    if ($myq->have_posts()) : while ($myq->have_posts()) : $myq->the_post(); // the loop ?>
    
                <?php the_title();?>
                <?php the_content();?>
    
    <?php endwhile; else:?>
    
    <?php endif;?>
    
    • 0

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

You must login to add an answer.