WordPress3.2へのアップグレードに伴うビジュアルエディターの不具合を修正しました。
http://firegoby.jp/wp/tinymce_templates
それだけです。
WordPress3.2へのアップグレードに伴うビジュアルエディターの不具合を修正しました。
http://firegoby.jp/wp/tinymce_templates
それだけです。
WP Total Hacksをアップデートしました。
今回のアップデートはWordPress3.2への対応です。
ホントは新しい機能を実装したものをリリースする予定だったのですが、ビジュアルエディターまわりの処理が3.1と3.2の間で、互換性が無くなってしまったため、後始末に手こずりました。
このブログでも自作プラグイン上でビジュアルエディターを設置する方法について解説させていただきましたが、もう過去の遺物です。
以下では本来の趣旨とはちょっとかわりますが、WordPressプラグイン開発から見たビジュアルエディターなどの変更点についてご説明します。
自作プラグインでビジュアルエディターをつけることはあんまりないと思いますが…
本来ならソースを上げて説明したいところですが、めんどくさいので省略します。
従来のWordPressではビジュアルエディターを出力するためのtiny mce用の設定をwp_tiny_mce()で出力して、そのあとでthe_editor()でビジュアルエディター用のHTMLを出力するという流れでした。
しかし、3.2以降ではthe_editor()のみで最低限必要な処理が出力されるようになり、wp_tiny_mce()をthe_editor()とあわせて実行するとJavaScriptやHTMLのコンフリクトが発生します。
どうやらカスタマイズしたエディターを出力するためのパラメータをwp_tiny_mce()やその他のフックでゴニョゴニョしなければならないようです。
ですが、もともとデフォルトのままだったので、今回はそのへんは追っかけていません。
WordPress3.2から追加された”なんちゃらかんちゃらモード”(フルスクリーンのあれですw)は、the_editor()実行時にフルスクリーン用のHTMLを出力するのですが、悲しいことにこのHTMLにはフックがありません。
なので、自作プラグイン側で the_editor() する際には以下のような感じで、フルスクリーン用のtinyMCEプラグインを解除する必要があります。
add_filter('tiny_mce_before_init', array(&$this, 'tiny_mce_before_init'), 999);
public function tiny_mce_before_init($init)
{
$init['plugins'] = str_replace(
array('wpfullscreen',',,'),
array('', ','),
$init['plugins']
);
return $init;
}
ちなみに上記のソースをそのまま使うと記事などの投稿画面でもボタンが消えちゃいますので、以下のページを参考に適切な条件分岐などをしましょう。
http://firegoby.jp/archives/2236
jQueryの1.6から $(‘foo’).attr(‘checked’); は、$(‘foo’).prop(‘checked’); に書き換えてねという情報を聞いていたんですが、その後1.6.1が再度リリースされて、従来の $(‘foo’).attr(‘checked’); でも動くようにしたよんということだったので、完全にタカをくくっていました。
実際にWordPress3.2に同梱されているjQueryは1.6.1なので、オッケーと思っていたんですが、実際には動きません。
というわけで、.attr(‘checked’) を、もし自作テーマなどで使用しているなら、.prop(‘chekced’) に変える必要があります。
午前0時を過ぎたので昨日になりますが、神戸のWordBenchに参加しました。
みなさん、お疲れさまでした。
ところで、そのなかで、トップページの下の方に今後のイベントを表示したいとか、ウィジェットでやったらいいとか、そんなやりとりがありました。
実は、その解決に役立ちそうなのをすでに持っていたので、公開しておきます。
このプラグインは、URLを指定すると、その記事の投稿サムネールやタイトル、記事などを単独で表示するプラグインです。

このプラグインは単に指定された投稿またはページを単独で表示するだけです。
しかし、投稿サムネールがあればそのimgタグも出力できますので、たとえばサイドバーウィジェット上でキャンペーンなどの告知用バナーなどが、超簡単に作成できます。
HTML部分はテンプレート化していますので、様々なシーンで利用可能な優れものです。
テーマファイル内の functions.php に以下の記述を追加してください。
register_sidebar( array(
'name' => 'Home Widget Area',
'id' => 'home-widget-area',
'description' => 'The HOME widget area',
'before_widget' => '<div id="%1$s" class="home-widget-container %2$s">',
'after_widget' => '</div><div class="clearfix"> </div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
続いて、テーマファイル内のindex.phpのhave_posts()ループの直下あたりに、以下の記述を追加してください。
dynamic_sidebar('home-widget-area');
ここまでの処理でトップページに新しいウィジェットエリアが追加されました。
あとは、本プラグインを以下からダウンロードして、インストールして下さい。
次にウィジェットの設定画面で、このウィジェットを有効化してテンプレートをゴニョゴニョすれば完成です。
イベントが完了したら、ワンタッチで削除できますので幸せですよ。
意味分かりにくいですかね?
でも、これは、解決策のひとつとしてとてもオススメであることは間違いありません。
わからないことがあれば、twitterで質問してくださいませ。
5月24日にこのサイトで公開したプラグインWP Total Hacksについて、再度ご紹介させていただきます。
このプラグインを公開してから3週間がたちましたが、お陰さまで本日現在までに3,000回以上もダウンロードしていただき、とても多くのブログやtwitter等でもご紹介いただきました。
海外での反応も好評で、すでに7ヶ国語に翻訳されています。
WordPress開発に携わる多くのみなさんは、クライアントのためにWordPressを構築して納品していると思います。
そんな中でお客さんに使い方を説明するわけですが。。。
こんなやりとりを誰もがしてますよね。
WordPressは非常に多機能で優秀なCMSであるがゆえに、とにかくもう説明が大変なんです。
そんなわけで、不要な機能をポンポンと無効化できるようにしよう!と思ったのが、当初の動機でした。
個人的なおすすめの機能を五つだけご紹介します。
WordPressにはデフォルトで管理者、編集者、寄稿者などのロールが用意されています。
この機能を有効化するとWebmasterというロールが新たに作成されます。
このWebmasterは管理者と編集者の中間に位置するロールで、編集者に”edit_theme_options”という権限のみを追加したものです。
では、何が出来るのかといいますと、従来編集者にはできなかったサイドバーウィジェットやカスタムメニュー、カスタム背景などをカスタマイズすることができます。
一方でテーマやプラグインの管理はできませんので、このWebmasterの操作によって、サイトそのものが致命的に動作しなくなることはありません。
この機能を有効化してお客さんに渡すとかなりの説明を省くことができます。おすすめです。
この機能を有効化すると管理者以外にはアップデート通知が表示されません。
上述のWebmasterとともに有効化してクライアントに納品すると、アップデートをちょっとゆっくり行うことができます。(笑)
保守費用をいただいてメンテする際には便利ですよ。(大きな声では言えませんが。)
WordPressには自動的にメールを送信する機能があります。
そのときのwordpress@example.comなどのメールアドレスを変更できます。
ちゃんとテストしていませんが、Contact Form 7 とも仲良く同居できるはずなので、ぜひ有効化しましょう。
クライアントに余計な情報を見せないために、いくつかのウィジェットを無効化しています。
特にWordPressではじまる2つのウィジェットは個人的に見せたくないと思って。。。すいませんすいません。
パーマリンク設定などにもよりますが、スラッグはほぼ全てのサイトで無効化しています。
あと、カスタムフィールドも、必ず無効化するメタボックスの一つです。
トラックバックや投稿タグなども企業サイトでは利用することが少ないと思いますので、無効化することが多いと思います。
新機能については、いくつかのアイディアをご提供いただいており、それらはGitHub上のIssuesにパラパラと書いています。
https://github.com/miya0001/wp-total-hacks/issues?sort=created&direction=desc&state=open
これに関しましては、どなたでもかけますので、アイディアは大歓迎です。
あと、今後のアップデートで重要と考えているのは、3.2への対応とマルチサイトへの対応です。
現時点で致命的なエラーが出るわけではないのですが、いくつか対応が不十分な項目があるので、近日中にアップデートする予定です。
WP Total Hacksをアップデートしました。
http://firegoby.jp/wp/wp-total-hacks
ドイツ在住のFelix Kernさんに英語での表現を修正していただきました。
また、ドイツ語の言語ファイルを追加しました。
WP Total Hacksについて今回は外観及びその他タブについてご説明します。
http://firegoby.jp/wp/wp-total-hacks
これまでの解説は以下をご覧ください。
メディアアップローダーなどを使用して管理画面ヘッダーの左側にあるWordPressのロゴ画像を変更してください。
縦横30ピクセル以下の画像を使用することをおすすめします。
なお、まもなくリリースされるWordPress 3.2では、この部分の画像サイズが小さくなりますが、はみ出した部分は切りつめて表示されるようです。
管理画面左下のフッターのテキストを変更できます。
このフッターテキストの部分はWordPress側であらかじめ<p>で囲まれていますので、改行は無視する仕様になっています。
画像も挿入することが可能ですが、WordPress 3.2では、CSSで position:absolute が指定されているらしく、高さがある画像を配置するとフッターからははみ出してしまいますのでご注意ください。
ログイン画面のロゴ及びクリック時のURL、リンク先タイトルを指定できます。
管理画面内のダッシュボードに配置されているウィジェットを無効化できます。
無効化したい項目にチェックを入れてください。
これは私の独断と偏見でつけた機能です。
WordPressのデフォルトの「管理者」と「編集者」の中間のようなロールで、簡単に言うと「編集者」にサイドバーウィジェットやカスタムメニューなどの「edit_theme_options」を追加したロールです。
ノンプログラマーに対してある程度大きめの権限を渡す際に有効で、テーマの変更やプラグインの操作などはできません。
クライアントにデモを見せるときにサイドバーウィジェットはとても喜ばれるのですが、管理者権限を渡してしまうと「あれはしないで。」「これはしないで。」という説明が必要になりますのでクライアントにはこの権限を渡しています。
ユーザー登録時やコメントなどの通知で届くWordPressからのメールの送信者名およびメールアドレスを変更できます。
ちゃんとテストしてませんが、ContactForm7などの他のプラグインでこの部分をカスタマイズできるものと同居した場合にそなえて正規表現でチェックしています。
ユーザーの編集からデフォルトの連絡先情報を削除します。
削除したい項目にチェックを入れてください。
WordPressでは、アップデートがあると通知してくれますが、この機能を有効にすると管理者以外には通知が行われません。
さっそくですが、アップデートです。
http://firegoby.jp/wp/wp-total-hacks
今回のアップデートでは動作に関係のある項目はありません。
しばらくアップデートが頻繁にあると思いますので、ご理解の程お願い申し上げます。
また、今回のように言語ファイルの追加のみのアップデートの場合は、このブログでは告知しないこともありますので、よろしければ@miya0001をフォローしてください。
https://github.com/miya0001/wp-total-hacks
このサイトで配布しているプラグイン”WP Total Hacks”について、昨日の記事に引き続き今回は投稿&ページの設定をご説明します。

このタブには編集画面をカスタマイズするための機能があります。
WordPressの投稿やページの編集画面には、ビジュアルエディター以外にもメタボックスと呼ばれる様々なボックスが配置されています。
これらのメタボックスの中には、クライアントへの説明が難しいメタボックスや、場合によっては使ってほしくないメタボックスがもあるかもしれません。
そんな場合には、削除したいメタボックスにチェックを入れることで、編集画面から削除されます。
投稿と同じく不要なメタボックスにチェックを入れてください。
WordPressには過去のリビジョンを保存する機能があります。
同じページを何度も編集するとこのリビジョンが膨大に並んでしまいますので、それが気になる方はプルダウンメニューで保存件数を選択してください。
0を選択した場合はリビジョン機能はオフになります。
念のため申し上げておきますが、このリビジョンが増えたからと言ってサイトの表示のパフォーマンスに影響はありませんので、好みの問題だと思います。
WordPressには30秒間隔で自動保存を行う機能があります。
これが嫌いな方は有効化することで自動保存が停止します。
私の経験では、カスタム投稿タイプ+カスタムフィールドを使用したプラグインでは、いつのまにかカスタムフィールドの値が消えてしまうバグがあるプラグインがあります。
そんな場合は、自動保存を無効にすると解消されます。
コンテンツ内からリンクを貼ると、URLを抽出してピンバックを送信する機能がありますが、サイト内リンクでは余計なお世話と感じることが少なからずあります。
そんな場合は、この機能を有効にすると、サイト内リンクに対してはピンバックを送信しません。
テーマによっては投稿だけでなくページにも抜粋が欲しい場合があります。
この機能を有効化すると、ページの編集画面にも抜粋入力用のテキストエリアが表示されます。
本日リリースしたWP Total Hacksについてですが、ちょっと詳しく解説をします。
http://firegoby.jp/wp/wp-total-hacks
すべての項目を1ページで説明するのは無理なので、本日以降4回にわけて管理画面のタブごとにご説明します。

お気に入りに登録した際などに表示されるfavicon.icoを設定できます。.ico以外でもアップロードできますが、.ico以外のファイル形式は残念ながらieに対応していません。
これらはリモート投稿機能と言って、外部のソフトウエアなどを使用する際に必要なタグですが、デフォルトではリモート投稿がオフになっています。
この機能を有効にすると、WordPressの[投稿設定]にあるリモート投稿が有効か否かによって、自動的にこれらのメタタグが出ないようになります。
WordPressでは、前後の投稿へのリンクをメタタグ内に自動的に出力しますが、ページでは前後の投稿という概念そのものがないため無いほうがいいかもしれません。
好みによると思いますが、この機能を有効にするとページでのみ、これらのメタタグが削除されます。
好みの問題ですが、この機能を有効化するとメタタグで出力されるWordPressのバージョン情報を削除します。
念のため申し上げておきますが、このメタタグが出るからと言ってセキュリティリスクがあることにはなりません。
あくまでも好みの問題だと思います。
WordPressでは、続きを読むリンクに#more-xxxアンカーをつけてくれますが、場合によってはお節介と感じることもあります。
余計なお世話と思った方は有効化すると幸せになれます。
これも、#moreアンカーと同様に余計なお世話と感じることがあります。
そんな場合は有効化されると、出力されなくなります。
Google Analyticsのコードを入力できます。
管理者には表示しないように設定することで、より精度の高いアクセス解析結果が得られると思います。
検索エンジンのウェブマスターツールで提供される認証コードを入力できます。
メタタグをそのまま入れるのではなく、認証コードのみを入力してください。