1ヵ月ほど前からWordPressにてサイトを作成しております。
TablePressというプラグインを用いて表を掲載しているのですが
任意の文字列でソートする方法が分かりません。
(TablePressは既存のシステムで昇順、降順のソートが可能です)
「b101E」「b201E」「c101E」「t101E」
このような半角英数字混合の単語を
希望通りの並び順にしたいです。
【t1<b1<b2<c1】
カタチとしては、このような並び順です。
phpやhtmlをいじれば可能?ということまでは
調べて分かったのですが
どのようにTablePressにソースを取り込めばいいのかが
分かりません。
そもそものソースもよく分かっておりません…
質問ばかりで大変申し訳ないのですが
どなたかご教示いただきたいです。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/17 08:40
回答1件
0
ベストアンサー
TablePress の公式ページを見たところ、DataTablesを使っているようでしたので、ソートのカスタマイズが可能だと思います。
↓こちらを参考にしてみてください。
Sorting plug-ins
コメントを受けて追記
DataTablesのソートをするのは↓のとおり比較的簡単なんですが、
sort()
demoのコードを見るとDataTablesのインスタンスがクロージャの中にあるので外部から触れなさそうです。
TablePressのドキュメントを見ても標準的なカスタマイズでは難しそうなので、PHPのソースから触る必要があるかと思います。
または、ソート用のプラグインを使って、↓のようにオプションのパラメータを設定する方法でもいいかもしれません。
That’s possible by adding the following code to the “Custom Commands” textfield in the “Features of the DataTables JavaScript library” section on the “Edit” screen of the table
DataTables Sorting plugins | TablePress
コメントを受けて追記
サンプルコードを挙げます。
javascript
1['a','b','c'].sort(function(a,b){ 2 var testString = 'acb'; 3 return testString.indexOf(a) - testString.indexOf(b); 4}) 5 6/* 7a,c,b 8*/
参考:
指定された値が最初に現れたインデックスを返します。
String.prototype.indexOf() - JavaScript | MDN
文字列の代わりに数字を比較する場合、比較関数は単純に a から b を引けばよいでしょう。
投稿2017/08/17 09:22
編集2017/08/24 03:16総合スコア36104
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/19 04:20 編集
2017/08/19 06:55
2017/08/23 20:14
2017/08/24 03:17
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。