wordpress plugin Announce from the Dashboard version up 1.2

WordPressのダッシュボードにユーザーの権限別にお知らせを表示させることのできるプラグイン

Announce from the Dashboard

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

最新バージョンは1.2。

 

 

やったこと

今までは、

  • 通常(背景グレー)でのお知らせ表示
  • 赤色での注意的な表示
  • 黄色のアップグレード的な表示
  • メタボックスとして表示

の4タイプでしたが、これに無属性(スタイル無し)の表示ができるよう追加しました。

それと複数お知らせを作成済みの際に、削除をしようと思うとひとつずつしか削除が出来なかったので、一括削除の機能を追加しました。

 

ダウンロードはこちら
http://wordpress.org/extend/plugins/announce-from-the-dashboard/

wordpress plugin Screen Options and Help Show Customize Version up 1.2.3

wordpress管理画面の右上にある「表示オプション」と「ヘルプ」のボタン表示を変更するプラグイン、

Screen Options and Help Show Customize

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

最新バージョンは1.2.3です。

 

やったこと

寄付メッセージを削除できるよう設定を追加しました。

それと、今まで一列表示で設定できるようにしていたのですが、二列表示になるよう変更しました。

少しだけ使いやすさがあがったんじゃないかな。と思います。

Screen Options and Help Show Customize 設定画面
Screen Options and Help Show Customize 設定画面

 

ダウンロードはこちら
http://wordpress.org/extend/plugins/screen-options-and-help-show-customize/

wordpress plugin Post Lists View Custom version up 1.4.1

様々な一覧画面のカスタマイズができる

Post Lists View Custom

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

最新バージョンは1.4.1。

 

 

やったこと

一覧画面にアイキャッチ画像やカスタムフィールドに指定している画像を表示することができますが、
このサムネイル画像のサイズを自由に変更できるようになりました。

サムネイル画像サイズ設定画面
サムネイル画像サイズ設定画面

 

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

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

 

wordpress plugin WP Admin UI Customize version up 1.2.3

wordpressの管理画面カスタマイズプラグイン、

WP Admin UI Customize

の更新を行いました。

最新バージョンは1.2.3です。

 

やったこと

WordPressの管理画面(例えばダッシュボードのページ)を、ブラウザのお気に入りやブックマークに追加すると、

ダッシュボード < サイト名 – WordPress

というタイトルタグとなっているので、この名称がそのままブックマーク名となります。(自分で変更すればいい話ですが)

この管理画面のタイトルから、-Wordpressを取るだけの機能を追加しました。

ダッシュボード < サイト名

こういう感じです。

それと、ダッシュボードのメタボックスはドラッグ&ドロップで移動が出来るようになっていますが、メタボックスの移動を出来ないよう制限する機能を追加しました。(必要性少なっ)

 

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

 

それと、

このプラグイン、WP Admin UI Customizeですが、後々マルチサイトのアドオンを有料で販売しようと考えていて、その販売サイト兼機能紹介サイトを別に作成しました。

今後、WP Admin UI Customizeに関してはそのサイトで機能の追加等はアップしていきます。
(そっちのほうが見やすく作られています。)

こちらからどうぞ。

http://wpadminuicustomize.com

日本語サイトはこちら

http://wpadminuicustomize.com/ja

wordpress plugin Archive Posts Sort Customize version up 1.1

フロントの記事一覧のソートのカスタマイズができる

Archive Posts Sort Customize

のアップデートをしました。最新バージョンは1.1。

 

 

やったこと

home(ホーム)の記事一覧のカスタマイズも可能になりました。

ホーム記事一覧ソートカスタマイズ設定画面
ホーム記事一覧ソートカスタマイズ設定画面

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

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

 

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

いやー、久しぶりに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 plugin Post Lists View Custom version up 1.4

管理画面の記事一覧、メディア一覧など様々な一覧画面のカスタマイズができる

Post Lists View Custom

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

 

やったこと

コメント一覧のカスタマイズができるようになりました。
これでほぼ全ての一覧表示のカスタマイズが可能です。

コメント一覧表示設定カスタマイズ例
コメント一覧表示設定カスタマイズ例

ダウンロードはこちら

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

 

もしくは、管理画面のプラグインから、「Post Lists View Custom」と検索して、インストールしてください。

wordpress plugin screen options and help show customize version up 1.2.1

管理画面内の上のほうにある、「表示オプション」と「ヘルプ」メニューの表示カスタマイズができる

Screen Options and Help Show Customize

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

 

やったこと

マルチサイトにはまりました…。

マルチサイトの機能を前回付けたのですが、通常のノーマル?のサイトで上手く動かないバグが発生していたので修正しました。

 

そして、プラグイン設定画面のレイアウトを少し変更しました。

 

ダウンロードはこちら
http://wordpress.org/extend/plugins/screen-options-and-help-show-customize/

 

もしくは、管理画面のプラグインから、「Screen Options and Help Show Customize」と検索して、インストールしてください。

wordpress plugin WP Admin UI Customize version up 1.2

wordpressの管理画面のカスタマイズができる

WP Admin UI Customize

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

 

やったこと

新規投稿、投稿編集画面にて、パーマリンクがデフォルトの設定の時、
「パーマリンクの変更」のリンクが表示されるのですが、このリンクを非表示にする項目を追加しました。

パーマリンク変更リンクボタン
パーマリンク変更リンクボタン

それと、「外観」→「メニュー」にて、メニューを新規で作成したり、作成済みのメニューが削除できるようになっていますが、このリンクを非表示にする項目を追加しました。

外観メニュー設定
外観メニュー設定

そもそもこんな機能使うの?っていう方もいると思います。

私の場合、先にメニューを作成し、クライアントにCMSとして納品。
その場合、“作成したメニュー内”に固定ページやカテゴリページのリンクを設置して欲しのですが、クライアントさんがメニューを作成して、「表示されないけど?」みたいな事がありましたので、このような項目を追加しました。

作成済みのメニューだけで、サイトを運営したい時には便利だと思います。

 

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

 

もしくは、管理画面のプラグインから、「WP Admin UI Customize」と検索して、インストールしてください。