web-dev-qa-db-ja.com

ユーザー別期間数

私はウェブサイトの前面にセクションを作成しています。私たちのユーザーは私たちのディレクトリにプロパティを送信します。リストされているプロパティの数と種類を示します。私はこのコードを持っています、しかしそれは私がちょうど彼らの投稿数を表示したいのですべてのユーザーによるすべての投稿数を表示します。

$term = get_term( 110, 'property_type' );
// WP_Term_Query arguments
$args = array(
    'taxonomy'   => array( 'property_type' ),
    'name'       => array( 'Residential' ),
    'slug'       => array( 'residential' ),
    'author'     => $userID,
    'pad_counts' => false,
    'fields'     => 'count',
    'hide_empty' => true,
);

// The Term Query
$term_query = new WP_Term_Query( $args );
echo 'Residential Properties: '. $term->count;
1
DirectWeb

それを推測するのは少し難しいです、あなたは正確に何をしようとしていますが、私は答えてみましょう...

私が最も推測しているのは、ユーザーが特定のプロパティタイプで公開されたプロパティの数を伝えたいということです。

それで最初に - あなたのコードがなぜうまくいかないのか...

get_termは、用語infoを取得し、その中にはユーザーコンテキストはありません。そのため、この用語で公開されているすべての投稿の数を取得します。

WP_Term_Queryはほとんど同じ機能です。そして、 その参照 を見れば、authorパラメータがないことに気付くでしょう。だからそれはまたあなたを助けません。

なぜそうなのですか?

これらの関数は用語情報を取得しており、用語には作者がいません...

それでは、どのように特定のユーザーによって作成された特定の用語の投稿数を取得するには?

最も簡単な方法は、WP_Queryを使用し、そのfound_postsフィールド(現在のクエリパラメータと一致することがわかった投稿の総数を格納する)を使用することです。

$posts = new WP_Query( array(
    'author' => $userID,
    'post_type' => 'property',  // I'm guessing that is your post type
    'tax_query' => array(  // here goes your taxonomy query
        array( 'taxonomy' => 'property_type', 'field' => 'slug', 'terms' => 'residential' ),
    ),
    'fields' => 'ids', // we don't need content of posts
    'posts_per_page' => 1, // We don't need to get these posts 
) );

echo 'Residential Properties: '. $posts->found_posts;
1

参考としてKrzysiekDróżdżに電話をしてください。誰かがこれを必要とするかもしれないので、私はこのコードを共有したいと思います。

$ userID、 'post_type' => 'listings'、 'post_status' => 'published'、 'fields' => 'ids'、 'posts_per_page' => 1、
));

                                echo 'Published Properties: '. $posts->found_posts;
                                ?>`
0
DirectWeb