WordPress 4.2.x のマルチサイトトラブル…

WordPress 4.2 より絵文字が使えるようになって、それを早速試してみたのですが、エラーが出る場合があったのでその対処法と苦闘?を備忘録として書きました。

苦闘はどうでもいいからとりあえず試してみたい。 😥 という方は一番下までスクロールしてね。 😯

 

エラーについて

その時の環境は以下となります。

  • ローカル環境
  • Windows 8.1
  • XAMPP 1.8.1
  • Apache 2.4.3
  • PHP 5.4.7
  • MySQL 5.5.27

 

まず、WordPress4.2.2をいつも通り、データベースを作成して新規インストール。

https://codex.wordpress.org/Installing_WordPress

インストールOK。wp-confing.php にてデバッグモードをtrue、デバッグログを trueにしておく。

使ってみる。特にエラーは何もなし 😛

絵文字を使ってみる。やっぱり何もエラーなし。 😎

※Windows 8.1 でノートパソコンをお使いの方は、下にある、アプリケーションや時間等が表示されている「ツールバー」を右クリックして、「ツールバー(T)」> 「タッチキーボード」を選択すると、ツールバーにキーボードが表示されると思うので、そのキーボードから絵文字は入力できるようになっています。

 

で、問題はここから。

Announce from the Dashboard 等マルチサイト対応のプラグイン等もあるため、マルチサイトに変更して動作を試してみました。

Codexはこっち。http://codex.wordpress.org/Create_A_Network

うん、とりあえずマルチサイトになりました。

マルチサイト画面
マルチサイト画面

そして「サイト」>「サイトの作成」から、2つめのサイトを作成しようと思ったら…

サイトの作成
サイトの作成

む? 😕 画面上にエラーが出ました。。

Warning: preg_match() expects parameter 2 to be string, object given in wp-includes\formatting.php on line 3435
Warning: preg_match() expects parameter 2 to be string, object given in wp-includes\formatting.php on line 3424
Warning: preg_match() expects parameter 2 to be string, object given in wp-includes\formatting.php on line 3435
Warning: strip_tags() expects parameter 1 to be string, object given in wp-includes\formatting.php on line 3407
Warning: strip_tags() expects parameter 1 to be string, object given in wp-includes\formatting.php on line 3407
Catchable fatal error: Object of class WP_Error could not be converted to string in wp-includes\kses.php on line 1038

preg_matchに値が何も来ていないのかな?strip_tagsにも来ていないのかな?

色々推測してみましたが、結局原因は分からないので、とりあえず画面を戻ってみると、

サイト一覧
サイト一覧

サイトは作成できているっぽいです。細かいバグ?が何かあるのかな。

と思いつつ、作成した2つ目のサイトのダッシュボードにアクセスすると、なぜか404エラー。

 

 

ん?(´・ω・`)

 

.htaccessの問題?.htaccessファイルを確認するも、特に問題は無さそう…
さっきのエラー、多分関係あるな。。

さて、どこから原因を探したほうがいいかな。。ワカンネ(´ー`)

 

😕

 

他に問題がないか調べてみようと思い、新しく作成したサイトのデータを編集画面(ネットワーク管理画面内)から見てみましたが、ユーザーがいない。。

あれ、admin 足したけどな…WordPress4.2からブルートフォース対策とかでadminは足せないのかな?だとすると、初めからadminでユーザー作成できるのはおかしいから関係はないか。admin足せば問題ないのかな?

でもユーザーがいないからって、404エラーはないか。 🙁

細かいバグでは無さそう。。

次にサイトの編集設定を見ると…

サイト編集設定
サイト編集設定

設定できる項目が、サイトのアップロード領域のクォータ っていう項目しかない。。

え?なにこれ?サイトが上手く作成できていない? 🙄

 

他にエラーが無いか確認してみようと思い、次にwp-content/debug.logの中身を確認しました。

すると、かなりのエラー。。 😳

そして、画面を表示する度にこのエラー。

WordPress データベースエラー: Table '42.wp_3_options' doesn't exist for query SELECT option_value FROM wp_3_options WHERE option_name = 'home' LIMIT 1 made by WP_List_Table->display, WP_List_Table->display_rows_or_placeholder, WP_MS_Sites_List_Table->display_rows, get_home_url, get_option

doesn’t existって、テーブルが無いってこと?まさか~、そんな事今までにないよ?

サイト一覧にちゃんと作ったサイトがあるんだし。

で、phpMyAdminから確認してみました。

phpMyAdmin
phpMyAdmin

😈

うん。。。無いですね。(´・д・`)ゞ

これで問題は分かったけど、原因は何だろう。

今までこんなエラーは無かったので、WordPress4.2からのエラーかな。
エラー内容を見る限りでは、文字コード系かな~と推測。。

それからwp-config.phpの以下をにらめっこ。

/** データベースのテーブルを作成する際のデータベースの文字セット */
define(‘DB_CHARSET’, ‘utf8mb4’);

WordPress4.2からのエラーというのが気になって、もしかして最初にCodexを参考にデータベースを作成した時の文字コード utf8_unicode_ci が4.2以降では違うのかなと思い、今度はデータベースを作成する際に、照合順序ってのを utf8mb4_general_ci で作成して、同じくマルチサイト環境でサイトを作成してみましたが、だめでした。

しかも全く同じようなエラー。 😳

じゃあ文字コードじゃないのかな。。

ログファイルをにらめっこしていると、ほとんどのエラーが wp_2_****** のテーブルが無いよ!みたいなエラーだったので、そもそもテーブルが作れていない!?
ようなので、そこだけ注意してみてみると、

WordPress データベースエラー: COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' for query CREATE TABLE wp_2_terms

あ、create table でデータベースエラーなのね。。 😳

utf8_general_ci is not valid ?え?どーゆーいみ?わっつ?( ´゚д゚)ン?

 

🙄

意味が分からなかったので、とりえあずサイト作成のコードを追う事にしました。

まずはURLの通り、wp-admin/network/site-new.phpをざっくり見る。

ざっくり見ると、分からない…なので、詳しく見る。 :mrgreen:

エラーが発生しているっぽい怪しいコードを発見。その上と下でごにょごにょ。色々試した結果、wpmu_create_blog()内が問題っぽい。

それをさらに追うと…insert_blog()はエラー無し。問題無さそう。
install_blog()はどうだろう…あ、エラーか。

またさらに追う。make_db_current_silent(‘blog’)直後にログにエラーが出る。

もっと追うと、dbDelta()でquery()を実行した時にエラー。テーブル作る際のクエリ内に多分問題あるのかな。 😐

クエリがたくさんあって、どれがエラーのクエリか分からないので、1つクエリを抜粋してphpMyAdminで試してみました。

CREATE TABLE wp_2_terms (
term_id bigint(20) unsigned NOT NULL auto_increment,
name varchar(200) NOT NULL default '',
slug varchar(200) NOT NULL default '',
term_group bigint(10) NOT NULL default 0,
PRIMARY KEY (term_id),
KEY slug (slug(191)),
KEY name (name(191))
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci

あ、エラーなんだ。一旦、WordPressのエラーとデータベースのエラーのどちらなのかを判別するために、phpMyAdminにて直接クエリを実行。

phpMyAdminのレスポンスは以下。

#1253 - COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' 

クエリの文法エラーではなさそう。これはWordPressでもPHPのエラーでもなく、MySQLでのエラーっぽい。
と、ここでやっとさっきのエラーの意味が少し分かりました。

あ、utf8mb4のエラーじゃなくて、COLLATION の utf8_general_ci っていう文字コードのほうで、エラーなのね。 😳

それで、COLLATIONってなに?で、ググってみましたが、、

http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html

なるほど。。…ワカンネ(´ー`)

で、お次。

http://qiita.com/kazu56/items/6af85ffcf8d3954455ad

おぉ、これは少し分かりやすい!COLLATIONは文字コードの設定ではなくて、ソートする際の文字コード(照合順序)、みたいな意味合いっぽいですね。

で、問題は、そのソートする際の文字コードが is not valid かな。

おそらく、照合順序に utf8_general_ci なんていうものは無い又は、何かのバリデーションに通らない、みたいな意味かな。not valid って、意味が大きいな。。

さて、問題は何で not valid なんだろう。。 😐

まず、utf8_general_ci があるかどうか確認するために、phpMyAdmin から選ぶことができる照合順序を確認してみました。

ちゃんと utf8_general_ci はあるじゃん。スペル間違い?いや、そうでもない。

あれ、ちょっと待てよ…。WordPress4.2からmb4だから、utf8_general_ci 自体、違うんじゃないかな。。それとも、別の原因かな。

こういう時は、にらめっこ。 😎
さっきのテーブル一覧をにらめっこしていると…

phpMyAdmin
phpMyAdmin

😈

あれ、全部、テーブルの照合順序が utf8mb4_general_ci じゃないか! 😈
でもなんで新しいサイトのクエリは utf8_general_ci になる?
あ、これが原因?少し解決できそうな予感…。 😮

phpMyAdminから直接クエリを試してみます。
さっきエラーのあったコードの一部、COLLATIONの値を utf8_general_ci からutf8mb4_general_ci に変えてやってみました。

CREATE TABLE wp_2_terms ( term_id bigint(20) unsigned NOT NULL auto_increment, name varchar(200) NOT NULL default '', slug varchar(200) NOT NULL default '', term_group bigint(10) NOT NULL default 0, PRIMARY KEY (term_id), KEY slug (slug(191)), KEY name (name(191)) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

お!

おぉ!

うまくテーブルが作成できました。 🙂

これが原因!?

じゃあ、今度はWordPressで試してみようかと思い、COLLATION を指定しているところを探してみる。

wp_get_db_schema()にてCOLLATEとしているみたい。

もっと追ってみると、wp-includes/wp-db.php のinit_charset()にてCOLLATEを指定しているっぽい。

今はテストなので、とりあえずwp-db.phpに直接、COLLATEが utf8mb4_general_ci になるよう変更して、サイトの作成を試してみました、、、

🙂

 

うまくいきました!エラーは特になし。あ~疲れた(まだ早い)。 😆

テーブル一覧
テーブル一覧

うん、テーブルも上手く作成されているし、作ったサイトのダッシュボードにもいけますね。

これは、なんとか解決できたっぽい。

上手くサイトが作成できない時は、COLLATION (文字コードの照合順序)が違う為なのかな。

サーバごとに、COLLATIONが違っていればを変えればいいのか。

今はテストだからwp-db.phpに直書きだけど、簡単にサーバごとにCOLLATIONを変更するいい方法ないかな(´・ω・`)

で、さっきの init_charset() を見ていると、

} elseif ( defined( ‘DB_COLLATE’ ) ) {
$this->collate = DB_COLLATE;
}

お、どこかでDB_COLLATEを定義できるんだ。ー(‘∀’)ゞ

で、検索してみると…wp-config.phpにあるし。 👿
いつもこの辺はWordPressが自動で作成するからスルーしていました。 😉

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define(‘DB_COLLATE’, ”);

今まで一度も変更したことなかった。。こういう時に変更するんだね。 🙂

ってことで、ためしにdefine(‘DB_COLLATE’, ‘utf8mb4_general_ci’);として変更してサイトを作成してみましたが、うまく動作しました。:-o

 

念のため、もう一度試しました。

さきほど、データベースを作成する際の、照合順序の文字コードを変えていたので、一旦 Codex と同じ照合順序 utf8_unicode_ci にてデータベースを作成。

データベース作成
データベース作成

同じようにインストール&マルチサイト化。

照合順序の文字コードはいまこんな状態。

データベース: utf8_unicode_ci

各テーブル: utf8mb4_general_ci (どのタイミングでutf8mb4_general_ciになるんだろう…) 😕 

サイトを作成してみる。やっぱりエラー。

wp-config.phpにて

define(‘DB_COLLATE’, ‘utf8_unicode_ci‘);

に変更してサイト作成を試してみる。

同じようなエラー。ってことは、テーブルを作成する時の照合順序ではなくて、他のテーブルの照合順序と同じようにすればいいのかと思い、

define(‘DB_COLLATE’, ‘utf8mb4_general_ci‘);

で試すと上手くいきました。 🙂

 

追記

wp-config.phpのDB_CHARSETによって、utf8mb4_general_ciかどうかも変わるっぽいです。

DB_CHARSETutf8mb4 だったら、utf8mb4_general_ci

DB_CHARSETutf8 だったら、utf8_general_ciutf8_unicode_ci

 

 

参考にされる方へ。

同じようなエラーに遭遇した方は、wp-config.phpのDB_COLLATEを

define(‘DB_COLLATE’, ‘作成済みのテーブル wp_options とかの照合順序の文字コード‘);

みたいな感じで、一度試してみてください。

🙂

 

久しぶりにブログ更新… 😉

 

Happy New Year 2015!

Happy New Year!

Many thank you for a lot of users of my plugins.

I’m happy to if my plugins to your help.  😮

And I will continue to feature add also in the future.

I’m glad if you having interest.  🙂

Have a great New Year! 😛

 

 

謹賀新年

明けましておめでとうございます!

昨年は新しいプラグインを作る機会がなかなか作る事ができず、 😳
今まで作成したプラグインの更新やメンテが中心でしたが、それでも多くの方々からお問い合わせやご要望など、フィードバックをいただけて大変感謝しております。

誠にありがとうございます。 😮

このプラグインを通じて、管理画面のカスタマイズにかける時間が短縮でき、他の事に時間を掛ける事ができるようになっていれば大変幸いです。 😛

皆さんからいただいたご要望の中で、まだ機能追加できていないものもあります。ごめんなさい。

出来る限り時間を見つけて、ご要望いただいた機能を、簡単に、分かりやすく、設定しやすい方法を探していきたいと思います。 🙂

今年も宜しくお願いします。 😛

 

WordPress Plugin Archive Posts Sort Customize Version UP 1.5

フロントエンド(サイト)のカテゴリの投稿一覧等のアーカイブ一覧のカスタマイズをする

Archive Posts Sort Customize

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

最新バージョンは1.5。

 

やったこと

今回は以下の2つの更新をおこないました。

・投稿のページ属性でのソート

・投稿のタイトルから指定したワードを無視してソートをするように(The ****とか A ***とか)

 

1つめの投稿のページ属性ソートですが、そもそも通常インストールしただけのWordPressの投稿には、ページ属性という項目(metabox)がありません。

WordPressコアのままでは固定ページのみ、Page Attributes の Order(順序) を変更する事ができるようになっています。

Order of Page Attributes
Order of Page Attributes

しかし、他のプラグインやテーマ等を用いて、投稿にもこの機能が使えるようにして、その変更した値の通りにソートをしたいという要望がありました。

なので、その機能を追加しました。
(簡単にできて良かった~  😛 )

Order of Sort Target
Order of Sort Target

 

2つ目の追加した機能は、予想以上に難しかったです。。

「投稿タイトルに The とか A とかがついている場合があるんだけど、その部分を無視してソートして欲しい」

という要望でした。要するに、こんな感じです。

  • The Books
  • Movies
  • A Cat

この3つの投稿タイトルがあった場合、通常の投稿タイトルでの昇順(a-z)ソートを行った場合、

  • A Cat
  • Movies
  • The Books

という順序になりますが、最初のA とかThe とかはメインタイトルではないので、

  • The Books
  • A Cat
  • Movies

このようなソートが実現できるようにという事でした。

正直、そんなに難しくないだろうと思っていました…  😳

そういう機能がどっかにあるんだろうなぁ~と思って、ひたすら内部のコードをにらめっこしていたのですが、、、

exclude とかオプションで指定できるから、それっぽいのがどうせあるんでしょ…?と思って探していましたが。。。

私が探している限り、それっぽいものは見つかりませんでした。。  😥

(もしあるようでしたら、ご教授いただけますと幸いです 🙂 )

 

「しょうがないか。じゃあ、投稿一覧を取得して → タイトルからTheとかを除外して → ソートして → それをフロントエンドの投稿一覧に表示させるような方法にしようかな」

とやってみましたが、今度はページ送りが、ソートする以前のものになってしまう。。

 

う~ん、、おおもとを変更しないとだめかな。。SQL文変更しないと、だめかもな。。 😕

という事で、 posts_orderby っていう所にフックをかけて、MySQL側でTheとかを抜いた状態でソートしてねっていう感じにしようかと思いましたが、、

それっぽい方法のSQL文が、ググってもなかなか出てこない。。

あれ、これって既にありそうな機能だけどなぁ。 🙁

何を参考にしたかはたくさん見たのでもう覚えていないのですが、
ひたすらぐぐって、MySQLドキュメント見て、ぐぐって、ドキュメント見て、●●を投げて、、、
なんとか解決しました。

 MySQL :: MySQL 5.1 Reference Manual :: 12.5 String Functions

(SQL詳しくない人は苦労します。私は詳しくないので苦労しました。。。 😳 )

ちなみに、除外する言葉は自分で追加できるようにしているので、ソート対象から「タイトル」を選択すると、その言葉を入力する事ができるようになります。

Ignore word settings
Ignore word settings

 

 

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

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

WordPress Plugin Post Lists View Custom Version UP 1.7

投稿一覧やカスタム投稿タイプ一覧、メディア一覧等の一覧画面をカスタマイズする

Post Lists View Custom

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

最新バージョンは1.7。

 

 

やったこと

今回の主なところは、

・カラムのソートを設定できるように

・4.0への対応

・たくさんの細かなバグの修正

となります。

現時点での、WordPress4.0以降の場合、「メディアライブラリ」の表示表法が「グリッド」と「リスト」の2種類ありますが、Post Lists View Customで対応しているカスタマイズは「リスト」形式の表示方法となります。

また、今回大きな機能として「カラムのソートの設定」をできるよう変更しました。(プラグインやテーマにて追加されたカラムに対して、ソートが用意されていない場合は不可となります)

List view for Posts customize
List view for Posts customize

 

カラムのソート設定はだいぶ前から検討していて、何度か時間の空きがあれば試して、だめで、試して、だめで。。。

何度か試していたのですが、なかなかできませんでした。

(右上に放り投げるように「ミ○ティーーーー」  😈 )

「プラグイン等で追加されたカラムのソートが出来ないように」は簡単にできるのですが、「投稿ID」や「スラッグ」、「アイキャッチ」のソートが出来るように…等が難しかったのです。。 😕

今回、やっとうまく動くようになったので機能追加をいたしました 😛

 

そして、前回もですがプラグインとアドオンの両方を更新しました。

しかし、前回はプラグイン及びアドオンの更新タイミングのずれの影響を考える事が出来なかったため、Post Lists View Custom のアドオンを使っているユーザーから「管理画面真っ白なんだけど…」というご連絡がありました。。 😥

 

なので、今回はわざとアップデートのタイミングを約10日ずらしてアドオンから先にアップデートを促すようにしました。

これで、多分うまくいくよね。。 😐

 

 

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

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

Post Lists View Custom for Multiple setups Add-on

WordPress Plugin Js Css Include Manager Version UP 1.4

WordPressの管理画面、サイト(フロントエンド)画面へ読み込むJavascript、CSSファイルを整理することができる

Js Css Include Manager

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

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

 

 

やったこと

主にやったこととしては、他のプラグインでもやっている事ですが、マルチサイトへの対応と、プラグインの動作権限を変更できるよう追加しました。

他には、ファイルの整理と最新版 4.0 への対応の確認をしました。

Js Css Include Manager add screen
Js Css Include Manager add screen

 

最近はファイルの整理をしつつ、機能を追加という事をしています。

もし不具合等があれば、ご連絡お願いします。 😳

 

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

http://wordpress.org/plugins/js-css-include-manager/

WordPress Plugin Screen Options and Help Show Customize Version UP 1.3

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

Screen Options and Help Show Customize

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

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

 

 

やったこと

設定画面を大幅に変更し、対応する画面数を少し増やしました。

あと、プラグインを動作させる権限も変更できるようにしました。

Settings Interface
Settings Interface

また、WooCommerceについては、今までは「カスタム投稿タイプ」と「カスタムタクソノミー」の部分でカスタマイズが可能でしたが、WooCommerce専用に少し改良を加え、カスタマイズがしやすくなっています。

 

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

http://wordpress.org/plugins/screen-options-and-help-show-customize/

WordPress Plugin Post Lists View Custom Version UP 1.6

投稿一覧やカスタム投稿タイプ一覧、メディア一覧等の一覧画面をカスタマイズする

Post Lists View Custom

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

最新バージョンは1.6。

 

[ 2014年8月6日 記載]

※Post Lists View Customとアドオンを一緒に使っている方で、アップデートした影響で、WordPressの管理画面にアクセスできないというご報告を受けています。申し訳ありませんが、アドオンを一緒に使っている方はアドオンを先にアップデートしてください。

If you using with Add-on, please update to Add-on also.

 

やったこと

今回の主なところは、

・プラグイン自体の動作権限を自由に変更できるように

・Post Lists View Custoizeのインターフェースの改善(より一覧表示の見た目に近いように)

・ソースコードの大枠を更新

というかんじで、新しい機能の追加ではなく、より「分かりやすく」「安定した動作になるように」を心掛けたアップデートになりました。

 

他には「一覧表示のテーブル幅の自動調節をONにするか、OFFにするか」という設定部分について、意味が分からないという方が多いと思いましたので、ちょっとした説明付きの画像イメージを追加しました。

 

また、一緒にアドオンとして配布しているマルチユーザーグループ設定も更新しました。

 

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

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

Post Lists View Custom for Multiple setups Add-on

WordPress Plugin Announce from the Dashboard Version UP 1.4

WordPress のダッシュボードに各ユーザー権限グループ別にお知らせを掲載することができる

Announce from the Dashboard

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

最新バージョンは1.4。

 

やったこと

そろそろファイルの中身を整理しないとなぁ~と思っていたので、ファイルの整理と、

  • プラグインの最小動作権限の設定
  • マルチサイトの対応

を追加しました。

設定画面のレイアウトも、使っていって使いづらい・分かりづらい点がちらほらありましたので、いっそのことこの機会に!と思いそれも。 😮

 

でも「マルチサイト」の時の機能については、分かりやすい…とはちょっと言えないかもしれません。。。 😳

理由を、機能の説明と一緒に書きたいと思います。

 

単純な設定方法としては、お知らせの表示をしたい「子サイト」だけを選択する方式
この場合の設定画面なら、「お知らせを表示したい子サイト一覧から個別に子サイト」が選択できるようにしてあげればいいですね。

でも、このプラグインのユーザーからご指摘がありました。。
「これから作成される子サイトにもお知らせが表示されるように」 😉

う~ん。。確かにそのほうがいいな。

上記の単純な設定方法になると、これから作成される子サイトには表示されないな~。。 🙁

むしろ、「お知らせごとに、新しく作成される子サイトに初めから表示されるのか、されないのかを選択できる方式がいいかもしれないな~」

 

(´・ω・)

 

という事で、そのような機能の追加となりました。

Setting interface on multisite
Setting interface on multisite

 

なんか2つ、選択できるものがありますが、これは「子サイトへのデフォルトのお知らせ設定」「各子サイトごとへの適用」になります。

子サイト自体を個別に選択できるようになっていますが、これは

  • デフォルトは全子サイトにお知らせを表示 非表示にしたい子サイトは個別に選択してね)
  • デフォルトは全子サイトにお知らせを非表示 表示させたい子サイトは個別に選択してね)

という事ができるようにした、設定画面となります。

 

もっと分かりやすい設定方法があるんじゃないかな~と考えてみたんですが、なかなか思いつきませんでした。 :mrgreen:

「こんな設定画面にしたほうが分かりやすいYO!」と教えてくれる方がいましたら、ご参考にぜひ教えてください。 😛

 

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

http://wordpress.org/plugins/announce-from-the-dashboard/

WordPress Plugin Archive Posts Sort Customize Version UP 1.4

フロントエンド(サイト)のカテゴリの投稿一覧等のアーカイブ一覧のカスタマイズをする

Archive Posts Sort Customize

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

最新バージョンは1.4。

 

やったこと

いつかは要望がくると思っていました。。。

「カスタムタクソノミーのソートのカスタマイズも出来るようにしてほしい!」

 

ですよねー。プラグインのアップデートの為に、まとまった時間がなかなか作れないです。。

前回カテゴリごとのソートカスタマイズをできるようにしていたので、そこまで時間を取らずに機能を追加することができたのですが…

・カスタムタクソノミーは複数作られる

・その中でタクソノミーは複数作られる

と、複数作られる場合が考えられた為、いつもながらどういった設定画面にしたほうがいいのか、悩みました。。

(結果、メニュー内にタクソノミーを表示し、設定画面ではタクソノミーごとの設定ができるようにしました 🙂 )

 

あと、別の要望として「The とか A とか、投稿タイトル名の一部を無視してソートできるように」というものがきていますので、近いうち、この機能をなんとかかんとか、やってみようと思います。 😎

 

 

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

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

WordPress Plugin Archive Posts Sort Customize Version UP 1.3.1

フロントエンド(サイト)のカテゴリの投稿一覧等のアーカイブ一覧のカスタマイズをする

Archive Posts Sort Customize

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

最新バージョンは1.3.1。

 

やったこと

プラグインユーザーの方から「カテゴリ一覧のカスタマイズは出来るけど、カテゴリごとのソートのカスタマイズは出来ないの?」という要望をいただいていたので、今回はそのカテゴリごとのソートのカスタマイズが出来るようにしました。

いやー、結構難しかったです。。

難しい原因は「カテゴリごとの設定」ではなく、

「これから作成されるカテゴリのソート設定」と、「カテゴリ別のソート設定」をどういう風な構成にすると、分かりやすい設定画面になるだろうかという事でした。 😳

 

カテゴリ別のソート設定だけができるようにする事自体は多分簡単です。

しかし、これから新たに作成するカテゴリに対しては、ただカテゴリ別のソート設定しか無ければ、カテゴリを作成する度にソートの設定をする必要があり、ちょっと不便ではないかと思いました。 😕

この問題をどうやって解決しようか。。

カテゴリごとに設定できる項目と、これから作成されるカテゴリのソート設定ができる項目を作れば、おそらく問題は解決されると思いますが、その設定画面をどうやったら分かりやすく、使いやすくなるだろう。。。 😕

 

うーん。

むーん。

(○’ω’○)ん?

 

 

結果、このような画面構成になりました。

Settings screen
Settings screen

 

ちょっと画面が大き過ぎて見づらいですが、

上部は、今まで通りの設定と同じ機能で「デフォルトのカテゴリソート設定」として、全カテゴリ一覧のソート設定をする項目となります。

下部は、「そのカテゴリだけ別のソート設定」として、

指定するカテゴリだけを別のソート設定にできるようにしました。

 

多分、これならみんな使いやすい、よね? 😮

 

ちなみに、カテゴリを作成しても、そのカテゴリの投稿が1つもない場合は設定できない(設定するカテゴリが表示されません)ので注意してください。

 

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

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