如何链接meta_values以搜索当前元的帖子?
上面的代码,在下拉列表中显示城市meta_key和cpt帖子类型的所有meta_value
<?php if ( have_posts() ) : ?>
//some code for title
<?php
$args = array(
'post_type' => 'cpt',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'city',
);
$dbResult = new WP_Query($args);
echo '<ul class="menu dropdown-menu">';
while ( $dbResult->have_posts() ) : $dbResult->the_post();
$mykey_values = get_post_meta($id, 'city', false);
foreach ( $mykey_values as $key => $value ) {
$by_link = esc_url(add_query_arg(array( 'b' => $value ))); ?>
<li><a href="<?php echo $by_link;?>"> <?php echo $value ?></a></li>
<?php }
endwhile; ?>
<?php wp_reset_query(); ?>
<?php
echo '</ul>'; ?>
</nav>
我的问题是如何获取值和搜索的链接。
所以要获得一个链接,我试过
$by_link = esc_url(add_query_arg(array( 'b' => $value ))); ?>
<li><a href="<?php echo $by_link;?>"> <?php echo $value ?></a></li>
为了搜索我做了另一个循环并尝试获得b值:
<?php
$meta_value = $_GET['b'] != '' ? $_GET['b'] : '';
$args2 = array(
'post_type' => 'cpt',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'city',
'value' => $meta_value,
'compare' => 'LIKE',
),
),
);
$dbResult2 = new WP_Query($args2);
while ( $dbResult2->have_posts() ) : $dbResult2->the_post(); ?>
<?php get_template_part( 'content', get_post_type() ); ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
任何帮助???
答案 0 :(得分:0)
如果我理解你是正确的,那么你想获得每个下拉选项的URL。如果是这样,你可以做这样的事情 -
echo '<ul class="menu dropdown-menu">';
while ( $dbResult->have_posts() ) : $dbResult->the_post();
$mykey_values = get_post_meta($id, 'city', false);
foreach ( $mykey_values as $key => $value ) {
$by_link = esc_url(add_query_arg(array( 'b' => $value ))); ?>
<li data-url="<?php echo $by_link;?>"><?php echo $value ?></li>
<?php }
endwhile;
wp_reset_query();
echo '</ul>';
您可以使用&#39;数据扩展任何元素 - &#39;属性。您可以添加您希望的任何数据属性 - data-bla,data-blabla,data-whatever。
当您需要该数据时,您可以使用jQuery来检索它 -
(function() {
$('.my-menu li').click(function() {
var li_url = $(this).attr('data-url');
// Do something here...
}
}