Como exibir postagens através de termos personalizados de taxonomia usando checkboxs de seleção?

Gostaria de ter um formulário com checkboxs de seleção. Cada checkbox de seleção seria um termo da minha taxonomia “cidades”. A idéia é que se um usuário selecionar qualquer uma das checkboxs de seleção, ele deve mostrar todas as postagens que NÃO ESTÃO em termos marcados.

Se eu tivesse esse código:

$args['tax_query'] = array( array( 'taxonomy' => 'cities', 'terms' => array('Boston', 'Chicago'), 'field' => 'slug', 'operator' => 'NOT IN', ), ); query_posts($args); 

Como posso passar para os termos, mapeie o valor das checkboxs de seleção? Quero dizer, para mudar:

 'terms' => array('Boston', 'Chicago'), 

para:

 'terms' => array(VALUE CHECKBOX 1, VALUE CHECKBOX 2), 

Obrigado.

Solutions Collecting From Web of "Como exibir postagens através de termos personalizados de taxonomia usando checkboxs de seleção?"

Você pode executar uma consulta com um parâmetro tax_query que exclui certos termos de taxonomia. Veja esta resposta .

Quanto a onde executar a consulta, você pode ter um formulário que envia para a página em que está (você precisará localizar um arquivo de modelo apropriado sendo chamado para essa página ou criar um personalizado) e depois, uma vez que a página seja atualizada , processe as inputs do formulário, execute sua consulta e mostre os resultados.

Alternativamente, você pode executar sua consulta no lado do servidor e ligá-la via AJAX. Para obter mais informações sobre isso, você pode começar aqui (fala sobre plugins, mas você realmente não precisa criar um plugin, você sempre pode colocar seu código PHP em functions.php dentro do diretório do tema) ou simplesmente procurar por tutoriais sobre implementação AJAX no WordPress.

EDIT: de acordo com seu comentário, aqui está algum código para obter o valor da checkbox de seleção na página. Não é testado, destinado apenas como um guia. Observe que o formulário se envia a si mesmo, nós conseguimos isso com a colocação do URL da página no parâmetro de action do formulário.

 < ?php $cb_city = ''; if(isset($_POST['city']) && $_POST['city'] != '') { // if form was submitted we can get value $cb_city = $_POST['city']; } ?>