2014-09-02 2 views
0

Я ищу, чтобы получить «get_post_meta» из типа сообщения, который отличается от отображаемого сообщения? вот мой код, но это отображение post_meta всех сообщений в типе сообщения! Я думаю, что это может сравниться с сообщениями, у которых одинаковый слизень (post_name), но я не знаю, как это сделать!Получите post_meta одного типа сообщения, который отличается от отображаемого сообщения

<?php $sectionscontact = new WP_query(array('post_type' => 'sections-contact', 'post_count'=>1));if ($sectionscontact->have_posts()): while ($sectionscontact->have_posts()) : $sectionscontact->the_post(); $telephone_meta_empty = get_post_meta(451,'telephone', true); 
     if (! empty ($telephone_meta_empty)) { ?> 
      <div class="tp_titre_bloc" style="border-right:1px solid #999999;"> Téléphone</div> 
        <div class="tp_content_bloc"> 
           <?php echo get_post_meta(get_the_ID(), 'telephone', true); ?> 
       </div> 
    <?php } ?> 

ответ

0

То, что я здесь сделал, это привести его в порядок.
Кроме того, он отображает post_meta для всего, что находится в этом типе сообщений, потому что вы используете post_count, а не posts_per_page, что является правильным термином для отображения определенного количества сообщений в одном запросе.

Таким образом, вместо этого:

<?php 
    $sectionscontact = new WP_query(array(
    'post_type' => 'sections-contact', 
    'post_count' => 1 
    )); 

    if ($sectionscontact->have_posts()): 
    while ($sectionscontact->have_posts()) : 
    $sectionscontact->the_post(); 

    $telephone_meta_empty = get_post_meta(451,'telephone', true); 
    if (! empty ($telephone_meta_empty)) { ?> 
    <div class="tp_titre_bloc" style="border-right:1px solid #999999;">Téléphone</div> 
    <div class="tp_content_bloc"> 
    <?php echo get_post_meta(get_the_id(), 'telephone', true); ?> 
    </div> 
<?php } ?> 

Вы хотите:

<?php 
    $sectionscontact = new WP_query(array(
    'post_type' => 'sections-contact', 
    'posts_per_page' => 1 //changed post_count to posts_per_page 
    )); 

    if ($sectionscontact->have_posts()): 
    while ($sectionscontact->have_posts()) : 
    $sectionscontact->the_post(); 

    $telephone_meta_empty = get_post_meta(451,'telephone', true); 
    if (! empty ($telephone_meta_empty)) { ?> 
    <div class="tp_titre_bloc" style="border-right:1px solid #999999;">Téléphone</div> 
    <div class="tp_content_bloc"> 
    <?php echo get_post_meta($post->ID, 'telephone', true); // changed get_the_id() to $post->ID?> 
    </div> 
<?php } ?> 

Позвольте мне знать, если это помогает.

Более подробная информация о WP_Query: http://codex.wordpress.org/Class_Reference/WP_Query

Спасибо.

Смежные вопросы