我試着上面的幾個例子,他們沒有按照我想要的方式工作。所以我繞了一圈,做了一些調查,這是我如何爲我工作。
在我的特殊情況下,我需要獲取特定帖子的所有類別ID,然後將該變量返回到WP_Query參數數組中。
首先,你需要抓住後條款
$terms = get_the_terms($post->ID, 'category');
接下來你要初始化你希望以後使用的變量:
$cat_terms = array();
接下來,您將聲明foreach以獲得每個單獨的術語ID
foreach ($terms as $term) {
$cat_terms[] = $term->term_id;
}
現在讓我們假設您要使用返回一個逗號分開d這個$ cat_terms變量的列表。我們將使用「加入」功能
$comma_separated_terms = join(", ", $cat_terms);
現在,假設你想要說「category__in」參數來使用這個變量來投入你WP_Query循環。我們將使用'array_values'。
$values = array_values($cat_terms);
關於這樣做的好處是,現在我們可以將這個$值變量到WP_Query參數:
<?php global $post;
$query = new WP_Query(array(
'post_type' => 'post_type_name',
'category__in' => $values));
?>
在我的特殊情況下,客戶想一些自定義文章類型在側邊欄顯示基於博客帖子類別。因此,我需要獲取所有博客帖子條款,並將其與自定義帖子類型類別的條款進行匹配。
最終代碼看起來是這樣的:
<?php
$terms = get_the_terms($post->ID, 'category');
$cat_terms = array();
foreach ($terms as $term) {
$cat_terms[] = $term->term_id;
}
$values = array_values($cat_terms);
?>
<h3><?php echo $title; ?></h3>
<?php global $post;
$query = new WP_Query(array(
'post_type' => 'custom_post_type',
'category__in' => $values));
if ($query->have_posts()) : ?>
<?php while ($query->have_posts()) : $query->the_post(); ?>
// Code for loop goes here
<?php endwhile; endif; ?>
<?php wp_reset_postdata(); ?>
要麼使$ checkmissing陣列,或使用$ checkmissing = $ postterms [0];將每個postterms值連接到字符串...或$ checkmissing。=','。 $ postterms [0];如果你想逗號分隔的字符串 – 2012-01-07 10:57:15