/ 设置 10 秒超时 // 每日统计清 0 runtime_set('todaycomments', 0); runtime_set('todayarticles', 0); runtime_set('todayusers', 0); if ($forumlist) { $fidarr = array(); foreach ($forumlist as $fid => $forum) { $fidarr[] = $forum['fid']; } forum_update($fidarr, array('todayposts' => 0, 'todaythreads' => 0)); } // 清理临时附件 attach_gc(); // 当天24点 $today = strtotime(date('Ymd')) + 86400; runtime_set('cron_2_last_date', $today, TRUE); // 往前推8个小时,尽量保证在前一天 升级过来和采集的数据会很卡 // table_day_cron($time - 8 * 3600); cache_delete('cron_lock_2'); } } } ?>php - Shortcode created to check language not works|Concepts Of Algorithm

php - Shortcode created to check language not works

admin2025-06-07  9

i need to create a shortcode to display a different Div depending on WP current language only when users are logout.

The shortcode is this one:

function coupon_box() {

$user = is_user_logged_in() ;


if ($user == false) {

    if (get_locale() == 'en_Us') {
    echo ' <div class="discount"><h3 style="text-align: left;">Is this your first order?</h3><p style="text-align: left;">Request your discount code for a value of 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="/">Receive my code 
</a></span></p></div>';
}

    elseif (get_locale() == 'fr_Fr') {

    echo '<div class="discount"><h3 style="text-align: left;">C’est votre première commande?</h3><p style="text-align: left;">Demandez votre code de réduction d’une valeur de 20 Euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="/">Recevoir mon code</a></span></p></div>';
    }

    elseif (get_locale() == 'de_De') {
    echo '<div class="discount"><h3 style="text-align: left;">Ist dies Ihre erste Bestellung?</h3><p style="text-align: left;"> Fordern Sie Ihren persönlichen 20 Euros Rabatt.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="/">Gutscheincode anfordern</a></span></p></div>';
    }

    else {

    echo '<div class="discount"><h3 style="text-align: left;"> ¿Este es su primer pedido?</h3><p style="text-align: left;"> Solicite su código de descuento por un valor de 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="/">Recibir mi código</a></span></p></div>';
    }
}

}

add_shortcode('coupon', 'coupon_box');

Is there something you see that is wrong please?

Thank you!

i need to create a shortcode to display a different Div depending on WP current language only when users are logout.

The shortcode is this one:

function coupon_box() {

$user = is_user_logged_in() ;


if ($user == false) {

    if (get_locale() == 'en_Us') {
    echo ' <div class="discount"><h3 style="text-align: left;">Is this your first order?</h3><p style="text-align: left;">Request your discount code for a value of 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/welcome-coupon/">Receive my code 
</a></span></p></div>';
}

    elseif (get_locale() == 'fr_Fr') {

    echo '<div class="discount"><h3 style="text-align: left;">C’est votre première commande?</h3><p style="text-align: left;">Demandez votre code de réduction d’une valeur de 20 Euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://atremoplus.fr/bienvenue/">Recevoir mon code</a></span></p></div>';
    }

    elseif (get_locale() == 'de_De') {
    echo '<div class="discount"><h3 style="text-align: left;">Ist dies Ihre erste Bestellung?</h3><p style="text-align: left;"> Fordern Sie Ihren persönlichen 20 Euros Rabatt.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/de/atremoplus-kaufen/">Gutscheincode anfordern</a></span></p></div>';
    }

    else {

    echo '<div class="discount"><h3 style="text-align: left;"> ¿Este es su primer pedido?</h3><p style="text-align: left;"> Solicite su código de descuento por un valor de 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/es/comprar-atremoplus/">Recibir mi código</a></span></p></div>';
    }
}

}

add_shortcode('coupon', 'coupon_box');

Is there something you see that is wrong please?

Thank you!

Share Improve this question asked Oct 26, 2018 at 7:25 WebMateWebMate 132 bronze badges 7
  • By the way it doesn't work – WebMate Commented Oct 26, 2018 at 7:26
  • get_locale() will return a value like this en_US. Don't forget the second capital letter – Wilco Commented Oct 26, 2018 at 7:44
  • by the way, what are you trying to do with your last else? Is it a error? Warning? Because it's missing get_locale and it's shown to logged in user. – Remzi Cavdar Commented Oct 26, 2018 at 7:45
  • That's for the last language, who is spanish. Actually it's not show to logged in users right? – WebMate Commented Oct 26, 2018 at 7:48
  • I have edited your code, see below. Now backup language is English and shown to user who are not logged in. You could switch this to any language. If you want Spanish as backup language. – Remzi Cavdar Commented Oct 26, 2018 at 8:01
 |  Show 2 more comments

1 Answer 1

Reset to default 0

In a shortcode you always need to return something. It's also good practice to make your code very logical and readable. Here are a list of PHP Logical Operators: http://php/manual/en/language.operators.logical.php Complete List of WordPress Locale Codes: https://wpastra/docs/complete-list-wordpress-locale-codes/

Below an example as English as a backup/fallback language:

function coupon_shortcode() {
    $logged_in = is_user_logged_in();

    if (get_locale() == 'fr_FR' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">C’est votre première commande?</h3><p style="text-align: left;">Demandez votre code de réduction d’une valeur de 20 Euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://atremoplus.fr/bienvenue/">Recevoir mon code</a></span></p></div>';
    }
    elseif (get_locale() == 'de_DE' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">Ist dies Ihre erste Bestellung?</h3><p style="text-align: left;"> Fordern Sie Ihren persönlichen 20 Euros Rabatt.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/de/atremoplus-kaufen/">Gutscheincode anfordern</a></span></p></div>';
    }
    elseif (get_locale() == 'es_ES' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">¿Este es su primer pedido?</h3><p style="text-align: left;"> Solicite su código de descuento por un valor de 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/es/comprar-atremoplus/">Recibir mi código</a></span></p></div>';
    }
    elseif ($logged_in == false) { // Backup/fallback language is English and is shown only when user is not logged in
        return '<div class="discount"><h3 style="text-align: left;">Is this your first order?</h3><p style="text-align: left;">Request your discount code for a value of 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/welcome-coupon/">Receive my code 
</a></span></p></div>';
    }
}
add_shortcode('coupon', 'coupon_shortcode');

Below an example as Spanish as a backup/fallback language:

function coupon_shortcode() {
    $logged_in = is_user_logged_in();

    if (get_locale() == 'en_US' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">Is this your first order?</h3><p style="text-align: left;">Request your discount code for a value of 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/welcome-coupon/">Receive my code
    </a></span></p></div>';
    }
    elseif (get_locale() == 'fr_FR' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">C’est votre première commande?</h3><p style="text-align: left;">Demandez votre code de réduction d’une valeur de 20 Euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://atremoplus.fr/bienvenue/">Recevoir mon code</a></span></p></div>';
    }
    elseif (get_locale() == 'de_DE' && $logged_in == false) {
        return '<div class="discount"><h3 style="text-align: left;">Ist dies Ihre erste Bestellung?</h3><p style="text-align: left;"> Fordern Sie Ihren persönlichen 20 Euros Rabatt.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/de/atremoplus-kaufen/">Gutscheincode anfordern</a></span></p></div>';
    }
    elseif ($logged_in == false) { // Backup/fallback language is Spanish and is shown only when user is not logged in
        return '<div class="discount"><h3 style="text-align: left;">¿Este es su primer pedido?</h3><p style="text-align: left;"> Solicite su código de descuento por un valor de 20 euros.</p><p style="text-align: left;"><span style="text-decoration: underline;"><a class="myButton" href="https://www.atremoplus/es/comprar-atremoplus/">Recibir mi código</a></span></p></div>';
    }
}
add_shortcode('coupon', 'coupon_shortcode');
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749230929a317460.html

最新回复(0)