Translatable Phrases With Polylang Strings
Registers a list of your own phrases in Languages > Translations and adds a [wpide_pll_string name="..."] shortcode to show each one in the current language.
Opens WPIDE on
Code
$wpide_strings = array( // Name => default-language text.
'opening_hours' => 'Open Monday to Friday, 9am to 5pm',
'cta_button' => 'Book a free consultation',
);
add_action( 'init', function () use ( $wpide_strings ) {
if ( ! is_admin() || ! function_exists( 'pll_register_string' ) ) {
return;
}
foreach ( $wpide_strings as $name => $text ) {
pll_register_string( $name, $text, 'WPIDE' );
}
} );
add_shortcode( 'wpide_pll_string', function ( $atts ) use ( $wpide_strings ) {
$atts = shortcode_atts( array( 'name' => '' ), $atts, 'wpide_pll_string' );
if ( ! isset( $wpide_strings[ $atts['name'] ] ) ) {
return '';
}
$text = $wpide_strings[ $atts['name'] ];
return esc_html( function_exists( 'pll__' ) ? pll__( $text ) : $text );
} );
Notes
Add phrases to $wpide_strings, then translate them in Languages > Translations under the "WPIDE" group. In PHP templates you can also call pll__( 'the phrase' ).
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.