2016-05-04 7 views
0

Gibt es eine intelligente Möglichkeit, ein Array durch die ACF Radio Button Werte zu bestellen? Ich habe eine Top-Page-Vorlage und einige untergeordnete Seiten mit benutzerdefinierten Feldern.Erweiterte benutzerdefinierte Felder orderby Radiobutton Wert

In der oberen Seite ich einige Werte aus den untergeordneten Seiten angezeigt werden soll: Seitentitel und einige Werte aus den untergeordneten Seiten ACF Felder Und ich will endlich das Array durch die ACF Optionsfeld Werte bestellen.

Die Optionsfeld Werte ist:

one : A 
two : B 
three : C 
four : D 
five : E 

Das Feld ist vorgeschrieben also nicht testen muss ich, um zu sehen, ob es ein Wert ist.

 <section id="info-box"> 

      <?php 
      if(function_exists('get_field')){ 

      $query = new WP_Query('pagename=top-page'); 
      $services_id = $query->queried_object->ID; 

      wp_reset_postdata(); //* Restore original Post Data *// 

       $args = array(
       'posts_per_page' => -1, 
       'post_type' => 'page', 
       'post_parent' => $services_id, 
       'orderby' => '', // radio button value // 
       'order' => 'ASC' 
       ); 

       $services_query = new WP_Query($args); 

        // The Loop 
        if ($services_query->have_posts()) { 

         echo '<ul class="info-box-list">'; 
          while ($services_query->have_posts()) { 
          $services_query->the_post(); 

          echo '<li class="list-item">'; 

           echo '<div class="list-item-box">'; 

           echo '<a href="' . get_permalink() . '" figure class="link-box-image">'; 
           the_field('image'); 
           echo '</figure>'; 
           echo '</a>'; 

           echo get_the_title(); 
           the_field('sub-title'); 

           echo '</div>'; 
          echo '</li>'; 
          } 
         echo '</ul>'; 
        } 

      /* Restore original Post Data */ 
      wp_reset_postdata(); 
      } 
     ?> 
     </section> 

Gerade jetzt bin ich irgendwie nur die Felder auf der oberen Seite Dumping, bis ich herausfinden kann, ob es eine intelligente Art und Weise ist die Liste mit dem Optionsfeld Wert zu bestellen, ist die ACF Dokumentation nicht so gut auf den Radioknöpfen Funktionalität.

Antwort

1

Was Sie brauchen order by a custom field, aber vorsichtig sein, da Ihre Radioknopf Werte (eins, zwei, drei ...) real Ordnung ist:

  1. fünf
  2. vier
  3. ein
  4. drei
  5. zwei

(das ist es: alphabetisch) Also, wenn Sie von Zahlen bestellen möchten, sollten Sie besser stellen Sie Ihren Radiobutton Werte wie:

1 : A 
2 : B 
3 : C 
4 : D 
5 : E 

Danach sollten Sie Ihre WP_Query des $args Array auf diese Weise festgelegt:

$args = array(
    'posts_per_page' => -1, 
    'post_type'  => 'page', 
    'post_parent' => $services_id, 
    'orderby'  => 'meta_value_num', 
    'meta_key'  => 'YOUR_RADIO_BTN_FIELD_NAME', 
    'order'   => 'ASC' 
); 

Diese den Trick tun sollten:)

+0

Arbeitete wie ein Charme, danke ein Haufen! –

+0

Dies funktioniert nicht für mich, da es eine kompliziertere Abfrage ist. Kannst du mir bitte helfen? [hier] (http://stackoverflow.com/questions/42371746/is-it-possible-to-query-posts-in-the-some-order-as-assigned) –