WordPressのTinyMCE(ビジュアルエディタ)での見た目をブログと統一する

WordPressで記事を書く際、ビジュアルエディタを使っていると公開サイトとは違う見た目になってしまいます。これを公開サイトと揃えるにはテーマ内のfunctions.phpに以下を記載します。

これでテーマフォルダにあるeditor-style.cssが適用されるようになります。
テーマのsytle.cssを直接設定してもうまくいく場合もあります。これはコンテンツエリア以外のスタイルも反映されてしまうからです。
ですので、editor-style.cssなどビジュアルエディタ用のcssを別途用意して適用した方がいいでしょう。

BuddyPressの特定ページがログインしないと見れない

BuddyPressを複数のサーバーにインストールして検証しているのですが、ある環境でログインしないと見れないページがあることがわかりました。

見れないページとは
・グループページ
・メンバーページ
・活動

他にもあるのかもしれませんが、確認したのは上記です。
BuddyPressをインストールした状態では、本現象は起こらないのですが、あるプラグインをインストールすると発生します。

そのプラグインはこちら
BP-Registration-Options
このプラグインはBuddyPressの新規ユーザー登録を承認制にするものです。

上記にチェックが入っている状態で該当ページアクセスするとアカウント作成ページに飛ばされます。チェックを外せはこの動きは回避され、ログインしなくても該当ページにアクセスすることができます。

BuddyPress Registration Optionsの承認者のレベル設定

BuddyPress Registration Optionsの管理者のレベル設定

BuddyPressで新規ユーザー登録を承認制にするプラグイン「BuddyPress Registration Options」はユーザー登録後、管理者が管理画面でそのユーザーを承認するまで、そのユーザーは使用できません。
が、管理者とは最高権限を持つユーザーのことで、複数の人間で管理しているような場合、これでは都合が悪いことがあります。
そこで、ある権限を保有するユーザーまで承認できるようにします。

bp-registration-options/includes/admin.php
を変更します。

136行目あたりの

 

のadministratorの部分を適当なユーザーロールに書き換えます。
ユーザーロール名についてはこちらのページを参照

設定したロールよりも上位の権限をもつユーザーは新規登録ユーザーを承認することができるようになります。

BuddyPressのユーザープロフィールから不要なリンクを取り除く

BuddyPressにユーザーを登録し、プロフィールを入れると下の画像のように不要な部分(赤線)にリンクが設定されることがある。このリンクをクリックすると同じ内容のユーザーをまとめて表示してくれるのだが、それが不要な場合もある。

リンクが設定されてしまっている状態

そこでこのリンク設定を削除し、リンクされていない状態にしたいと思います。

BuddyPressフォルダ内の

bp-xprofile/bp-xprofile-filters.php

を編集します。

上記を検索し、コメントアウトすることでメールアドレス以外からリンクを消すことができます。

BuddyPressで特定のユーザーをメンバー一覧に出さない

BuddyPressでSNS的なサイトを運用するとき、メンバーページには当然全てのユーザーが表示されます。ところがSNSには参加しないけどBuddyPressを管理したいユーザーが居た場合、メンバーページにそのユーザーが表示されてしまうと都合が悪いときがあると思います。
そんな管理ユーザーをどうやってメンバーページに表示させないようにするか調べたところデータベースの値を操作することで非表示にすることができました。

画像はphpMyAdmin

phpMyAdmin

phpMyAdmin
wp_userのuser_statusの値を0以外にします。
画像では100にしています。

メンバーページには表示されませんが、その他の操作は可能です。ですがSNS内でなんらかの活動(コメント投稿、グループ参加など)をしてしまうとせっかく非表示にしたユーザーの存在がバレてしまいますので注意が必要かな。

WordPress:管理画面「外観→ウィジェット」の不要なウィジェットを非表示に

管理画面の「外観→ウイジェット」にはデフォルト様々なウィジェットが登録されている。さらにプラグインなどをインストールすると、このウィジェットが増えたりする。
が、全てのウィジェットを使用することはまずない。サイトを管理しているのが自分自身だけならそれでも問題ないが、複数の人間で管理する場合、余計なウィジェットがあると予期せぬ操作をしてしまいかねない。
そこで使用していないウィジェットは非表示にしてしまおう。

以下のコードをfunctions.phpに追記

function名は自由。

クラスの一部
【デフォルトウィジェット】

WP_Widget_Archives // アーカイブ
WP_Widget_Categories // カテゴリー
WP_Widget_Calendar // カレンダー
WP_Widget_Meta // メタ
WP_Widget_Pages // 固定ページ
WP_Widget_Recent_Comments // 最近のコメント
WP_Widget_RSS // RSS
WP_Widget_Search // 検索
WP_Widget_Tag_Cloud // タグクラウド

 

【Buddypress】

BP_Blogs_Recent_Posts_Widget // 最近の Networkwide 投稿
BP_Core_Members_Widget // メンバー
BP_Core_Recently_Active_Widget // 最近活発なメンバー
BP_Core_Whos_Online_Widget // オンラインのメンバー
BP_Groups_Widget // グループ

プラグインで追加されたウィジェットはプラグインの中でclass定義されているのでそれを記載すれば非表示にできる。

WordPressから送られてるメールアドレスを変更する

WordPressはユーザー登録やコメント投稿時にメールを送ってきてくれるのだが、そのメールアドレスがwordpress@hoge.comみたいに@の前がwordpressだったりする。
これでは不都合があったりする場合もあるので書き換えたいが、管理画面にはそれを設定する場所がない。

そこでテーマのfunction.phpにフィルターを記載してメールアドレスを変更することにします。

これでWordPressから送られてくるメールのアドレスが変更されます。

WordPressのメニューにある「ホーム」を変更したい2

以前紹介した「ホーム」を変更したいのやり方よりも
圧倒的に簡単な方法がありました。

テーマの編集から「テーマのための関数」(function.php)を開いて
以下の文章を探します。

[php]function my_page_menu_args( $args ) {
$args[‘show_home’] = true;
return $args;
}
add_filter( ‘wp_page_menu_args’, ‘my_page_menu_args’ );[/php]

なければfunction.phpの最後に追記します。

このコードの$args[‘show_home’] = ture;のtureの部分を
変えたい文言に変更してfunction.phpを更新してください。

「ホーム」が変更した文言に変わったと思います。

※テーマの作り方によってはこの方法で変えられない場合もあるようです。

wordpressのメニューにある「ホーム」を変更したい。

テーマのfunctions.phpで変更する方法はこちら

WordPressのメニューに「ホーム」と言うのがある。ホームと言っておきながらここがBLOGのTOPページなることが多い。固定ページを「ABOUT」など英字にすると「ホーム」がカタカナなのは変だ。「ホーム」を「HOME」なり「BLOG」なりに変更したい。

ところが管理画面をいくら見ても変更する場所が見あたらない。どうやらこの「ホーム」、WordPressで最初から決まっている言葉らしい。これを変更するにはWordPressを構成するファイルja.mo(Languageフォルダ内)を編集する必要がある。ところがこのja.mo、テキストエディタなどで開いてもさっぱりわからない。どうやらmoファイルはバイナリファイルのようだ。
moファイルはpoファイルを変換して作成するらしい。

と言うことで以下のようにやってみた。

まずはOS XのインストールディスクからXcordをイストールする。
次にMacPortsをインストールする。The MacPortc Projectにアクセスして画面中央の「Latest MacPorts release: 1.9.2」をクリック。(2010.5.30時点でバージョンは1.9.2)

ダウンロード画面で自分のOSにあった.pkgをダウンロード

ダウンロードした.pkgをダブルクリックしてインストーラーを起動。指示に従ってインストールをする。
MacPortsのインストールが終わったらターミナルを起動してMacPortsの設定を確認。「echo $PATH」と入力して「/opt/local/bin」と「/opt/local/sbin/」が存在するかをチェック。

[text]echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin[/text]

次にgettextのインストール。ターミナルから「sudo port search gettext」と入力。途中パスワードを求められるのでMacにログインするパスワードを入力

[text]sudo port search gettext[/text]

ターミナルに上のコマンドの結果が表示される。

[text]gettext @0.18.1.1 (devel)
GNU internationalization (i18n) and localization (l10n) library

gettext-lint @0.4 (devel)
gettext lint tools

p5-locale-gettext @1.05 (perl)
Perl interface to GNU gettext

php5-gettext @5.3.6 (php, devel)
a PHP interface to the gettext natural language support functions

poedit @1.4.6.1 (devel, aqua)
poEdit is a cross-platform gettext catalogs (.po files) editor.

rb-gettext @2.1.0 (ruby, devel)
a Localization library and tools which modeled GNU gettext.

Found 6 ports.
[/text]

今回必要なのは一番上のgettextなので「sudo port install gettext」と入力してインストールする。

[text]sudo port install gettext[/text]

インストールにはそこそこ時間がかかる。インストールが終わったら「sudo port installed」と入力してインストールされたかを確かめる。

[text]sudo port installed[/text]

結果がこちら

[text]The following ports are currently installed:
expat @2.0.1_1 (active)
gettext @0.18.1.1_2 (active)
gperf @3.0.4_0 (active)
libiconv @1.13.1_0 (active)
ncurses @5.9_0 (active)
ncursesw @5.8_0 (active)[/text]

ちゃんとインストールされている。

あとはja.poの以下の部分を好きな言葉に編集

[text num=1205]msgid “Home”
msgstr “”[/text]

これを当サイトではBLOGに変更。

[text num=1205]msgid “Home”
msgstr “BLOG”[/text]

あとはja.poをja.moに変換。
ターミナルから

  • $ cd /ファイルがあるディレクトリ名
  • $ sudo msgfmt -o ja.mo ja.po

変換されたja.moをアップロードすれば完成。

もちろん各ファイルをバックアップしてから上書きするのを忘れずに。