2016-04-04 4 views
0

Я не знаю, что я здесь делаю неправильно.Количество сообщений на основе поля пользовательского поля - wordpress

CMS = Wordpress

У меня есть пользовательский тип записи с 1 пользовательских выберите поле имени типа

таможенный пост является loford

Мета ключ ptb_select_1

и есть 4 мета значения

  • select_1
  • select_2
  • select_3
  • select_4

Мне нужно создать шорткод, которая подсчитывает, сколько сообщений имеют выберите значение поля «select_1

Вот мой код, и она работает, если я исключить meta_value ,,, но независимо от того, как сильно я стараюсь, я просто не могу не получить его, чтобы рассчитывать на основе выбора значения поля

function counting_shortcode($atts){ 
    ob_start(); 

    $args = array(
    'post_type'  => 'loford', 
    'meta_key'  => 'ptb_select_1', 
    'meta_value' => 'select_1' 
); 


     // query 
    $the_query = new WP_Query($args); 

    // counting the query 
    echo $the_query->found_posts; 

    $output = ob_get_clean(); 
    return $output; 
} 
add_shortcode('test3', 'counting_shortcode'); 

для TES тины цель, я создал текстовое поле и работает ..

Только не поле выбора

Может кто-нибудь помочь, пожалуйста.

Благодаря

ответ

0

Вы можете сделать таким образом

function count_post(){ ?> 

    //get value of droup down by javasctipt and pass it into post arg 

<select name="select_f" id="select_val" onchange="valueselect(this.value);"> 
     <option value="">select</option> 
     <option value="select_1">select_1</option> 
     <option value="select_2">select_2</option> 
     <option value="select_3">select_3</option> 
     <option value="select_4">select_4</option> 
</select> 

    <script type="text/javascript"> 
    function valueselect(){ 
     var i = document.getElementById('select_val'); 
     var p = i.options[i.selectedIndex].value; 
     location.href="?p="+p; 
    } 
    </script> 

    <?php 
     $post_array = array('post_type'=>'post', 'posts_per_page'=>-1,'meta_key'=>'ptb_select_1','meta_value'=>$_REQUEST['p']); 
     $cust_posts = new wp_query($post_array); 
     echo "count post-> ".$cust_posts->found_posts; 
    ?> 
    <?php 
    $output = ob_get_clean(); 
    return $output; 
} 

add_shortcode('get_count', 'count_post'); 
Смежные вопросы