Forms 在post数组中存储术语并在表单提交时返回相应的post

Forms 在post数组中存储术语并在表单提交时返回相应的post,forms,wordpress,custom-post-type,custom-taxonomy,Forms,Wordpress,Custom Post Type,Custom Taxonomy,我有一个带有复选框的分类术语列表,这些复选框以数组形式发布在表单提交到名为post list的页面模板中。我在这里的目标是列出带有复选框的分类术语,然后在表单提交时,显示相应的帖子,这些帖子分配了选中的术语,例如 <?php $terms = get_terms("the_taxonomy"); $count = count($terms); if ( $count > 0 ){?> ?> <form action="<?php echo esc_url(

我有一个带有复选框的分类术语列表,这些复选框以数组形式发布在表单提交到名为post list的页面模板中。我在这里的目标是列出带有复选框的分类术语,然后在表单提交时,显示相应的帖子,这些帖子分配了选中的术语,例如

<?php
$terms = get_terms("the_taxonomy");
$count = count($terms);
if ( $count > 0 ){?>
?>

<form action="<?php echo esc_url( get_permalink( get_page_by_title( 'Post List' ) ) ); ?>" method="post">

 <?php foreach ( $terms as $term ) {?>

 <input type="checkbox" name="terms[]" value="<?php echo $term->name ?>" /><?php echo $term->       
 name ?> <br />

 <?php }?>

 <input type="submit" value="Submit" />
</form>

?>

阅读斯蒂维奥在这个链接中的问题行

$term = get_term_by('slug','helen', 'post_tag');
所以你们需要传递逗号分隔的术语,就像你们在帖子列表模板上得到的一样。您可以使用内爆函数获得逗号分隔的列表,如下所示

$var = "'".implode("','",$_POST['terms'])."'";
echo $var; //OUTPUT - 'term1','term2','term3','term4' 
$var = "'".implode("','",$_POST['terms'])."'";
echo $var; //OUTPUT - 'term1','term2','term3','term4'