joppot

コピペで絶対動く。説明を妥協しない

プログラミング

wordpressのbogoプラグインのショートコードをカスタマイズする

投稿日:2017年3月29日 更新日:

Pocket


概要

みなさんこんにちはcandleです。
今回はwordpress bogoのショートコードをカスタマイズしてみたいと思います。
紹介する項目は以下の2つです。

  • 国旗の表示、非表示
  • テキストの変更

になります。

関連記事

wordpressのbogoでサイトで使用する言語を「en-US」から「en」に変更する方法

前提

wordpress bogoがインストールされている
wordpressのテーマを編集できる

SPONSORED LINK


国旗の表示非表示

bogoのショートコードは[bogo]を貼り付けるだけで、どこでも他の言語へ移動するリンクを表示してくれます。
その時、自動的に国旗が表示されます。

場合によっては国旗が必要でないこともあるので、非表示にしてみましょう。
各テーマのフォルダにあるfunctions.phpを開きます。
一般に以下のパスにあります。

wp-content/themes/テーマ名/functions.php

開いたら、以下の内容を記述します。

add_filter( 'bogo_use_flags','bogo_use_flags_false');
function bogo_use_flags_false(){
 return false;
}

add_filterでfalseを投げてあげれば、国旗は非表示されます。



表示されるテキストを変更する

例えば、先日の記事の様に、言語をen-USからenに変更した際、
英語のリンクが「English (United States)」では違和感があります。

そこで、例えば「English (United States)」から「English」に変換する方法を紹介します。
もちろん、好きな文字を変更できるので、用途に合わせて変更してください。

function.phpを開いて、以下を記述します。

add_filter( 'bogo_language_switcher','replace_bogo_text');
function replace_bogo_text($output){
 return str_replace(' (United States)','',$output);
}

実はこの方法はかなりの荒技です。

[bogo]のショートコードで表示される結果全体に対して、置換をかけています。
もう少しスマートな方法を試そうとしたのですが、今の所これが最善かと思います。

ちゃんと文字が変更されていますね。

ショートコードを根本から変更する

実は付け焼刃的な解決ではなく、もっと根本から変更する方法があります。
bogoプラグインの中のショートコード生成コードをオーバーライドして自分用にするというものです。

大掛かりな変更を行う場合はこちらの方法を使用すると、より細かくカスタマイズが可能です。
この記事では扱いませんが、以下のサイトに詳しく書いてあります。

https://qox.jp/blog/bogo-wordpress/

まとめ

このサイトはここでまとめた方法で他言語に対応させています。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

react0.14 + gulp + express + babelでReactのチュートリアル環境構築をする

概要 みなさんこんにちはcandleです。今回は、react0.14のnodeの環境構築をします。 react0.14はまだまだ、開発段階にあり、しばしば仕様変更が行われています。 0.13の時では使 …

C++のopencvでhelloworld

概要 みなさんこんにちはcandleです。インストールできたopencvを使ってhelloworldを行いましょう。 opencvでhelloworldとはなんぞや、と感じるかもしれませんが、open …

MAMPのSQLiteManagerを使用してsqlite3データベースの作成とデータベースファイルの設置

概要 みなさんこんにちはcandleです。今回はsqliteデータベースをMAMPを使用して作成しましょう。 PHP5.3からsqlite3のクラスが充実して、mysqlを使用しなくてもsqliteで …

phpのsnappyライブラリをmacで使用して、webサイトのサムネイルを取得する

概要 みなさんこんにちはcandleです。今回はsnappyを使用して、ウェブサイトのサムネイルを自動的に取得したいとおもいます。 snappyはそれ自体がhtmlを画像にするスクリプトではなく、wk …

MAMP2.2上でのPHP5.3.27のpearの使い方と動作確認

概要 みなさんこんにちはcandleです。今回はMAMPのpearの使い方と動作確認です。 pearというのはphpのライブラリ群の様なもので、便利なライブラリがそろっています。 中にはなぜ、これがp …

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

twitter

スポンサードリンク

アーカイブ