サポート » 自作品の告知 » meta_queryを高速化するプラグイン作ってみました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    大レコードのテストデータをすぐに用意できなかったのでインストールだけ試してみました。

    create acceleratorボタンを押した結果のログ

    PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘meta_accelerator_activate’ not found or invalid function name in /path/to/wordpress/wp-includes/plugin.php on line 470
    PHP Warning: Invalid argument supplied for foreach() in /path/to/wordpress/wp-content/plugins/meta-accelerator/class/posttype.php on line 525

    ダイアログ

    <br />
    <b>Warning</b>:  Invalid argument supplied for foreach() in <b>/path/to/wordpress/wp-content/plugins/meta-accelerator/class/posttype.php</b> on line <b>525</b><br />
    {"rsl":true,"next":"none","target":"post"}

    ・カンマ区切りのデータを作る際に、meta_valueのカンマをエスケープしていないのが怖い(戻せる?)
    ・非公開のメタ情報(キーがアンダーバーで始まるもの)はインデックス用のテーブルに入れなくていいかも?

    似たようなプラグインがありますので、今後の開発の参考になるかもしれません
    https://wordpress.org/plugins/horizontal-meta/

    ありがとうございます。該当箇所修正して、頂いたプラグイン参考に調べてアップデートします。

    該当箇所洗ってみました。

    Warningの箇所は対処したものを次のバージョンでアップします。

    カンマ区切りの件は、このテーブルは検索利用だけで戻すことを考えていないので、問題ないかなと思っています。(meta_valueないのカンマをエスケープすると、検索の時にそれを意識しないといけなくなりますし)

    非公開のメタ情報は悩んでいます。meta_query自体を置換してしまうので、非公開のメタ情報を含めて検索するケースもあるでしょうし、それを切り離して検索処理をどう考えるか。
    オプションなどで、対象外にするという手はあるかもしれませんね。

    参考に頂いたプラグイン、解析進めてみます。

    モデレーター Takuro Hishikawa

    (@hissy)

    検索だけを考えるのであれば、カンマで区切らなくてもいいのではないか…と思います。私はconcrete5も専門にしているのですが、c5では似たような機能でコアで検索インデックス用のテーブルを持っていますが、改行2回区切りを採用しています。

    ありがとうございます。
    改行いいですね、変更してみます。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「meta_queryを高速化するプラグイン作ってみました。」には新たに返信することはできません。