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 Archive Posts Sort Customize release.

カテゴリページでの記事位置、タグページでの記事一覧は通常、

  • 日付順
  • 降順
  • 投稿記事数は管理画面にて設定した、設定記事数

に応じた内容が表示されます。

このデフォルトの記事の表示順序を自由に変更できるプラグインを作りました。

×query_posts() ○pre_get_posts() 仕様。
管理画面の記事一覧には適用されません。

 

インストール方法

プラグインインストール画面の検索に、「Archive Posts Sort Customize」と記入して検索してインストールしてください。

プラグインインストール画面
プラグインインストール画面
プラグイン検索結果
プラグイン検索結果

まだ誰からも評価をいただいていないので、★がありません。。星が無いって、なかなか怪しくて使う気になれない気がするのは、私だけかな。。

 

インストールしたら

管理画面メニュー
管理画面メニュー

管理画面の設定の下のところに、「カテゴリー記事一覧ソートカスタマイズ」というメニューが出るので、そこから記事一覧のソート順を設定していきます。

archive_posts_sort_customize画面
archive_posts_sort_customize画面

これが設定画面になります。設定する項目は基本は3つ。
「投稿の表示数」、「投稿のソートする対象」、「ソートの順序」です。

降順や昇順について、自分でもたまに忘れたりする事があります。

新しい記事から古い記事へのソート、どっちだっけ??

そういう細かい表記があると、特に初心者には使いやすいと思い表記しています。

 

カスタムフィールド名でのソートについて

ソート対象の設定
ソート対象の設定

カスタムフィールドの値をもとに、記事一覧をソートすることもできます。
背景がうっすらとなっている部分がありますが、ソートの対象からカスタムフィールドを選ぶと、ソート対象にしたいカスタムフィールド名を入力することができるようになっています。

特に。カスタムフィールド名が分からない方もいるとおもったので、
「カスタムフィールド名が分からない場合はこちらを~」のリンクを付けて、そのリンクをクリックすると、
記事で使用している全カスタムフィールドのキーの一覧が下に表示される仕様にしています。

screenshot-3
screenshot-3

「custom_field1」、「custom_field2」の2つが、実際に記事編集画面から作成したカスタムフィールドになります。

このカスタムフィールド名をクリックすると、上のカスタムフィールド名を入力する所に自動で挿入される、ちょっとだけあると嬉しい仕様?にしています。

ちなみに今のところは、カテゴリページの記事一覧、タグページの記事一覧の2種類のみにしています。
※バグがあれば、修正をおこなってから年月ベースのアーカイブも追加する予定です。

 

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

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 バージョンアップ 1.3

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

Post Lists View Custom

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

 

やったこと

ナビメニューのカスタマイズもできるようになりました。

ナビメニュー一覧カスタマイズ例
ナビメニュー一覧カスタマイズ例

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

 

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

クライアントに納品するwordpressの管理画面カスタマイズ vol.3

前回はサイドメニューまで終えました。
前回はクライアントに納品するwordpressの管理画面カスタマイズ vol.2

 

  1. クライアントに納品するwordpressの管理画面カスタマイズ vol.1
  2. クライアントに納品するwordpressの管理画面カスタマイズ vol.2
  3. クライアントに納品するwordpressの管理画面カスタマイズ vol.3
  4. クライアントに納品するwordpressの管理画面カスタマイズ vol.4
  5. クライアントに納品するwordpressの管理画面カスタマイズ vol.4.5
  6. クライアントに納品するwordpressの管理画面カスタマイズ vol.5
  7. クライアントに納品するwordpressの管理画面カスタマイズ vol.6

 

次はメタボックスの設定に移ります。
メタボックスとは…投稿や固定ページ作成にある、アイキャッチやフォーマットの類のことです。
リビジョンやスラッグとか、クライアントによっては必要ないときもありますよね(ない?)。

メタボックスの例
メタボックスの例

 

 

メタボックス削除

ここまでくると、あまり設定についての説明が不要な気がしてきました。(疲れただけ…?
そんなことはさておいて。。。とりあえず設定します。

投稿・固定ページともに不必要なメタボックスとして、

  • アイキャッチ
  • 抜粋
  • トラックバック送信
  • カスタムフィールド
  • ディスカッション
  • コメント
  • スラッグ作成者
  • リビジョン
  • フォーマット
  • タグ

を削除します。(ほとんど。 😯

メタボックス削除設定例
メタボックス削除設定例

どうですか?このようにシンプルになりましたか?

メタボックス削除設定例2
メタボックス削除設定例2

これで投稿画面はカスタマイズができ、クライアント向けになりました。
だけど、投稿一覧固定ページ一覧の表示もカスタマイズしたくなりますよね。

投稿一覧画面
投稿一覧画面

これもカスタマイズするので、別のプラグインを用意します。

 

Post Lists View Custom

プラグイン「Post Lists View Custom」をインストールしてください。
Post Lists View Custom

post list view custom 検索

インストールし、有効化するとサイドメニューの「設定」の下に、「Post Lists View Custom」メニューが追加されているので、そこから投稿一覧表示設定をクリックしてください。

post lists view custom 設定画面

 

カスタムフィールドを使っている場合、カスタムフィールドも投稿一覧内に表示させることができます。

上の「表示する」の項目が、投稿一覧に表示される項目となります。
今回は、タイトル、カテゴリー、日時 の3つだけにします。

post lists view custom 設定例1
post lists view custom 設定例1

これで、投稿一覧のカスタマイズができました。この調子で固定ページ一覧もカスタマイズしてください。

post lists view custom 適用例
post lists view custom 適用例

 

これで、管理画面のほとんどをカスタマイズできました。
次は、クライアントに納品するwordpressの管理画面カスタマイズ vol.4での、
ログイン画面のカスタマイズに進んでください。

wordpress プラグイン Post Lists View Custom 1.2

投稿や固定ページ、カスタム投稿タイプの一覧表示をカスタマイズする、

Post Lists View Custom

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

 

やったこと

いつも記事のIDを確認する際に、タイトルの部分にマウスを乗せて確認していたのですが、
これが結構面倒だったので、記事のIDも一覧表示にできるよう変更し、
メディア一覧もカスタマイズ可能になるよう変更しました。

 

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

 

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

 

wordpress プラグイン Screen Options and Help show Customize

このプラグインは、wordpressの管理画面に出ている「表示オプション」と「ヘルプ」のタブを、

削除してしまおうというプラグインです。

クライアントにCMSとして提供している場合、あまり余計なものは載せたくない….。

そういう時に便利なプラグインです。

※ユーザーの権限別に表示・非表示を変更できます。例えば、編集者だけ新規投稿ヘルプは表示しない。とかですね。

 

以前作成した、「dashboard-option-menu-customize 」プラグインにとても似ていますが、このプラグインは、ダッシュボード以外のページの表示オプションとヘルプの表示変更をできるようにしたものです。

ダッシュボードの表示オプションとヘルプ表示だけ、変更したい方は「dashboard-option-menu-customize 」のほうがいいかもしれません。

 

 

とりあえずこんな感じです。

screen option and help show customize 使用例

 

 

 使い方



まずはプラグインをダウンロードしてください。

>> ダウンロード

次に、プラグインを wp-content/plugins/ 内に解凍してアップロードしてください。

プラグインのパネルで有効化してください。
Screen Options and Help show Customize 設定メニュー
すると、「設定」 メニューより 「オプションタブ表示カスタマイズ」のメニューが選択できますので、選択してください。
Screen Options and Help show Customize の設定画面になります。

「ダッシュボード」や「投稿一覧」のタブだけがあります。そこから、オプション表示とヘルプの表示設定を変更したい所を選び、クリックすると設定変更が可能になります。

screen option and help show customize 設定画面

 ※キャプチャは英語ですが、日本語のwpだと日本語表示になりますのでご安心ください。

 

あとは、設定して一番下のほうにある更新ボタンを押して、設定通りの表示になっているかどうか確認ください。

以上になります。

 

wordpress プラグイン Original Post Ranking Widget

ウィジェットを使って、記事一覧のランキングを表示したい時に、プラグインを検索しても

・アクセスの多かった記事ランキング or ・コメントの多かった記事ランキング

はよく見つかるのですが、自分独自のランキングで記事一覧を掲載したい時には向いていません。

それをできるようにした、プラグインです。

 

 

とりあえずこんな感じです。

original-post-ranking-widget使用例

 

 

 使い方

original-post-ranking-widget インストール
まずはプラグインをインストールしてください。

 

プラグインのパネルで有効化してください。

original post ranking widget 設定メニュー
すると、「設定」 メニューより 「オリジナル記事ランキングウィジェット」のメニューが選択できますので、選択してください。


ランキングウィジェットのテンプレート設定が行えます。

テンプレートそのままの状態でいい場合は、保存を押して下さい。

original-post-ranking-widget 管理画面

 

次にウィジェットの画面で、新しくウィジェット「オリジナル記事ランキング」が出来ていますので、そのウィジェットを使いたいサイドバーに入れてください。

original-post-ranking-widget ウィジェット画面

 

すると、ランキングに関する設定ができますので、設定を行ってください。

original-post-ranking-widget 設定例

 

 

以上になります。

ダウンロードする方は、wordpress.orgよりダウンロードしてください。

>> ダウンロード

wordpress プラグイン Post Lists View Custom

wordpressはプラグインが豊富にあって、そのなかでもカスタムフィールド系も

なかなか優れているものばかりです。

そのカスタムフィールドの値を、この記事は入力しているのか、していないのか、、

を確認したい時って、今の現状ではどうしても見ることができません。

それをできるようにした、プラグインです。

 

 

とりあえずこんな感じです。

post lists view custom 使用例

 

 

 使い方

post list view custom 検索
まずはプラグインをダウンロードしてください。

>> ダウンロード

次に、プラグインを wp-content/plugins/ 内に解凍してアップロードしてください。

プラグインのパネルで有効化してください。
post lists view custom 設定メニュー
すると、「設定」 メニューより 「記事一覧表示設定」のメニューが選択できますので、選択してください。


記事一覧に表示する設定画面になります。

ドラッグ&ドロップで表示&非表示にしたい項目を選択して保存してください。

post lists view custom 設定画面

 

またついでですが、表示する項目の並び順を変更すると、そのならび順通りの表示になります。(左順)

以上になります。