カスタムquery_posts()パラメーター
-
16-10-2019 - |
質問
テーマに投票機能を追加しています。訪問者は投稿を上下に投票できます。各投稿の投票数を保存するためのテーブルを作成しましたが、それは正常に機能します。今、私は彼らの投票で投稿を並べ替えようとしています。
私は「投票」と「投票」リンクを持っています。たとえば、「投票」をクリックすると、新しいパラメーターをクリックすると sort=up
URLに渡されます。
ループ内でパラメーターが存在し、= "Up" IS = "Up"を投票してループしたい。
wpdb->get_results("SELECT post_id, FROM $wpdb->votes WHERE up > 5");
これは私がようなものを使いたい場所です query_posts('sort=up')
ループの前。私の質問は、カスタム「ソート」パラメーターを作成する方法です。
解決
データを別々のテーブルに追加している場合、クエリでサポートを追加するのはやや面倒です。基本的にフィルタリングする必要があります posts_where
と posts_join
RAW SQLクエリを変更して、カスタムテーブルが結合され、カスタム値に対してチェックされるようにします。
より速い:)] Anuの提案に従って、値を保存することは理にかなっています カスタムフィールド そして使用します カスタムフィールドパラメーター (Orderbyに関連していますが、同じものではありません)クエリ。
他のヒント
私はこれを使用してこれを行う唯一の方法がかなり確信しています orderby
パラメーターは、カスタムフィールドに投票値を保存することです。
Codexから(http://codex.wordpress.org/function_reference/query_posts#orderby_parameters)
Orderbyパラメーター
orderby=meta_value Note: A meta_key=keyname must also be present in the query. Note also that the sorting will be alphabetical
orderby=meta_value_num - Order by numeric meta value (available with Version 2.8)
所属していません wordpress.stackexchange