サポート » プラグイン » bogo デザイン変更

  • 初歩的な質問かと思われますが、デザイン上どうしても変更したく困っております。
    どうぞよろしくお願い致します。

    現在「bogo」で、日本語、英語を選択しておりまして、ショートコードにより下記が表示されていますが、この文字を変更したく試行錯誤しております。

    ■今表示されるコード
    <ul class=”bogo-language-switcher”>
    <li class=”en-US en first”>English (United States)
    <li class=”ja current last”>日本語

    ■変更したい文字
    English (United States)→EN
    日本語 →JA

    できればこの文字にCSSを適用できる形にしたいです。
    (li の国旗の背景画像はCSSから変更します)

    お手数ですが、お力添え頂けますと幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • [bogo] ショートコードでは、 bogo_language_switcherという関数が実際は呼び出されてHTMLを作成しています。

    参考: link-template.php in bogo/tags/2.6.1/includes – WordPress Plugin Repository

    ちょっと実装を見る限り、bogoへのカスタマイズだと難しいので、my_ bogo_language_switcherみたいな感じで関数をコピーした上で、classを吐いたりするようにカスタマイズしてみるのはどうでしょう。

    横からすみません。

    トピックと同じことを実現したく調べていましたらこちらのトピックを見つけました。

    私は以下のように実現しましたので情報共有させて頂きます。
    以下、function.phpの記述です。

    remove_shortcode( 'bogo', 'bogo_language_switcher' );
    add_shortcode('bogo', 'my_language_switcher');
    function my_language_switcher( $args = '' ) {

    remove_shortcodeで元の処理を削除
    ※なくても普通に動いてるようですが念のためいれてます。
    add_shortcodeでショートコード追加。
    bogo_language_switcherをコピーして変数名をmy_language_switcherに変更

    if ( empty( $link[‘href’] ) ) { } else { }の箇所でラベルを表示しているので、

    if($link['locale'] == "en_US") :
     $li = esc_html( 'EN' );
    elseif($link['locale'] == "ja") :
     $li = esc_html( 'JA' );
    else :
     $li = esc_html( $label );
    endif;

    リンクありの場合も同様で、
    $li = sprintf( ‘<li class=”%1$s”>%2$s’, $class, $li );
    の箇所に独自のクラスを追加もできました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「bogo デザイン変更」には新たに返信することはできません。