2017-04-22 35 views
0

如何链接meta_values以使用当前元搜索帖子?获取元值的列表和搜索帖子Wordpress

上面的代码,显示在下拉城市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

如果我理解你是正确的,那么你想获得每个下拉选项的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>'; 

你可以用'data-'属性扩展任何元素。您可以添加您希望的任何数据属性 - 数据 - 数据 - 数据 - 数据 - 数据 - 无论如何。

当你需要的数据,你可以使用jQuery检索它 -

(function() { 
    $('.my-menu li').click(function() { 
    var li_url = $(this).attr('data-url'); 
    // Do something here... 
    } 
} 
+0

嗨Netanel,感谢您的回答,但是,当我点击,没有任何反应,仍然简化版,搜索与职位目前meta – Tatiana

+0

我尝试过使用jquery,但有一些错误。页面加载,但仍然无法进行正确的搜索。我猜是var search_val ...这里是代码$('。bairros-menu li')。click(function(){ \t var li_url = $(this).attr('data-url'); (搜索) \t \t var search_val = $(this).find('b')。val(); – Tatiana

相关问题