自分のデータベースに、投稿を注文しようとしている投票の投票を含むテーブルがあります。
スクリーンショット: 表
私はこのようなことを試してみました。それは投票された投稿とページネーションをすべて表示して大丈夫ですが、それらをDESCで並べ替えません。私がこの権利に近づいているならばどんなアドバイスでも評価されます。
<?php
global $wpdb;
$my_posts = $wpdb->get_col("SELECT like_pid FROM wp_likes_count ORDER BY like_count");
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post__in' => $my_posts['like_pid'],
'paged' => $paged,
'posts_per_page' => 6,
'order' => 'DESC'
);
query_posts($args); ?>
<?php while (have_posts()) : the_post(); ?>
<!-- do stuff -->
<?php endwhile; ?>
$my_posts
には投稿がありません。投稿IDなどが含まれています。そしてあなたは両方をpost__in
に落とし込んでいますが、これはうまくいきません。プラグイン(?)がデフォルトでdb-tableに0 x整数のポストを追加しなければ、ポストの数さえうまくいかないと思います。
以下を試してください。
$my_likes = $wpdb->get_col("SELECT like_pid FROM wp_likes_count ORDER BY like_count DESC");
echo '<pre>';
print_r( $my_likes );
echo '</pre>';
これはおそらくあなたに2つの部分配列を含む配列を示すでしょう。
それから、必要な部分配列を取得し、それをクエリにドロップしてみてください。 例:'post__in' => $my_likes['like_pid']
。
とにかく、プラグインはフィールド内のpost_metaテーブルにこのようなものを格納し、そのようなものに不要なテーブルを追加しないでください。 wp.orgリポジトリにはottoのfacebookプラグインがあるはずです。これははるかに強く、よりよく書かれていて信頼できる作者によるものです。切り替えを検討する必要があります。
ループ呼び出しでパラメータ 'order'を使用します。
$args = array(
'post__in' => $my_posts,
'paged' => $paged,
'posts_per_page' => 6,
'order' => 'DESC'
);
Order_byパラメータもあります