カテゴリー: wordpress

  • はまりました。。max_input_vars。

    WordPressで様々なプラグインを導入すると、おのずとそのプラグインのメニューが増えたりしていきます。

    私のプラグインは殆どが、管理画面をカスタマイズするものなのですが、プラグインで管理画面にエラーが出る場合には大抵、他のどのプラグインを有効化した時にエラーが出るのか、超地道にひとつずつ調べています。 😳

     

    今回も、多分アメリカ?の方から「動かないよーどうなっているだYo! 😈 」とメールをいただき、「動かないのは分かったので、どういう設定をしているのか教えてYo! 😳 」をもっと丁寧な感じにした英語で返事をして、さっそく調べていました。

     

    まずは出来る限り同じ環境へ

    相手の方がお見せ出来る限りの環境(管理画面のスクリーンショットやプラグイン一覧画面等)を見せていただき、私もローカルサーバに同じように環境づくりをします。

    WordPressのバージョンも同じバージョンにOK。プラグインの一覧・バージョンもOK。

    で、さっそくやってみると…
    はい、確かにエラーとなります。 🙁

    でも、ここでやっかいに感じた部分。。
    それは、「微妙に保存されている、ような、いないような 😕 」。。

    まぁ、そんな事は後で考えようか。(本当は一番の原因に関係すること)

    そして、一つずつぽちぽちと、プラグインを有効化して無効化、有効化して無効化… 😆
    をやってみるのですが、どのプラグインの場合でも同じようなエラーがでました。 😕

    ユーザー権限の問題だろうか。 😕

    はたまたWordPressのバージョンが上がった時の何かの影響なのだろうか。 😕
    と思い、バージョンダウンして試してみたりしましたが、これもやはりダメ。。

    それからも色々試してみて、少し発見したことがありました。
    「Woocommerceと何かを有効化すると、結構な確立でエラーが出る」という事でした。 😕

    (誤解された方がいたらすみません、Woocommerceはエラーが良く出る。という訳ではありません。詳細は下記をお読みください)

     

    って事は、Woocommerceの問題なのかな~と目星をつけ、またひたすらトライ&エラーの繰り返し。
    それからまた分かった事は、「メニューの数が多い時だけ、エラーになる」という事でした。

    (Woocommerceはたまたまメニューの数が多かっただけ)

     

    ふーん。なるほど~。。わかりません。 😳

     

    色々と設定をいじくり、なんとか画面にPHPのエラーが出るようにしました。

    ログよりも、画面にエラーが出ると、どのタイミングでのエラーなのか分かりやすいです。 😮

     

    で、そのエラー文をもとに色々とググっていると、phpmax_int_varsという設定にたどり着きました。

    max_int_vars でぐぐると、ほぼ確実に同じような状況のエラーについて書かれた多くのブログがあります。
    なるほど、フォームのアイテム数が指定した数よりも多すぎる。という事なんですね。

    その数を指定する項目が max_int_vars。

    しかもそれが、PHP 5.3.9 以降だなんて。。それは知らなかったよ。。 😥

     

    かと言って、フォームの数を減らせばOK!

    という解決策では上手くいかないので、どういう風にすればフォームの数を”PHP”上で減らす事が出来るかな~と試行錯誤すると、あっさり解決。 😐

     

    原因がWordPressもしくはプラグインのほうにある。とばかり思い込んで原因を探っていたのでかなり時間取られました。。

    色んな方面から原因を考えられるようにならねば。 🙄

     

  • WordPress Plugin Post Lists View Custom Version UP 1.5.5

    WordPress の投稿一覧等の一覧画面をカスタマイズする

    Post Lists View Custom

    のバージョンアップをおこないました。

    最新バージョンは1.5.5。

     

    やったこと

    WordPressの投稿一覧画面では、ちょっとした事を手軽に編集できるように「クイック編集」の機能があるのですが、その「クイック編集」で投稿を編集した後のカラム設定がWordPress標準のものとなっていました。

    これをPost Lists View Customで設定した通りのカラム設定になるよう修正しました。

    WordPressでは、一覧画面は

    http://example.com/wp-admin/edit.php

    で表示されるので、edit.phpへのフックを使ってごにょごにょすればいいと思い、ずっと試していたのですがこれがなかなか上手くいかず。。

    なんでクイック編集の時だけ上手くいかないんだろう。。とひたすら試行錯誤の繰り返し。

    どのタイミングでどの動作をしているのかをずっと追っかけていたら、やっと分かりました。

    クイック編集の場合は admin-ajax で更新していたようです。

    ず~っと edit.php にてフックさせていたので、admin-ajax.phpでは全く動作しませんでした。

    これをクイック編集にも対応できるよう、フックを変えて動作させるよう更新しました。

     

    ダウンロードされるかたはこちらからどうぞ。

    http://wordpress.org/plugins/post-lists-view-custom/

     

     

     

     

     

  • WordPress Plugin Custom Options Plus Post in Version UP 1.3.1

    WordPress でオプション値を手軽に作成できる

    Custom Options Plus Post In

    のバージョンアップをおこないました。

    最新バージョンは 1.3.1。

     

    やったこと

    作成したカスタムオプション値を管理しやすくなるように、カテゴリを作成できるようにしました。

    カテゴリー作成
    カテゴリー作成

    100個カスタムオプション値を作成した場合に、カテゴリ別で10個ずつ分けることが出来る。みたいなイメージです。

    あとは、管理しやすくなるように「メモ」を作成できるようにしました。

    ~用のカスタムオプション値。

    とか、

    ~までのカスタムオプション値でいついつから~に変更予定。

    などが書き込めるようになっています。

    あと、マルチサイトで各サイトで使用できるように対応しました。

     

    ダウンロードはこちら

    http://wordpress.org/plugins/custom-options-plus-post-in/

     

    実は、この「カテゴリー作成」の機能自体は私の案ではなく、とある外国の方からの問い合わせから機能追加をすることになりました。

    下記にそれまでのいきさつを書きました。

    気になる方は宜しければお読みください。 🙂

     

    いきさつ

    とある外国の方(多分イギリスの方)から問い合わせフォームにて「~省略~ メインカテゴリで分けたい」と問い合わせがありました。

    メインカテゴリ?Parent? Child? (省略部分に書いていました)

    そんな機能をつけた覚えはありません。

    なので「WordPressのカテゴリーと連携させたいのかな?」と考えたり、「ページのように親と子の属性をつけれるようにしたい」という事なのと考えてみました。

    どちらにしてもはっきりとなんの事を言っているのか分からなかったのですが、一つだけはっきりと分かることがありました。

    I have 1,000s of items

    驚きました。そんなに使ってくれていたんですね。嬉しいです 🙂

     

    言っていることを理解する為に、実際に1,000個、カスタムオプションを作成して試してみました。すると…

    すこぶる表示が遅い。あと、例えば628番目のカスタムオプション値を編集する為にものすごく時間と手間がかかる。

    という事が分かりました。あ、おそらくこれを何とか解決したいのかな?と言っているのではないかと思いました。

    でも確証はなく、私の英語力では、これだけの理解が限界でした。。 🙁

     

    なので、

    I was surprised, That you have the items of 1,000. 

    I’m sorry, I could not understand the some mean of you said.
    >parent/child collapsible lists
    >main categories
    What does this mean?

     

    こんなニュアンスです。

    それは驚きました、1,000個もアイテムがあるなんて。

    すみません、あなたの言ったことが私は理解できませんでした。

    これらはどういう意味ですか?

    英語が合っていればこのような意味になるはずです。

    とりあえず、こう返事をしました。

    それから返事をいただき、返事のメールの中にスクリーンキャプチャが入っていて、「こうしたい!」という書き込みがあり、相手が何を求めているのかとてもよく分かりました。 🙂

    それから色々と試行錯誤をして、相手の求めている内容とはちょっと違う形で提案してみました。(今回のカテゴリーの作成機能の事)

    それで返事に、「良かったらメールに添付した、開発バージョンのプラグインを使ってみてください」と書き、プラグインを一緒に添付して送りました。

    返事が届き、

    It works well on empty test server.
    Does not work when put on live server.

    こう書いていました。翻訳内容はおそらく、

    まっさらのテストサーバ上では上手く動作します。

    ライブサーバ(実際のサーバ)の時は動作しません。

    という事だと思います。

     

    余談ですが、日本で言う”本番サーバ”のことを、海外(アメリカ&ヨーロッパ系&オーストラリア)の方はよく live server という呼び名をしている事が多く感じます。直訳すると”生きるサーバ”。

     

    あ、おそらく上手くアップデート出来なかったのか。アップデートの仕方を教えていなかった。。

    このプラグインは、プラグインを有効化した時にデータベース上にテーブルを作成するように作っていたので、おそらく有効化したままプラグインを新しいもので上書きしたものだと考えました。

    なので、カテゴリー用のテーブルがlive サーバで作成されず、上手く動作しない。

    上手く動作するように、「こういう風にアップデートをお願いします」とご返事し、それから返事をいただくと、

    THANK YOU!!!!!!!!!
    It is brilliant!!!!!!!!!!!!!!!!!

    おぉ、びっくりマークいっぱいです 😯

    このびっくりマークの数は今までの記録でダントツです 😎

    そんなことはおいといて、上手く動作してくれて良かったです。 😮

    これで一件落着と思い、近いうちこのアップデートをしようかなと思いながらメールを読み進めていると、

    Send me your paypal account number and I will "buy" your plugin.

    ん?

    私はあなたのプラグインを”買う”のであなたのPaypalアカウント番号を送ってください。

    んん?これは全く予想外でした。本当ですか?まさかぁ~ 😉

    と思いつつも、本当だったら嬉しいな 😀

    そんな気分で、Paypalの情報を送りました。すると…。

    I have sent you £50.00 by paypal as this is so useful to me.

    またまた~そういう人よくいるんですよ~。 😎

    あ、でも will が書かれていない。(will = ~する予定)

    と思ったらすぐにPaypalからもメールがあり、本当に送金されていました。

    うそ。はやっ!いや、嘘じゃないほうがいいです。

    いやぁ、とても嬉しいです! 🙂

    初めて見た、この単位は何なんでしょう?ユーロ?50ユーロっていくら?まぁ金額は後から調べればいいや!とにかく、その気持ちがとても嬉しかったです! 😛

     

    と、実はここでひとつ、どうしたらよいのか分からない事がありました。それは、

    Could you email a simple invoice to me for £50.00

    翻訳すると、

    私に simple invoice(請求書)をメールで送ってください。

    請求書?多分イギリスの方、向けの請求書?

    イギリス向けの請求書なんて一度も作ったことが無いので、どのようにしたら良いのか分かりませんでした。 😕

    とにかくググりました。。ググればググるほど、色んな情報やサンプルは出ますが、合っているかが分かりません。(インターネットのはがゆいと感じる所) 😐

    まいったな~

    OpenOfficeでそれっぽく作ってみたけど、これでいいのかな~

    分からないから一度送ってみて、間違いや不足している部分は指摘してもらおうかな~ 😕

     

    ん?待てよ?

    Paypalって決済システム的なものだから、請求書も送ることが出来るんじゃないだろうか?

    調べてみると、あっさり。ありました。このググった時間は一体何なんだ 😳

    それからPaypal経由で請求書を送ることができ、これでひとまず安心。メールで「この請求書で不足や問題があればご連絡お願いします。」と付け加えました。

    ただ、私なりの問題がひとつ残りました。それは、

    この方は、プラグインを“買う”と言ってくれました。
    じゃあ今回のこの機能は、アップデートせずにこの方専用の機能としたほうがいいのではないだろうか?

    買ったものが、後で無料で公開されたら、買った意味が無いですよね。

    でも、この方専用だと、どうやって今後この方のプラグインをアップデートさせようか。。

    かなり悩みました。

    考えて、考えて、、考えて、、、分かりません。 🙁

    なので一つの決断として、買ってくれたこの外国の方に判断してもらおうと考えました。

    Do you not want to update this category feature for WordPress.org to CUSTOM OPTIONS PLUS POST IN?
    I am thinking of which to update.

    かなり英語が間違っている気がします。でも、他に言い方が分かりません。

    言いたい事は、

    あなたはカテゴリー機能をWordPress.orgのCustom Options Plus Post Inにアップデートして欲しくないですか?

    私はアップデートしようか考えています。

    という感じです。

     

    そしてその返事は、

    I don't understand your other comment.

    おふっ。そうでしたか。。理解出来なかったんですね。英語頑張ります。。 😳

    ただ続きがあり、

    But I think you are asking should you update your plugin with these changes.
    I think you should.

    翻訳はおそらく、

    しかし、私はあなた(gqevu6bsiz)がこの変更をアップデートして良いかどうか尋ねていると考えました。

    私はすべきだと考えます。

    という意味だと解釈しました。多分、私の言いたい事が理解していただけたと思います。

     

    と、このカテゴリー作成の機能を追加する迄に実はこのような流れがありました。

    この方からも良い返事をいただいたので、そのままカテゴリー作成の機能を追加する事にしました。

     

    開発支援となり、励みとなり、このような方達には本当に感謝です!ありがとう! 😛

     

     

  • Most Plugin Nonces Version UP

    今回、ほぼすべてのプラグインのバージョンアップをおこないました。

     

    更新するまでの経緯

    とあるアメリカ?の方からWordPress.orgのサポートフォーラム経由で「あなたにプラグインのバージョンアップ版をあげます。」と、今までにない、不思議な問い合わせ?プレゼント?がありました。

    怪しいな。 😈

    とりあえず、そんな気持ちはおいといて。バージョンアップ版を確認してみることにしました。

    確認してみると、確かに今のプラグインに導入したほうが機能性は良くなりそうでした。

    なんていい方なんでしょう! 🙂

    すぐに導入させてもらいました。

     

    すると、「あなたのプラグインにNoncesを導入したほうがイイヨ!」とご返事がありました。

    Nonces? 全く聞いたことの無い言葉でした。何かの注意表示のこと?

    プラグインの使い方について、注意を表示したほうがいいという事かな??

     

    う~ん。。分かりません。 😕

    こういう時は素直に「分かりません」と言う事にしています。 返事いただけたら嬉しいですが。 🙁

    で、その後返事が来ました。 😮

    そのNoncesはというと、

    http://codex.wordpress.org/Glossary#Nonce

    http://markjaquith.wordpress.com/2006/06/02/wordpress-203-nonces/

    WordPress Nonces

    セキュリティに関する事のようでした。(正直、長文の英語のほうはあまり理解できていません。英語力不足…。 😆 )

    今回、問い合わせのあった方の意見として「あなたのプラグインにXSS攻撃から保護する仕組みを導入したほうが良い」という意見だと解釈しました。

    WordPressってそんな仕組みがあったんですね。

    というか、私のプラグイン、XSSから保護されていなかったんですね。。これはすぐに対応しなきゃ。。 😳

     

     

    やったこと

    今回はセキュリティに関する事でしたので、ほぼすべてのプラグインを更新しました。

    プラグイン設定フォーム内に

    wp_nonce_field()

    を追記。

    フォームデータの更新直前に、

    check_admin_referer()

    にて、wp_nonce_field()にて設定されたワンタイムトークンのチェック。

     

    あとはAjax経由でデータを取得しているプラグインには、Ajaxでデータを取得する際にワンタイムトークンのチェック確認を入れました。

    既に利用されている方は出来るだけ最新バージョンを使用してください。

     

  • wordpress plugin Archive Posts Sort Customize Version UP 1.2

    WordPressの一覧画面のカスタマイズをするプラグイン、

    Archive Posts Sort Customize

    のバージョンアップをおこないました。

    最新バージョンは1.2。

     

    やったこと

    今までは「ホーム」「カテゴリ一覧」「タグ一覧」の3種類のみが、記事一覧ソートカスタマイズの対象でしたが、コメントからご提案ありました「検索結果」のソートのカスタマイズに対応しました。

    「検索キーワード」プラス、「指定項目の昇順or降順」といった記事一覧の表示ができるようになります。

    Search Archive menu
    Search Archive menu

     

    ダウンロードされるかたはこちらからどうぞ。

    http://wordpress.org/extend/plugins/archive-posts-sort-customize/

  • wordpress plugin Post Lists View Custom Version UP 1.5.3

    WordPressの一覧画面のカスタマイズをするプラグイン、

    Post Lists View Custom

    のバージョンアップをおこないました。

    最新バージョンは1.5.3。

     

    やったこと

    翻訳ファイルを実験的に9つぐらい追加しています。

    (ドイツ語・スペイン語・フランス語・イタリア語・オランダ語・ポルトガル語・トルコ語・ロシア語・ポーランド語)

     

    それと、ここが一番大きな部分ですが、プラグインで自動で追加される投稿一覧等のカラム(列)もカスタマイズ可能にしました。

    今まではデフォルトのカラム+カスタムフィールドをカラムとして設定できるようにしていました。

    プラグインで自動で追加されるカラムはカスタマイズの対象では無かったので、使いづらかったかもしれませんが、これでだいぶ使いやすくなったんじゃないかと思います。

     

    ただ、今回のアップデートでちょっと使い方に”コツ”があります。

     

    Post Lists VIew Custom をインストール、有効化OK。ではさっそく…。と Post Lists View Custom にてカラムのカスタマイズを行おうとしても、一部のデフォルトのカスタマイズ画面では何も表示されません

    (下の画面は投稿一覧のカラムカスタマイズのデフォルトの画面です)

    「投稿一覧ページにアクセスしてください。」とだけ表記が出ます。

    デフォルト 投稿一覧カスタマイズ画面
    デフォルト 投稿一覧カスタマイズ画面

    現在のカラムの設定を読み込む為に、投稿一覧の画面にアクセスしてください。ただ、アクセスするだけです。

     

    投稿一覧等の画面にアクセスすると、Post Lists View Custom プラグインが、一覧のカラム設定を読み込み、データベースに保存されます。(設定ボタンを押す等のアクションをする必要はありません。)

    これでもう一度、投稿一覧のカラムカスタマイズ画面にいくと、データベースに保存されている一覧のカラム設定を読み取り、プラグインで作成されたカラムを含め、一覧画面のカラムのカスタマイズが可能になります。

    (固定ページ・カスタム投稿タイプも同様です)

    投稿一覧カスタマイズ設定画面
    投稿一覧カスタマイズ設定画面

     

    それにプラス、ユーザーの権限グループ別にカラムを変更したい場合は、Post Lists View Custom for Multiple setups Add-on というアドオンを一緒にインストールすると可能になります。

    設定画面はこんな感じです。

    Added the user roles tab
    Added the user roles tab

     

    ダウンロードはこちらです。

    http://wordpress.org/plugins/post-lists-view-custom/

  • WordPressのマルチサイト作成、運営で思ったこと

    前回、英語のサイトは難しすぎ…。という記事にて、多言語のサイトの作成方法のひとつ、マルチサイトを少しだけ取り上げました。

    こちらも参考に。

    WordPress で多言語サイトを作成する

     

    マルチサイトで作る前は、おそらく

    • 言語別なのでコンテンツの管理は少しは楽だろうなぁ~

    ぐらいしか思っていませんでした。

     

    実際にWordPressのマルチサイトで構築して、改めて思ったことや気づいた事を書いていきます。

    多言語サイト、もしくは複数のサイトを作る必要がある方には参考になるかもしれません。

    (こういう方法だと便利だよ~。な情報があれば、是非教えて下さい。)

     

    で、改めて思ったことや気づいた事、ですが。

     

    同じお問い合わせフォームをサイトの個数分用意する必要がある

    これはどういうことかというと、私の場合は、

    • 英語のサイト(以下の説明でSite Aとします)
    • 日本語のサイト(以下の説明でSite Bとします)

    という形でマルチサイト化しました。

    Site Aにてお問い合わせフォーム(今回はContact Form 7)を用意し、Site Bにも使おうと思い、Site Aで作成したお問い合わせフォームのショートコードをコピってSite Bの記事に貼り付けてみましたが、動かない。

    おそらく、Site Aで作成しても、Site Bで使用できない。

    またこれは、Site Aで作成したカスタム投稿タイプも、Site Bで使用出来ない事と同じような事です。

    (カスタム投稿タイプだけに限定しますが、例えばmy_Themeというテーマ内のfunctions.phpにて、register_post_type()をしている場合は、それぞれのサイトでmy_Themeを有効にしている場合は両方にカスタム投稿タイプが登録されます。
    その方法とは別で、プラグインなどによって、登録するカスタム投稿タイプをデータベースに保存して、その保存されているデータをもとに、カスタム投稿タイプを登録させたりする場合は、Site ASite B のデータベースの保存領域が違う為、片方で作成したモノは、片方でしか使えない。という事が起きると考えられます。)

    これをなんとかする方法。考えてみましたが、思いつかない。

    とりあえず、Site A で作成したお問い合わせフォームやカスタム投稿タイプをSite Bにも同じように用意する。という事がベターじゃないかと思いました。

     

    言語別にコンテンツが分かれて管理はし易いですが、同じようなものを同じように用意する…。

    ちょっと面倒だなと感じました。(他にいい方法があるかもしれません。むしろあれば教えて欲しいです。。 😥 )

    これが10サイト分も作る必要があるとするなら、私は今後マルチサイトは使わない方向で考えるかもしれません。 🙁

     

     

    記事は言語別に分けて管理しているが、テーマの各テンプレート用に翻訳ファイルを用意することになる

    そりゃそうだ。と思う方もいるかもしれませんね。

    私の場合、Site ASite Bでそれぞれ同じスラッグ名が存在する、言語違いの記事を作成しました。

    http://siteA/contact/ (英語の記事)

    http://siteB/contact/  (日本語の記事)

     

    記事自体はサイトごとに違うので、日本語の記事を少し編集したければ Site Bの管理画面から編集するだけ。とシンプルです。

    テーマに関しては、1つのテーマだけを作り、Site ASite B の両方ともにそのテーマを適用しています。

    (Site A用・Site B用にテーマを作成して適用する方法もあるかもしれませんが、この2つのサイトの違いは言語だけ。言語以外の部分で少し編集や修正をするだけでも2サイト分編集することを考えると、あまり良い方法とは思えません。しかも、その方法で10サイトも存在してたら… 😳 )

    なので、翻訳ファイルを用意しテンプレート内でそれぞれの言語で表示されるようにする必要がありました。

    言語違いの為、マルチサイトをするのではなく、他の理由でマルチサイトを作る場合は、このことはあまり影響しないかもしれません。

     

    Site Aでアップロードした画像を、Site Bで使用できない

    これはタイトルのまんまです。

    私の場合、Site ASite B の違いは、言語の違い。ただそれだけです。

    記事で何かの説明をする際に、画像を使ったり画面のキャプチャ等を記事に貼り付ける場合があります。

    Site ASite Bは言語は違いますが、言語が違っても同じ画像を使いたい場合がありました。

    Site A でその使いたい画像をアップロードし、記事に貼り付け完了。

    同じようにSite Bにも貼り付けようとしましたが。。。

     

    WordPressは、マルチサイト内の Site ASite B は別々のサイトという扱いにしているのではないか、と思います。

    そう考えると、Site Bでその画像を貼り付けるどころか、画像一覧にも出てこない理由に納得です。

     

    かといって、その対処法として、同じ画像をSite Bにもアップローとなると、今後その画像が間違っていた場合など、修正をおこないたい場合が面倒です。

    画像は1つですが、2箇所にアップロードされているので、Site A の画像と Site B の画像を修正。。

    いやいや、そんなことはしたくありません。管理が簡単で楽にできるようになる為にWordPress使っているんです。私は。 😕

     

    なので今回は、テーマディレクトリ内に画像をアップロードして、その画像をそれぞれの記事に貼り付けるよう設定しました。

    「メディアライブラリ」からテーマディレクトリ内の画像を選択できるようになったら嬉しいな。 😉

    もしくは、マルチサイトが有効の場合だけ、「全てのサイトのメディアライブラリ」みたいな項目があっても嬉しいな。 🙂

     

     

  • wordpress plugin Post Lists View Custom Version UP 1.5.1

    WordPressの一覧画面のカスタマイズをするプラグイン、

    Post Lists View Custom

    のバージョンアップをおこないました。

    最新バージョンは1.5.1。

     

     

    やったこと

    思いっきりバグがありました。

    記事一覧でカスタムフィールドの項目が、選ぶことはできますが空白のままだなんて。

    カスタムフィールド空白
    カスタムフィールド空白

    誰もそのバグについて言ってくれない。それを自分で気づく。

    ちょっと悲しいバグ発見でした。

    機能を増やすと、確認する箇所が多くなって大変です。。

     

    ダウンロードはこちら
    http://wordpress.org/plugins/post-lists-view-custom/

     

     

     

     

     

     

     

  • wordpress plugin Post Lists View Custom Version UP 1.5

    wordpressの管理画面にある様々な一覧画面をカスタマイズする

    Post Lists View Custom

    のバージョンアップを行いました。

    最新バージョンは1.5。

     

    こちらもWordPressの3.6のローンチを待っていましたが、まだまだ掛かりそうな気配がしたので待たずにコミットしました。

     

    やったこと

    WP Admin UI Customizeも疲れましたが、こちらもかなり疲れました。

    まず、カラム(一覧表示の列)にカスタムフィールドを指定することができるのですが、そのカスタムフィールドの値が何も無い場合、「 – 」←こんな感じで何にもないよ的な表示をしていましたが、このプラグイン+フックカスタマイズをすると、これが邪魔。なので削除しました。

    あとは大幅に中身を変更しました。なんか、無駄な所があったりしたので。

    データベースへ更新するoption_name値も変更しました。少し管理がしやすいようにしています。

    あとは別で、Widgets List View CustomizeというプラグインもWordPress.orgにて公開していたのですが、そもそもPost Lists View Customizeの中に機能をそのまま入れたほうが楽だな。と思いましたので、利用できるウィジェット一覧もカスタマイズできるようになっています。

    そして最後。ここからが一番大変なやつ。

    Post Lists View Customを適用する権限を選べるようになりました。

    ユーザー権限選択画面
    ユーザー権限選択画面

    うん、ここまでは普通です。権限を選択して、その指定された権限だけに設定されたPost Lists View Customizeの設定を適用すればいいだけの話なので。

    今回はこのPost Lists View Customizeとは別に、アドオンとして、「Post Lists View Customize Multiple setups add-on」をリリースしました。

    Post Lists View Customize Multiple setups add-on

    機能は、権限ごとにPost Lists View Customizeが設定できます。

    なぜか、日本人の方からの要望はありましたが、外国の方からの要望は一切ありませんでした。

    下のキャプチャを見ると、分かりやすいと思います。

     

    Added the user roles tab
    Added the user roles tab

     

    なんで、Post Lists View Customizeと一緒にしないの?と思う方もいるかもしれません。

     

    アドオンにした理由ですか?

    販売しようと考えていました。以外の理由なんてないよ。てへぺろ(・ω<)

    というか販売してもプラグインユーザーが少なすぎて売れないじゃないか。
    じゃあアドオンにして自分のブログに少しでもアクセスしてね。えへへへぺろ(・ω<)

    なんてことをしても別にいいじゃないか! 😳

    (個人的にてへぺろを使ってみたいと思いましたので、ちょっとすっきり)

     

    次は、まじめなほうの理由。販売のほうはまじめな理由でしたけどね。

    権限ごとに設定可能ということは、権限の分だけ設定をしなければいけないという事にもなります。

    なので、この権限の分だけ、という部分が必要な方不必要な方が出てくると考えました。

    どちらにもメリット・デメリットはありますので、機能を分けることにしました。

    アドオン無し

    一覧設定がひとつだけ。その一つの設定を適用する権限を選ぶだけ。の簡単設定。権限ごとに分けることはできない。

    アドオン有り

    一覧設定の数は、権限の数の分だけ。 設定するのは大変だけど、細かく権限ごとに一覧画面のカスタマイズは可能。

     

    という感じです。

    あとは、普通にまだまだプラグインユーザーとしての信頼や実績が少ないなと思いましたので、無料で配布しています。

     

    ダウンロードはこちら
    http://wordpress.org/plugins/post-lists-view-custom/

  • wordpress plugin WP Admin UI Customize version up 1.3.2

    WordPressの管理画面UIをカスタマイズする

    WP Admin UI Customizeのバージョンアップを行いました。

    最新バージョンは 1.3.2

     

    やったこと

    本当はWordPress3.6のローンチに合わせて、最終確認をしてからコミットしようかと思って5月20日まで待っていましたが、ローンチのスケジュールがまたずれそうな感がしたので、先にコミットしました。

    なので、WordPressのバージョンは今のところ、3.6 beta 3 まで確認済みです。

     

    さて、やったことですが、まずバグ修正から。

    管理画面のサイドメニューのカスタマイズが出来るのですが、サブメニューがひとつも無い設定をすると、エラーの表示が出ていました。ので、このバグ修正です。

    次に、いくつかプラグイン内で使用できる変数を増やしました。

    今まで全く気づきませんでしたが、テーマを子で使用している場合、template_directory_uriでは使用中のテーマディレクトリが上手く取得出来ませんでした。

    ※具体的には、親テーマが Twenty Twelve、子のテーマがMy Themeという名前で、ディレクトリ名も同じような名前だと仮定します。
    使用テーマがMy Themeです。 で、そのテーマ内のfunctions.phpや他のテンプレート内からtemplate_directory_uriでテーマフォルダのURLを取得しようとすると、

    http://サイトurl/wp-content/themes/twentytwelve/

    になるようです。でもあくまでも親テーマなんて触ることはほぼ無いので、子のテーマディレクトリを取得できるよう、stylesheet_directory_uri を追加しました。

    また、マルチサイトの場合だと現在のブログ名ではなく、ネットワークサイト名も扱えるようにしました。

    次に、ここが一番難関でした。

     

    投稿編集画面、固定ページ編集画面、それぞれメタボックスがありますよね。

    このメタボックスで、デフォルト以外のメタボックスがあります。これを非表示にする機能。

    ググっていると、「あぁ、グローバル変数の$wp_meta_boxesから取得できるじゃない」

    となるかもしれませんが、実はほとんど取得できません。

    (プラグインによって、フックをかける場所・タイミングが違う為)

    他に方法は無いだろうか。どこかにフックをかければ取得できるんじゃない?とだいぶ、試行錯誤してみましたが、さっぱり。。

    結果、思いついた方法として、「投稿編集画面」を表示すると、現在設定されているメタボックス全てを一度データベースに保存。

    その後にWP Admin UI Customizeのメタボックス削除メニューから、先ほど保存したメタボックス一覧を読み込んで、非表示にするか選択する形式です。

    この、「一度投稿編集画面または、固定ページ編集画面にアクセスする必要がある」という点を、英語でまた説明するのも私には難しいところです。

     

     

    なんだかんだで、こんな機能を更新しましたよ。良かった寄付してね使ってみてね。

    ダウンロードはこちら
    http://wordpress.org/plugins/wp-admin-ui-customize/