Ersetzen von Strings in Posts durch die übersetzbare Zeichenfolge

Ich arbeite an einer mehrsprachigen Website. Einige Posts haben externe Ressourcen zum Herunterladen. Die ‘Download’-Zeichenkette, die in a Tag zum Herunterladen eingebettet ist, ist in allen Sprachen in Englisch verfügbar. Wie kann ich diese Zeichenfolgen umwandeln, damit sie übersetzbar sind?

Ich habe versucht, “Download” zu suchen und durch Aber PHP-Block ist in Kommentartags eingewickelt, wie es innerhalb der function ist .

Wenn Sie weitere Informationen benötigen, zögern Sie nicht zu fragen.

Danke im Voraus!

Solutions Collecting From Web of "Ersetzen von Strings in Posts durch die übersetzbare Zeichenfolge"

Als Teil des Post-Inhalts kann die Zeichenfolge nicht mit der Übersetzungsfunktion übersetzt werden. Sie benötigen wahrscheinlich ein mehrsprachiges Plugin wie WPML oder Multilingual Press .

Auf diese Weise können Sie verschiedene “Versionen” (eine pro unterstützte Sprache) des gleichen Posts haben.

Wenn Sie jedoch nur das Wort “Download” übersetzen müssen, können Sie einen Shortcode erstellen und im Postcontent verwenden.

Beispiel:

 function my_download_btn_cb( $atts, $content = "" ) { $format = 'https://wordpress.stackexchange.com/questions/156832/replacing-strings-within-posts-with-the-translatable-string/%s'; $blank = isset( $atts['blank'] ) && $atts['blank'] ? ' target="_blank"' : ''; $content = filter_var( $content, FILTER_SANITIZE_URL ); return sprintf( $format, $content, $blank, __( 'Download', 'rkm' ) ); } add_shortcode( 'download', 'my_download_btn_cb' ); 

Sobald Sie diesen Code in einem Plugin oder in Ihrer functions.php haben, können Sie ihn in Ihrem Posts-Content wie folgt verwenden:

 [download]http://example.com/url/to/the/external/download[/download] 

oder wenn Sie den Download-Link in einem neuen Fenster öffnen möchten:

 [download blank="1"]http://example.com/url/to/the/external/download[/download] 

Auf diese Weise wird das Wort “Download” im Link entsprechend der aktuellen Sprache angezeigt (falls es dafür eine Übersetzung in der zugehörigen .mo-Datei gibt).