久しぶりのプラグイン追加

いやー、久しぶりにwordpress.orgのプラグインディレクトリに追加しようと思ったら、
何をどうしたらよいのか忘れていました。

なんとか思い出しながら、追加の申請は完了。

あとは申請の結果待ち。

ちなみに、今日の記事でやっていた、記事一覧系のプラグインとなります。

「Archive Posts Sort Customize」

カテゴリページでの記事一覧、タグページでの記事一覧(ともにフロントでの表示)のソートカスタマイズを目的としたプラグインです。

カスタムフィールドを入力する部分なんかは、個人的にいい部分だと思っています。

(カスタムフィールド名が分からない人は、カスタムフィールド一覧からクリックして選ぶだけ仕様)

 

明日には、多分申請結果が届くかな。

しかし、、プラグインのネーミングが難しい。。
使うと想定されるユーザーが、どういったキーワードで検索するだろう。。。

pre_get_posts なるものがあったなんて。。

カテゴリ一覧等のアーカイブのページでは、ほとんどquery_posts()を使ってソート順や記事の取得をおこなっていました。

wordpressの日本語サポートフォーラムでもそれで返事をしていました。
記事一覧の時のソートができません

そんななか、サポートフォーラムをちょくちょく見ていると、query_postsよりpre_get_postsのほうがいいよ。
という記載があったり。

そんな関数があるの?pre_get_posts()という関数の存在が分かりませんでした。

そこでちょっと調べてみました。

http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

英語だらけ。難しい。。

http://wpdocs.sourceforge.jp/テンプレートタグ/query_posts

ここはquery_postsの説明(日本語)です。

functions.phpでpre_get_postsを使って同じことをするなら、このように書けます。
function five_posts_on_homepage( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( ‘posts_per_page’, ‘5’ );
}
}
add_action( ‘pre_get_posts’, ‘five_posts_on_homepage’ );

いつからでしょうか、こんな表記が。前からこんな表記あったっけな。。

と、ここで日本語のドキュメントを発見。

http://wpdocs.sourceforge.jp/プラグイン_API/アクションフック一覧/pre_get_posts

使い方は、条件分岐等をおこなって、

$query->set();

で取得したい記事の種類や順序、数を決める感じかな。
->set()はcakephpみたいでこっちのほうが感覚的にやりやすそう。

念の為、コアファイルのset()に当たる部分を確認してみることに。

おそらく、wp-include/query.phpの1900行目辺りの、

function set($query_var, $value) {
  $this->query_vars[$query_var] = $value;
}

が$query->set()の部分だと思います。

$query->set( ‘posts_per_page’, ‘5’ );
こういう指定だと、
$this->query_vars[“posts_per_page”] = 5;
こういう風になるって事かな。

query_posts() は

function query_posts($query) {
 $GLOBALS['wp_query'] = new WP_Query();
 return $GLOBALS['wp_query']->query($query);
}

うーん、クラス WP_Query のfunction query()を実行して突っ込んだ値を返す。かな。

http://wpdocs.sourceforge.jp/関数リファレンス/WP_Query
を読んだほうがいいかな。

うん、読んでもよく分からない :mrgreen:

私の場合は実行して確かめたほうが早いかな。

あの時のフォーラムの質問者の方と同じ環境にする為にまずは

  1. 記事を5個ぐらい追加。
  2. 記事への評価とアクセス数を取得する為に、WP-PostRatingsとWP-PostViews をインストール。

と、こんな感じ。

記事一覧
記事一覧

あ、評価やアクセス数でソートしなきゃいけないから、評価も適当につけないといけないか。
カテゴリも適当に1つ作らないと。公開日も適当にばらばらにしないと。

なので、こうなるかな。

記事一覧2
記事一覧2

この状態で「未分類」のカテゴリ一覧の$wp_queryを確認してみます。

WP_Query Object
(
    [query] => Array
        (
            [cat] => 1
        )

    [query_vars] => Array
        (
            [cat] => 1
            [category_name] => %e6%9c%aa%e5%88%86%e9%a1%9e
            [category__in] => Array
                (
                    [0] => 1
                )

            [posts_per_page] => 10
            [nopaging] => 
            [order] => DESC
        )
...

デフォルトのクエリですね。

ここで、query_posts()にて、記事のソートを評価の高い順でソートしてみます。

WP_Query Object
(
    [query] => Array
        (
            [cat] => 1
            [nopaging] => 1
            [orderby] => meta_value_num
            [meta_key] => ratings_average
        )

    [query_vars] => Array
        (
            [cat] => 1
            [nopaging] => 1
            [orderby] => meta_value_num
            [meta_key] => ratings_average
            [category_name] => %e6%9c%aa%e5%88%86%e9%a1%9e
            [category__in] => Array
                (
                    [0] => 1
                )
            [posts_per_page] => 10
            [order] => DESC
        )

WP_Query Object->query部分に指定したクエリが入りましたが、結局query_varsにも入るようになっているんですね。

次は、pre_get_posts。コードはこれ。

function add_fil_pre_get_posts( $query ) {
 if ( $query->is_category && $query->is_main_query() ) {
 $query->set( 'nopaging', 1 );
 $query->set( 'orderby', 'meta_value_num' );
 $query->set( 'meta_key', 'ratings_average' );
 }
}
add_action( 'pre_get_posts', 'add_fil_pre_get_posts' );

結果は、

WP_Query Object
(
    [query] => Array
        (
            [cat] => 1
        )

    [query_vars] => Array
        (
            [cat] => 1
            [error] => 
            [category_name] => %e6%9c%aa%e5%88%86%e9%a1%9e
            [meta_key] => ratings_average
            [category__in] => Array
                (
                    [0] => 1
                )
            [nopaging] => 1
            [orderby] => meta_value_num
            [posts_per_page] => 10
            [order] => DESC
        )

WP_Query Object->queryには一切値は入りません。query_varsだけに値がセットされました。
query_posts、pre_get_postsともに、見た目は同じように評価順の記事のソートになりました。

 

queryって意味ないの?なんなの?
ということで、queryに関するところを調べていたら、get_posts()関数にquery_varsに関することがありました。

function get_posts() {
 global $wpdb, $user_ID, $_wp_using_ext_object_cache;

$this->parse_query();
do_action_ref_array('pre_get_posts', array(&$this));

// Shorthand.
$q = &$this->query_vars;

// Fill again in case pre_get_posts unset some vars.
$q = $this->fill_query_vars($q);

// Parse meta query
$this->meta_query = new WP_Meta_Query();
$this->meta_query->parse_query_vars( $q );

$qは最終的にsql文に追加される配列部分。これって、query_varsをもとにデータを取得していますよね。(違うかな?)

そうだとすると、pre_get_posts()フックで記事のソートが出来る事が理解は出来ますが。

余計にqueryの意味が分からなくなってきた 😕
何の為にあるの?もうちょっと探ってみましたが。

さっぱり分からず。

$this->queryを使って何か処理をしているところを探してみましたが、さっぱり。

これ以上はよく分かりません。今日はこの辺で終わりにしよう。

 

でも、とりあえずpre_get_posts()で目的の記事一覧が取得できる事は理解できました。
今後はこれを使っていこうかな。

そういえば、これは注意。

http://wpdocs.sourceforge.jp/プラグイン_API/アクションフック一覧/pre_get_posts

このページの、メモ、の3番目。

このフィルターは管理画面のクエリーにも影響を与えます。

えー。対処法はis_admin()とかでなんとかなると思うけど、もっと大きく書いて欲しい。

 

——————————–

よく考えたら、アーカイブの記事一覧の順序を自由に変更するプラグインってないのかな?

無ければ作ろうかな。

プラグイン設定画面の画面構成及びレイアウトを考えてみる-その後

前回、プラグイン設定画面の画面構成及びレイアウトを考えてみるという記事で、wordpressプラグインのユーザーがどれくらいプラグイン開発者のサイトに訪れているのか調べ、それを上げる可能性について書きました。

全部で10個プラグインを開発していますが、前回の記事を書いた後にちょこちょこレイアウトを変更しました。

そして、その数字が上がったのか、変わらないのかを書こうと思ったのですが…。

 

その前に。一応、前回の数字のデータはこうでした。
2/20~3/20までの1ヶ月間で、6人の訪問者。

 

じゃあ今回はどうかな~と期待を膨らませ、この数字を思い出しました。
今回も同じように訪問率を出そうと、[ 訪問者数 ÷  全ダウンロード数 × 100 ] としようとしました。

ここでひとつ疑問が。
前回は合っていると思い、この計算式で出した数字が約0.08%でしたが。 😕

全ダウンロード数 = プラグインを配布している全期間の全プラグインのダウンロード数。

今回の数字を出すためにこの数字を使うと、全期間だから前回の数字も含まれてしまうから正しい数字は出ないじゃないか。

えっ?比較できない? 😕

wordpress.orgで期間別にプラグインダウンロード数が見れればいいのに。

 

なので、比較は出来ない。という事にします。
参考にしようとしていた方がいたらごめんなさい 😉
(ほとんどいないと思いますが)
ただ、レイアウト変更後に2件、寄付代わりのプラグインの購入がありました。
とても嬉しかった。

 

同じように、
他のプラグイン開発者の方のモチベーションアップになるかもしれない、
とてもいい機能のプラグインを配布している開発者なのに、情報が伝わらない為にサイトに訪れる機会が少ない等、そういった所を少し上げる方法になるのではと思い、私の場合のプラグイン設定画面の画面構成を下に書きます。

是非、参考になれば。

 

実際のレイアウト変更後

前回の様々なプラグインの設定画面を参考に、私はこのように構成を変更しました。

まずは、プラグイン一覧の画面

プラグイン一覧
プラグイン一覧

サポートフォーラムへのリンクを追加しました。フックする方法はplugin_action_linksで調べてね。簡単です。

 

 次に、プラグイン設定画面

プラグイン設定画面
プラグイン設定画面

全体はこんな感じです。分かりづらいですね。ひとつずつ細かく伝えていきます。

 

まずはプラグイン設定画面の上部。

設定画面上部
設定画面上部

プラグインの設定画面の上部のみ、このように寄付の検討をお願いします。と表記しました。
もちろん、基本は英語で。

英語が自信無い方へ。

大丈夫です。
私は英検4級を、約13年前に取ったっきりでそれ以来英語を勉強する機会はありませんでした。
この記事を読んでいるあなたよりも、私のほうが英語力は自信ありません。
なんとか、出来る限り伝わるように、返事を書いています。
そんな私でも、一応、今のところはなんとかなっています。
ただ、一人だけ途中で返事を放棄された外国人がいたり、なんだこの変な名前はと言われたり、あなた裏がありそうで怖いよーなんて言われたり
😳

 

次によこ。

横の寄付表記
横の寄付表記

私のアカウントはそうでしたが、paypalで寄付リンクを作成することが出来ませんでした。
色々ネットで調べてみても、日本の法律で寄付はダメらしい。個人間送金はダメらしい。
みたいな記事がいくつかあったので、私の場合は寄付の代わりとして、満足できたらこのプラグイン買ってね。と表記しています。

ただ、寄付代わりにプラグインを購入した後にも、寄付のリンクが出続けるのは嫌だろうなぁ~と思い、寄付のメッセージを削除するための削除キーとするものを入力すると、寄付の案内が一切表示されない仕様にしています。(バグがあったりするかもしれないので、まだ途中)

次にその下。

プラグインについて
プラグインについて

実際に動作確認をしたwordpressのバージョンを表記したり(安心すると思い)、開発者についての情報を色々と表記しました。
特に感じた事は、自分で実際に使っていて、バグが見つかる事はありますが、バグの報告や質問をしてくる方が非常に少ないこれを何とかしたいと思い、とにかくwordpress.orgのサポートフォーラムへ質問してね。的な表記をしています。

ただ、wordpress.orgのアカウントを持っていない方もいるはずなので、私へのお問い合わせへのリンクを付ける予定です。

 

さらに下。

プラグイン集
プラグイン集

他のプラグインも使ってみてよ。と案内しています。自分が行おうとしているカスタマイズが既にプラグインとして配布されているなら、まずはインストールして使ってみる方のほうが多いと思います。

私のプラグインのほとんどが管理画面カスタマイズ系なので、ほとんどプラグインユーザーの属性は運よく一致するので、案内はし易いと思っています。

 

 最後に、フッター。

フッター
フッター

これ、意味あるの?と思われる方もいるかもしれません。
後で実際の数字をお見せしますが、少し効果はありました。

ただ、プラグインの設定画面のフッターだけ、このようにしています。
管理画面全てをこのようにはしていません。
(ただ、フックするタイミングを間違えて公開して、全管理画面のフッターがこのようになる事はありました 😳

 

プラグインの設定画面の構成は以上のようにしました。

 

レイアウト変更後の数字

レイアウト変更を、3月の後半ぐらいに行いました。
レイアウトを変更した後は、googleのURL生成ツールのカスタムキャンペーンを使用して、どのリンクをクリックしたのかを計測できるようにしました。
以下のアクセス解析の画面は3/27~4/8の約2週間の数字です。

トラフィック
トラフィック

この中に、参照元が[use_plugin]となっている項目が、プラグイン設定画面からのアクセスです。

その中の数字だけを表示させると、

フィルタ適用トラフィック
フィルタ適用トラフィック

このようになっています。見づらい方は画像をクリックして拡大してください。

  • donate : 寄付お願いします。のリンク
  • side : 開発者のサイトはこちら。のリンク
  • footer : 設定画面フッターのリンク
  • translation : 翻訳お願いします。のリンク
  • list : プラグイン一覧画面からのリンク

これが詳細です。以外にフッターからのリンクが多いなぁと感じました。

全合計は63アクセス。この数字を前回と比較したかったのです。
前回はこの数字が無いので、今後この数字を比較していって、プラグイン開発に役立てていこうと思います。

 

ちなみに。

トラフィックコンテンツ
トラフィックコンテンツ

こういう風に見ることもできます。”広告のコンテンツ”という項目名は気にしないでください。
広告のコンテンツという部分に、プラグイン名を省略したものを指定して、どのプラグインのどのリンクをクリックしたのかが分かるようにしています。

2番目の「Screen Options and Help Show Customize」というプラグインの翻訳についてのクリックが多い事には驚きました。

3番目はリンクの設置間違いでこうなってしまいました。 😥

やはり、プラグイン一覧に設置しているリンクは、かなりクリック数が少ない事が分かります。

 

プラグイン設定画面からサイトへの訪問を促したい方へ

まずは、プラグイン設定画面からのリンクを計測することをおすすめします。

googleのURL生成ツールのカスタムキャンペーン

こちらからできます。Google Analytics専用だと思います。

私の場合だと、このようになります。

http://gqevu6bsiz.chicappa.jp/?utm_source=use_plugin&utm_medium=side&utm_content=plvc&utm_campaign=1_1
  • utm_source = プラグイン設定画面からのリンク識別
  • utm_medium = どのリンクをクリックしたか
  • utm_content = プラグイン名
  • utm_campaign = プラグインの使用バージョン

使用バージョンは特に必要ないかなとは思いましたが、一応念の為としてつけています。
後々必要になってくるかもしれないし。

どうぞ、プラグイン設定画面を参考にしてみたい方は参考にしてください。

やっと…初めての寄付代わりのプラグイン購入。

私が開発しているプラグインにwordpress.orgのサポートフォーラム経由で問い合わせがあり、
この~のプラグインを使っているんだけど対応できない?
と聞かれ、見てみると確かに対応できていない状態でした。

でも、そもそもworpdressをインストールしたばかりの、デフォルトの状態での動作保証みたいな感じで開発していたから、どうしようかな~

対応したほうがいいのかな~

そりゃしたほうがいいよな~ 😆

ということで、対応しました。

すると…

I sent you $10 USD for your other plugin as thanks.

私は$10送ったよ。

えっ?本当ですか?ということでpaypalの口座を確認すると…嬉しい限りです。初めて。
paypalで寄付のボタンを作成するこが、私のアカウントでは出来ないので、
寄付代わりとして、ちょっとしたプラグインを販売しています。

そのプラグインを購入してくれたようで、とても嬉しいです。

サポートへの対応、大事ですね。 🙂

 

これからも頑張っていこう。

what’s the catch?と外人より

レビュー、いい評価でもらえるとうれしいです。

 

そんなにプラグイン開発出来るネタも無いので、ブログの記事更新したいなーという時は、
数少ないうれしいレビューを紹介しています。

今回はこんなレビューをいただきました。(半分自分の為の英語講座になってきているような…。)

I feel like an idiot not noticing this plugin before. This does MORE than 3 plugins I used with a lot less work. Kudos to the plugin's author, gqevu6bsiz, nice work....what's the catch?

feel like あたりでなんとなく雰囲気がつかめました。これは嬉しそうな兆候です。

I feel like an idiot not noticing this plugin before.

私は前にこのプラグインを気付いていない馬鹿のように感じる。
合っているかな?plugin before?プラグインの前?

※どうでもいい方にはどうでもいいですが、下手ながらでも英文を書いていると、 [ a ] [ the ] [ an ]のどれを使えばいいのか分からない。

 

This does MORE than 3 plugins I used with a lot less work.

これは、私はたくさんの仕事少ないと併用3以上のプラグインを行います。

a lot less? 初めて聞きました。 a lot of なら知っていましたが。しかも、なんでMOREは大文字??
機械翻訳ではちょっと分からないですね。。併用3以上のプラグイン??
多分、a lot less work なんで仕事が減るよ。みたいな意味かな。

 

 Kudos to the plugin's author, gqevu6bsiz, nice work.

 プラグインの作成者、gqevu6bsiz、いい仕事に拍手を送りたい。

いえ、とんでもないです。むしろ、○○するなら○○をくれ!(同情すらしてないですね)
Kudos ? 称賛の単語らしいです。通称:クドウさんかと。

 

.what's the catch?

キャッチは何ですか?

ん??キャッチ…?意味がさっぱり。。キャッチはなんですか?つかみ?
あのボケとツッコミの漫才とかの、”つかみ”ってやつですか?TSUKAMI?

どう考えてもさっぱり分からないので、この文だけでぐぐってみると、全く別の意味になることがわかりました。

http://american-phrases.blogspot.jp/2011/11/whats-catch.html

何か裏があるんじゃないの?

この意味があっているとするならば…裏なんてないよw
表はどこのことだよw というか同情するより○○をくれってば!

と英語で書いてみたいw…。みたいけど…。反応を面白がっている場合じゃないや。
その前に書けないや :mrgreen:

 

ということで、

Thank you reviews.
Hahaha, There is no catch. but, looking for donations.
If you're satisfied with the plugin, please consider a donation.

Thank you.

 

で通じるかな。

プラグイン設定画面の画面構成及びレイアウトを考えてみる

今のところ、3/23の時点で、wordpress.orgにて配布している私のプラグインは合計10個、
全てのプラグインのダウンロード数は、総数 6,825 ダウンロードとなりました。

だいたい200~2,000まで、ダウンロード数はばらばら。

多いのか、少ないのか。ぴんときませんが、メジャーなプラグインのダウンロード数と比較すると…

かなり少ない…でもしょうがない。
役目が違うという事と、認知度と、使いやすさや便利さ、機能性にもよるだろうし。

でも、それぐらいのユーザーが居る。という事は分かります。

 

ただ、この約6,800というダウンロード数から、何%の人がプラグイン開発者のサイトに訪れているのか

一人のユーザーが何回も同じプラグインを使うことはもちろん考えられます。
今は一旦、それはおいておきます。

 

寄付のリンクを何人がクリックしたか調べてみたのですが、2/20~3/20までの一ヶ月間で、たったの6人。

つまり、私の全プラグインの場合だと 約0.08% の人が訪れる 計算。

確かにダウンロード数は少ないでしょうがないかもしれませんが、いくら何でも訪問者少なすぎでしょ! 😯

 

では、この 0.08% のサイトへの訪問率をどれだけあげることができるのか?

ということでwordpressのプラグイン設定画面にて、プラグインの画面構成・レイアウトを変えて(目障りにならない程度に)、サイトへの訪問率をどれだけ上げることができるのかをやっていくことにしました。

 

なので、この記事は使いやすいプラグインのレイアウト紹介というわけではなく、どうやったら開発者のサイトへ訪れてくれる確立を増やす事が出来るか、寄付や有料版の案内を上手くできるかという点のみを考慮しての、画面構成・レイアウトを考える記事となります。

 

特にゴールとするレイアウトは何もありませんが、まずは有名どころのプラグインを片っ端からダウンロードしてインストールしてみて、いいところだけをパクる学んで取り入れようということに。

そこから、ゴールとするレイアウトが見えてくるのでは?という考えです。

 

それから、有名プラグインをインストールしてプラグインの設定画面が参考になるものを探してみました。

wordpress.org で Most Popular のページに行くと有名どころのプラグインがずらり。

http://wordpress.org/extend/plugins/browse/popular/

 

いくつかインストールして設定画面を見てみました。
そのなかからおすすめしたいプラグインの設定画面を10個ほど、厳選して紹介してみます。

プラグイン設定画面・レイアウトづくり参考プラグイン

1.WordPress SEO by Yoast

wordpress seo by yoast
wordpress seo by yoast

かなり力を入れている気がします。右側にイラスト付きのバナーなので、目がいきますね。
ただ、左側の「ダッシュボード」的な表示はかなり邪魔に思いました。。

画面幅も考えられていますね。
画面の幅を小さくすると右側のバナーが下にずれるので、横スクロールバーが表示されるのを極力避けています。

wordpress seo by yoast smallwidth
wordpress seo by yoast smallwidth

2.Google Analytics for WordPress

一瞬、「えっ?」と思いました。wordpress seo by yoastは停止させたけどなぁ。
何で同じバナーが右側に表示されているんだろう。 😕
そして、気づきました。。。同じ作者やん。

google analytics for wordpress
google analytics for wordpress

WordPress SEO by Yoast とは少し違い、バナーはひとつだけのようです。
 プラグインの評価をつけてね。ユーザーフォーラムはこっちだよ。といった一般的な情報だけですね。

 

3. Google XML Sitemaps

google xml sitemaps
google xml sitemaps

機能の提案、通知一覧、公式FAQなど、プラグインについての改善や提案などの情報が充実していると感じました。
ところどころ、日本語訳がされていないのがちょっと残念です。

やっぱりこう見ると、使用するユーザーの言語で使用できるというのは、何の機能の設定なのかが分かるので安心しますね。

 

4.All in One SEO Pack

all in one seo pack
all in one seo pack

設定の前に、プラグインに関する情報や寄付の案内、何かの割引サービス的な表示をしています。
設定の前にプラグインの情報を掲載。するという点が微妙な所ですね。
今回の All in One SEO Pack については、特に邪魔には感じませんでした。

これぐらいシンプルなら、大丈夫なのかも。

 

5.Ultimate TinyMCE

インストールして有効化すると、ちょっとびっくり。

Ultimate TinyMCE activate
Ultimate TinyMCE activate

プラグインの一覧だけでも、かなり目立!
へぇ~こんな方法もあるのか。
これはいい参考になりそうです。あまり派手にし過ぎると良くないですが。

プラグイン設定ページにいくと…。

Ultimate TinyMCE
Ultimate TinyMCE

ひとこと。「なんて緑だ!」
(分からない人は バイキング で調べてね)

これだけ色が主張していると、目がいきますね。それと、私は次の表示を「ユーモア」ととらえました。

Ultimate TinyMCE donate
Ultimate TinyMCE donate

人間味が溢れている 😆

でも実際、私もそうですがプラグイン開発者もひとりの人間です。そりゃ日曜日もありますよね。

 

Ultimate TinyMCEの開発者は、息子がいないのか?そう考えてしまいました。
そっちじゃないか。でも寄付の目的等を書くことは良いことかもしれません

また、

Ultimate TinyMCE settingpage
Ultimate TinyMCE settingpage

PROバージョンを購入するとこの機能が使えるようになりますよ。
という事が一目見て分かるよう作られていました。これはいいですね。
よく、「PROバージョンはこちら」とはありますが、PROバージョンとの比較をする為にわざわざそのサイトに訪問しないといけないので、少し手間が入ります。

プラグインの設定画面ですぐにその比較ができると、手間が減っていいかもしれませんね。

具体的な必要性を感じさせてから、開発者のサイトに訪問させる。

大事な事かもしれません。

 

6.WooCommerce – excelling eCommerce

インストール…そして有効化…そしてその後…。

WooCommerce notice
WooCommerce notice

「販売を開始する準備ができました」

はい、分かりました。分かりましたが、、関係のないページにも案内を出すのは…。
個人的にはちょっと辞めて欲しい点だと思いました  😕

でもそれ以外はいたってシンプル。

woocommerce setting
woocommerce setting

プラグイン作者サイトへの案内は、この水色で囲ったところだけでした。
Ultimate TinyMCEを見た後にこのプラグインの設定画面を見て思うことが。

もう少し色々と案内を記載してもいいのでは?と感じましたね。

 

 7.BackWPup

BackWpup setting
BackWpup setting

設定画面は設定だけ。
それとは別に上のスクリーンショットの「About」というページがあり、このプラグインについての説明を詳しく記載しているようです。

また、プラグインの販売サイトでよくやっている、無料版と有料版との比較。
これをプラグインのAboutページで説明するという手法もいいですね。

ページとして独立させれば、そんなに邪魔に感じないかも。

BackWpup comparison
BackWpup comparison

BackWpupのなかでも、これはとても気に入りました。

BackWpup dashboard
BackWpup dashboard

何が?って思いますよね。これです。これ。

BackWpup footer
BackWpup footer

フッターにさりげなくプラグイン作者の情報が載っているところ。
他の固定ページや、投稿にいってもこの表記はちょっと…と思いますが、プラグイン設定ページのフッターのみ、このようなフッターとなっています。

これはいいですね。あまり目立たないかもしれませんが、こういう小さな積み重ね、大事だと思います。

 

8.Contact Form 7

とてもシンプル。

Contact form 7
Contact form 7

使い方やFAQなど、少ない表記でリンクをつけて上に位置させる。
これは分かりやすいですね。でも、シンプルだからこそ分かりやすいはず。

 

9.Wordfence Security

個人的には良くなかった例です。Wordfence Security をインストールしてみましたが。。

Wordfence security
Wordfence security

とにかく、テキストが多い、、かつ、翻訳されていないので何が書いてあるのかよく分からない。。 😕

そして、この画面。

Wordfence security blocking
Wordfence security blocking

うっすらと、背景のように見える設定画面。見えますか?
その前面に英文でこう書かれています。(簡単に訳しています)

有料会員のみ、この機能へアクセスができます(使えます)。有料版はこちら

うーん、なんでしょう。なんか、、妙に嫌気がさしました。

 

10.SEO Friendly Images

ここまで記事書くのも結構疲れました。。そんなことはさておき、本題。

さっそくインストールしてみました。

SEO Friendly Image
SEO Friendly Image

とてもシンプル。シンプルなので、バナーのほうにまずは目がいきました。
なかでも、「Useful plugins」(便利なプラグイン集的な)はいいなと感じました。

wordpressのカスタマイズをなんでもいいからしようとするとき、その希望の動作のプラグインが、まず存在しているのか、いないのか。

分からないですよね。
なのでそのようなプラグインがないかどうか、ネットや書籍で色々な方法で探し始めるはずです。

この、Useful plugins に偶然その希望の動作のプラグインがあれば、ダウンロードして試すだろうなと思いました。そこまでダウンロードされる可能性は高くはないと思いますが、小さな積み重ねは必要だと思います。
ただ、もう少し説明を加えたらもっとよくなるはず。

プラグイン名

このプラグインはこういう時に便利なプラグイン。こういう事ができます。

 

みたいな。

 

 

以上10プラグインの画面構成・レイアウトの例でした。
個人的にはどれもこれも、参考になりました。
アクセスを呼びたいなら、目立つ事は大切です。ですが…。
似たような機能のプラグインがあったら、人は使いやすいほうを自然と選ぶだろうと思います。

適度に目立たせてサイトへの訪問率を上げてみたいと思います。

上がらなかったら…誰か教えてください 😳

 

でもそのまえに。

レイアウト変更の為にプラグインを更新してもしょうがない。
何か機能の更新やバグがあったときに、一緒にレイアウトは変更しよう。

なので、今すぐの対応予定はないですね。

wordpress 3.6 リリース辺りが今のところの目途ですね。

 

– 2013年4月9日追記 –

レイアウト変更を、3.6がリリースされるよりも前にすることにしました。
そのほうが、3.6に対応するバグ修正はしやすいと思いましたので。

その後のレイアウト変更後はこちらです。

プラグイン設定画面の画面構成及びレイアウトを考えてみる-その後

 

いいレビューをもらうと、うれしい。

公開しているプラグイン WP Admin UI Customize にうれしいレビューが。

Thank you,
This is SUPER :-)

ありがとう。ディスイズスーパー?なんでしょうスーパーって。スーパー良かったよってことでしょうか?

 

つぎは英文が長いです。

I have bought another plugin for $19 to do the same job which was good,
however my license was only for 1 website.
I am glad I could find your free plugin here,
which does most of the other plugin did anyway.

訳はおそらく、

私は同じ仕事(機能)を持つ、他の$19のプラグインを買いました。
しかしながら、私のもつライセンスは1ウェブサイトのみでした。
私は、あなたの無料プラグインを見つけることができて嬉しい。

ここまでは、何とか推測を含め翻訳ができました。
問題はここから。

Google翻訳での英文、

which does most of the other plugin did anyway.

翻訳結果は…

これは、他のプラグインのほとんどはとにかくやったん。

や、やったん?

なにやったん?何度試してみても、やっぱり最後は大阪弁。なんで??
仕方が無いので、単語を分解して翻訳しました。

おそらく、

これは、他のプラグインのほとんどをやる。

合ってるかな?でも言っている事は何となく想像がつくので、多分あっているはず。。

 

まだまだ英文は続く。

It is also very easy to use and I love the fact that is role specific.

はい、Google翻訳では「~…特定の事実を愛する」と出ました。また分解。。でも、同じ結果。

I love the fact ?

確かに…真実を愛するという意味になりますね。よく分からないので、ここは抜く。

それは非常に使いやすく、役割が固有です。

う~ん、、翻訳結果30点ぐらいかな。でもこれ以上は分からないや。

 

ここが最後の英文。

You need to add a paypal donate button!

あなたはpaypal寄付ボタンを付けるべきです!

ん?そんなこと。。言われなくてもつけたいよ!!   🙁

この日本の法律…。それとも、海外のpaypalユーザーからの個人間送金はOKなのか?

 

とりあえず、その気持ちを英文で返事しました。。

Thank you review.
Was good to me willingly.

I want to add a paypal donate button, but I can not add.
Amazon gift cards are now instead of the donation.

There was a bug, please contact to support forums.

これで伝わっているかな?
かな?というよりは、伝わっていると、いいな。。

wordpress サイトネットワーク管理画面へのページの作り方

wordpressプラグイン作成者や、管理画面をカスタマイズした事がある人なら、管理画面に自分で作成した画面のページを追加したい時には、おおよそ

add_options_page()

あたりだろうなぁと予想がつくはずです。
私もこのフックを使って、ネットワーク管理画面にページを追加しようと思いましたが、、、

 

無反応。

あら、全然だめなのか。。
あれこれ試していると、気づきました。そもそもフックする所が違う。

通常の管理メニューフック add_action( ‘admin_menu‘ , “function” );

通常の管理メニューフック add_action( ‘network_admin_menu‘ , “function” );

 

よく考えたら当然ですね。考えなくても当然ですね。。
これでOKかな、と思いきや、やっぱり追加されない。
あれー、フックする場所はあっているはずだけど。

add_option_page()をもっと辿ってみました。

return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $function );

あ、そうなのか。option-general.phpの場合のみの動作。
ネットワーク管理画面の設定ページのURLは network/settings.php 。

じゃあadd_option_pageはやめて、add_submenu_page()にしてみようかな。

add_submenu_page( 'settings.php' , 'page-title' , 'menu-title' , 'manage_network' , 'page-slug' , 'function' );
メニュー追加
メニュー追加

無事ページが追加できました。良かった。

この調子でプラグインの設定ページを読み込みました。

プラグイン設定ページ
プラグイン設定ページ

さて、まずはデータを保存できるようしなきゃな。

色々チェックを入れて、保存…ん?ちょっと待てよ?

 

どこに保存したらいいんだろう

そうか。マルチサイト化以前は、update_option()で、デフォルトだとwp_optionsへの保存だったけど、ネットワークでの設定だから、wp_optionsではないはず。

データベースのテーブルを見て、ブログのデータ以外のテーブルだと、

  • wp_blogs
  • wp_blog_versions
  • wp_registration_log
  • wp_signups
  • wp_site
  • wp_sitemeta

こんな感じでした。

この場合の保存に一番適していそうなテーブルは、wp_site もしくは wp_sitemeta かな。

wp_site の中身は、

  • id
  • domain
  • path

うん、やめておこうw

じゃあwp_sitemetaの中身はと、

  • meta_id
  • site_id
  • meta_key
  • meta_value

meta_key と meta_value の項目を使ってプラグインのデータを格納するのが望ましいかな。
このテーブルに決定。

 

どんな関数を使っていけばいいのか、探ってみました。

  • データを取得 : get_site_option()
  • データを更新 : update_site_option()
  • データを削除 : delete_site_option()

いやー予想通りの関数で良かったです。見つけやすいし使いやすい。早速試してみました。

 

データ挿入
データ挿入

よし。データの取得もOK。データの削除もOK。問題なし。

あ..このプラグイン…インポートとエクスポートの機能があったんだ。。

まずはエクスポート。よし。wp_sitemetaに格納したデータを取得できました。

インポートは…このままじゃだめか。update_optionのままだ。

 

ネットワークユーザーのみの場合の処理が必要

if( is_network_admin() )

分岐処理をして、ネットワーク管理者の場合は、update_site_option()、通常の管理者の場合はupdate_option()とすればいいかな。

テスト。うん、OK。

 

次は子ブログの管理者でテストしてみようかな。

色々と設定して、更新・削除。インポート、エクスポートもOK。

動作はばっちりだな。

 

 

 

ん?ちょっと待てよ?なんで2回も同じような設定を今したんだ?

 

ネットワーク管理画面で設定できるものを子ブログの管理画面で設定できる必要があるのか?

そもそも、ネットワーク管理画面で管理画面のカスタマイズのデータを設定できるようにしたけど、
子ブログでまた設定できるようにして、何の意味があるんだろうか。

ネットワーク管理画面でデータが設定されていたらそれを優先

すべきなのかもしれない。

おぉ。。分岐処理増えるかな。。簡単に出来そうと思っていたけどまだまだ時間かかりそう。

いつかは来ると思っていたけど…

いつかはそんな問い合わせが来ると思っていました…

hi gqevu6bsiz,
does it support multisite?

プラグインに問い合わせが来ました。
gqevu6bsizはマルチサイトを普段使用することがないので、ほとんど使ったことが無かった機能。

 

「マルチサイトはサポートしていますか?」

ここでいうサポート = 使用できるか。という意味だと思うので、マルチサイトでも機能しますか?という意味かな。

does it use multisite? じゃないのか。”サポート”という言葉の意味の範囲が少し狭すぎました。

 

とりあえず「サポートしていませんよ、すいませんね。」と返事。

I'm sorry, currently does not support multisite.

ついでに、「検討してみますね。」と言ったのですが、この場合の英語、本当にこうなるのだろうか。

I'll think about it.

I’ll = I will (たぶん、この場合は前向き的な意味合いになると思う)

 

マルチサイト…う~ん。難しそう。一応いつかは対応しようとは考えていたけど。

どうやって設計したら、使いやすいんだろう。どんなUIがいいんだろう。

 

おそらくマルチサイトの機能を利用する方は、サービス等を運営していて、サイトやブログを持つことが出来るユーザーを登録させる。

で、gqevu6bsizのプラグインのほとんどが、管理画面のカスタマイズが中心なので…。

掛け合わせると、子サイト・子ブログの管理画面のカスタマイズを、
ネットワーク管理者ができるようにすること。かな。

今までは管理画面のカスタマイズを、サイト・ブログの管理者が出来るようにしていました。

 

ネットワーク用管理画面のフック、どれだけあるんだろうか。

do_action をひたすら検索….。かな 🙁

データベースへの格納形式の変更後

というか、それ以前にこのブログが表示されない事があり、焦りました。

とりあえずすぐに、データベースのバックアップだけを、なんとかおこない、
FTP経由でデータをダウンロードしようと思ったら…

FTP接続まで障害が及んでいる模様。。

4時間後には障害は復旧したらしいので、ブログを更新することにしました。

レンタルサーバ、安いだけじゃやっぱり不安ですね。。

 

さて、タイトルの本題です。

プラグインをひとつだけ、データベースへの保存方法を変更し(テーブルを用意してそこに保存)、
プラグインをアップデートしました。

 

驚いたことに、以前に3の評価をつけた外人からコメントがあり、その評価が5になっているじゃないですか。

えっ?評価って変更できるの??

レビューの内容はこう。

Since version 1.2, COPPI now uses its own database table, so the performance issue above has been fixed.

なになに、、

バージョン 1.2以降、コッピは現在、独自のデータベース·テーブルを使用しているので、上記のパフォーマンスの問題が修正されました。

あ、指摘していたのはこういう事なのかと実感しました。「コッピは現在…」変に違和感。

Google さん、無理やり”コッピ”として変換しなくても。。

 

とりあえず、返事として

thankyou review.I was able to develop better in your favor.

言いたいことは、

レビューありがとう。私はあなたのおかげでより良く開発することができました。

your favor あたりが本当にそんな意味なの。
for your thanks?
thanks to?

“おかげ”って、日本語、難しいです。

 

ただ、初めてテーブルを用意し、UPDATE文やINSERT文を用意してクエリを発行する形式にしたので、
不具合等が起きないかどうか心配でしたが、今のところは何の苦情も出てないので大丈夫そう。