Question

In my content-search.php template file I did something like this:

<tr id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    
    <td><?php the_post_thumbnail( 'thumbnail' ); ?></td>
    
    <td style="padding: 15px;">
        
        <?php
        echo '<h6>' . ucfirst( get_post_type( get_the_ID() ) ) . '</h6>';
        the_title( sprintf( '<h5><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h5>' ); 
        echo '<p>' . get_the_excerpt() . '</p>';
        ?>
        
    </td>
</tr>

enter image description here

It returns posts image, post type name in English, title and excerpt on search results page. Posts, pages or another custom post types by searched term. I need to display post type name translated into another language.

Était-ce utile?

La solution

Based on a previous Q&A, How to get current get_post_types name?, you could use get_post_type_object() to get the whole post type object, which will have the translated name in it.

$post_type_object = get_post_type_object(get_post_type());
if ( $post_type_object ) {
    echo esc_html( $post_type_object->labels->singular_name );
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top