1

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.

1 Answer 1

1

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 );
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.