Shortcode, der lokalisierten HTML-Teil zurückgibt

Hier ist mein Problem.

Ich habe einen Shortcode gemacht, der einen verwandten Artikelabschnitt im Post-Inhalt macht.

Hier ist der Inhalt dieser function:

$a = shortcode_atts( array( 'id' => 0, ), $atts ); if($a['id'] === 0){ $categories = get_the_category(); $category_id = $categories[0]->cat_ID; $posts = query_posts(array( 'showposts' => 1, 'orderby' => 'rand', 'cat' => $category_id, 'date_query' => array( 'column' => 'post_date', 'after' => '- 90 days' ) )); $postID = $posts[0]->ID; } else { $postID = $a['id']; } $post = get_post(intval($postID)); $post_trim = preg_replace('/((\w+\W*){16}(\w+))(.*)/', '${1}', $post->post_content); $excerpt = strip_tags($post_trim).'...'; return ' 
'.get_the_post_thumbnail($postID,'thumbnail').'
'.__('You may also like','related-post-shortcode').' '.get_the_title( $postID ).'
'.$excerpt.'
';

Alles ist in Ordnung, aber Sie können dort einige String-Übersetzungen sehen. __('You may also like','related-post-shortcode') . Ich habe eine Übersetzung eingegeben, damit ich es in einer PO / MO-Datei handhaben kann (was in Ordnung und aktuell ist).

Die Übersetzung funktioniert überall gut, aber in diesem Teil von zurückgegebenem HTML nicht. Es wird die Standardzeichenfolge in allen Sprachen zurückgegeben.

Ich schätze, der Sprachparameter wird nicht an diese function gesendet. Aber wie geht das?

Solutions Collecting From Web of "Shortcode, der lokalisierten HTML-Teil zurückgibt"

Mit deinen Kommentaren habe ich gefunden, was ich vermisst habe. Ich initialisierte meine Textdomain mit:

 add_action('admin_init', 'related_post_shortcode_init'); function related_post_shortcode_init() { load_plugin_textdomain('related-post-shortcode', false, basename( dirname( __FILE__ ) ) . '/i18n' ); } 

Also, die Textdomäne war in Ordnung und bereit für admin_init -Übersetzungen ( admin_init ), aber nicht für Front, wie @ Mark Kaplun vorgeschlagen.

Ich habe einfach einen weiteren Haken hinzugefügt:

 add_action('after_setup_theme', 'related_post_shortcode_init');