Exibir categoria de publicação no loop foreach com link de categoria

Eu tenho o seguinte código para mostrar as listas atuais de postagens do autor com post thumbnail, post title, post date e post category.

function my_get_display_author_posts() { global $authordata, $post; $authors_posts = get_posts( array( 'author' => $authordata->ID,'posts_per_page' => 6, 'post__not_in' => array( $post->ID ) ) ); $output = '
    '; foreach ( $authors_posts as $authors_post ) { setup_postdata($authors_post); // Build a comma separated categories list // You can customize as needed $categories = get_the_category(); $categories_string = ''; $separator = ', '; if($categories) { foreach($categories as $category){ $categories_string .= $category->cat_name.$separator; } $categories_string = trim($categories_string, $separator); } $image = wp_get_attachment_image_src( get_post_thumbnail_id( $authors_post->ID ), 'related-author' ); $output .= '
  • ID ) . '"> ' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . ' '.get_the_time('mdy').' '.$categories_string.'
  • '; } wp_reset_postdata(); $output .= '
'; return $output;}

Por favor, siga o link abaixo para ver a saída

https://www.evernote.com/shard/s250/sh/ba2c1f8f-c06e-44ef-b004-c0432b7d3a5f/12febb0db08fd9a749eee779051cb007/deep/0/Fullscreen-02-05-14-3-35-pm.png

Quero mostrar categorias relevantes de publicações com link de categoria.

Obrigado!

Solutions Collecting From Web of "Exibir categoria de publicação no loop foreach com link de categoria"

Você está lutando com o post global s, como $post , e não os está configurando corretamente. Crie um Loop apropriado usando WP_Query e use as tags do modelo Core sempre que possível e o problema desaparecerá.

 $authors_posts = new WP_Query( array( 'author' => 7, 'posts_per_page' => 6, 'post__not_in' => array( $post->ID ) ) ); $output = '
    '; while ($authors_posts->have_posts()) { $authors_posts->the_post(); // Build a comma separated categories list // You can customize as needed $categories_string = get_the_category_list(); $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'related-author' ); $output .= '
  • ' . get_the_title() . ' '.get_the_time('mdy').' '.$categories_string.'
  • '; } wp_reset_postdata(); $output .= '
';

Além disso, note que seu código era muito mais complexo do que era necessário e, basicamente, recriado, de forma limitada, funcionalidade do núcleo.

syntax: < ?php get_the_category_list( $separator, $parents, $post_id ); ?> < ?php get_the_category_list( $separator, $parents, $post_id ); ?>

Código se você quiser com ‘,’ separado:

 < ?php echo get_the_category_list( ',', '', $post->ID ); ?> 

Ou se a categoria de taxonomia de pós personalizada estiver usando: a categoria de artista é taxonomia de pós-customização

 < ?php echo get_the_term_list($post->ID, 'artist_category','
  • ',',
  • ','
  • '); ?>