質問1番
メタキーの値がカテゴリー名と異なる記事だけを表示したいのですが、うまくいきません。メタの値は一つで、記事はそれぞれ複数のカテゴリーに属しています。
下記では初めにカテゴリー名を抽出して、meta query内でメタの値と比較しようとしていますが、記事一つ分のカテゴリー名しか抽出していないようです。
<?php $cats = get_the_category(); foreach($cats as $cat){ $category_name = $cat->cat_name; } ?> <?php $args = array( 'posts_per_page' => -1, 'post_type' => 'post', 'post_status' => 'publish', 'meta_query' => array( 'key'=> '1bb1', 'value' => $category_name, 'compare'=>'NOT LIKE', ), );?>
質問2番
ご助言いただき、下記のコードで本来の目的だった記事数のカウントがほとんどの場合でできるようになりました
<?php $cats = get_the_category(); $category_name=array(); foreach($cats as $cat){ $category_name[] = $cat->cat_name; } ?> <?php $args = array( 'posts_per_page' => -1, 'post_type' => 'post', 'post_status' => 'publish', 'meta_query' => array( 'key'=> '1bb1', 'value' => $category_name, 'compare'=>'NOT IN', ), ); $query_into = new WP_Query($args); $number_of_into = $query_into->found_posts; ?>
カウントがうまくいかない(meta queryできていない)ときがあります。
たとえば下記のような5記事では、カウント数は5記事となってほしいのですが、1記事という結果になります
記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「こぶた」
記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「こぶた」
記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「こぶた」
下記の場合はカウント数は4記事となってほしいのですが、ゼロという結果になります
記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「こぶた」
記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「こぶた」
記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「こぶた」
記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「こぶた」
下記の場合は、正しくカウントされ、記事数は5となります
記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「きつね」
記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「たぬき」
記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「わんこ」
記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「たぬき」
上記を少しかえて、「きつね」を「こぶた」に変えると、カウント数は5のままであってほしいのですが、4となります
記事1 所属カテゴリー「こぶた、動物」 メタキー1bb1の値「たぬき」
記事2 所属カテゴリー「たぬき、動物」 メタキー1bb1の値「こぶた」
記事3 所属カテゴリー「きつね、動物」 メタキー1bb1の値「たぬき」
記事4 所属カテゴリー「にゃん、動物」 メタキー1bb1の値「わんこ」
記事5 所属カテゴリー「わんこ、動物」 メタキー1bb1の値「たぬき」
上記のような検証を繰り返した結果、メタキー1bb1の値が「こぶた」のときだけ、所属カテゴリー名とメタキー1bb1の値が異なっていても、カウントされない(meta queryできていない)ことがわかりました
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/21 07:57 編集
2021/04/21 06:29
2021/04/21 08:03
2021/04/21 11:52
2021/04/21 15:40
2021/04/22 04:39
2021/04/22 07:01