0

wp-propertyプラグインをインストールしましたが、データベースからデータを取得するためのカスタムクエリを作成しようとしています。

他のpost_typeからの投稿をクエリしても問題ありませんが、プラグインによって生成された特定の「プロパティ」post_typeから投稿をクエリしようとすると、1つのIDまたは1つのタイトルしか表示されません(理解するために添付の画像を参照してください...これ ここに画像の説明を入力してください は私のコードでは、通常のwp-query構造で試しましたが、同じ問題が発生しました。

    <?php
    $querystr = "
    SELECT *
    FROM `wp_posts`
    WHERE `post_type` LIKE 'property'
    ORDER BY $wpdb->posts.post_date DESC
    ";

    $pageposts = $wpdb->get_results($querystr, OBJECT);

    ?>
    <?php if ($pageposts): ?>
    <?php global $post; ?>
    <?php foreach ($pageposts as $post): ?>
    <?php setup_postdata($post); ?>

    <?php echo  $post->post_title ?><br />

    <?php endforeach; ?>
4

1 に答える 1

0

グローバル$post変数とループ変数の間に競合がある可能性があると思います。次の(テストされていない)コードに変更すると機能しますか?

<?php global $post; ?>
<?php foreach ($pageposts as $pagepost): ?>
<?php setup_postdata($pagepost); ?>
<?php echo  $post->post_title ?><br />

ところで、あなたの SQL にはいくつかの条件がありません。これで、投稿のすべてのリビジョンを元に戻すことができます。少なくとも私は追加します

AND $wpdb->posts.post_status = 'publish'

しかし、可能であれば WP_Queryの使用に戻ります。

于 2012-06-16T08:56:25.803 に答える