web-dev-qa-db-ja.com

ショートコードプラグインとmeta_queryの投稿を取得しますか?

私は 投稿の取得 プラグインを使用して投稿の種類が "project"の投稿を一覧表示しています。年(例:2006)と州(例:完了)の2つのカスタムフィールドでリストを絞り込みます。プラグインのmeta_query引数にget_postを追加し、ショートコードを試しました。

[get_posts post_type="project" meta_query="array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))" suppress_filters="false"]

meta_keymeta_valueを使って、 "state"と "year"の両方を独自に機能させることはできますが、これは機能しません。

誰かが私を正しい方向に向けることができますか?

1
AnaRita

更新されていないプラグインの他に、meta_query引数が文字列として評価されるため、これは機能しません。

array(3) {
  ["post_type"] => string(7) "project"
  ["meta_query"] => string(96) "array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))"
  ["suppress_filters"] => string(5) "false"
}

カスタムページテンプレート を作成することをお勧めします。ここでは、必要なmeta_queryを使用してget_posts()を直接呼び出します。

実際の投稿一覧を処理するコードをコピーする必要があります。

2
scribu

私は、プラグインが新しいクエリ引数、特にこの場合はmeta_query引数をサポートするように更新されたとは思いません。

プラグインのページには互換性の最新の一覧3.0.5があり、私が正しく覚えていればmeta_query3.1で導入されましたdサポートはまだ利用できません。

私は間違っているかもしれません、ただ点をつないでください..

1
t31os

プラグインはshortcode_attsを使って、受け入れられる引数のリストを制限します。

http://plugins.trac.wordpress.org/browser/nurelm-get-posts/tags/0.3/get-posts.php#L29

meta_queryはそのリストにありません。私はプラグインを忘れるか、メタクエリを可能にするためにそれを更新するように作者に依頼することをお勧めします。

0
John P Bloch