2017-09-08 1 views
3

Ich habe meine Costom Post Type erstellt, aber ich möchte die Beiträge von der Nummer in Seitenattribute ausgewählt bestellen.Sortieren von benutzerdefinierten Beitragstyp von Seitenattribute in Archivdatei funktioniert nicht

Page Attributes

Die Benutzerdefinierte-post-type.php

function register_post_team() { 
    $labels = array(
    'name'    => __('Zespół', '_tk'), 
    'singular_name'  => __('Zespół', '_tk'), 
    'add_new'   => __('Dodaj nową osobę', '_tk'), 
    'add_new_item'  => __('Dodaj nową osobę', '_tk'), 
    'edit_item'   => __('Edytuj', '_tk'), 
    'new_item'   => __('Nowa', '_tk'), 
    'all_items'   => __('Wszystkie', '_tk'), 
    'view_item'   => __('Zobacz', '_tk'), 
    'search_items'  => __('Szukaj', '_tk'), 
    'not_found'   => __('Nie zneleziono żadnej', '_tk'), 
    'not_found_in_trash' => __('Nie zneleziono żadnej w koszu', '_tk'), 
    'parent_item_colon' => '', 
    'menu_name'   => __('Zespół', '_tk'), 
); 
    $args = array(
    'labels'   => $labels, 
    'hierarchical'  => true, 
    'supports'   => array('title', 'page-attributes', 'revisions', 'thumbnail', 'editor'), 
    'public'   => true, 
    'show_ui'   => true, 
    'show_in_menu'  => true, 
    'show_in_nav_menus' => true, 
    'publicly_queryable' => true, 
    'exclude_from_search' => false, 
    'has_archive'  => true, 
    'rewrite'   => array('slug' => 'zespół','with_front' => false), 
    'menu_position'  => 6, 
    'menu_icon'   => 'dashicons-groups' 
); 
    register_post_type('team', $args); 
} 
add_action('init', 'register_post_team'); 

/* realisation taxonomies */ 
function add_team_category() { 
    $labels = array(
    'name'    => __('Kategorie zespołu', '_tk'), 
    'singular_name'  => __('Kategoria zespołu', '_tk'), 
    'search_items'  => __('Szukaj kategorii', '_tk'), 
    'all_items'   => __('Wszystkie kategorie', '_tk'), 
    'parent_item'  => __('Kategoria nadrzędna', '_tk'), 
    'parent_item_colon' => __('Kategoria nadrzędna:', '_tk'), 
    'edit_item'   => __('Edytuj kategorię', '_tk'), 
    'update_item'  => __('Aktualizuj kategorię', '_tk'), 
    'add_new_item'  => __('Dodaj nową kategorię', '_tk'), 
    'new_item_name'  => __('Nowa kategoria', '_tk'), 
    'menu_name'   => __('Kategorie zespołu', '_tk'), 
); 
    $args = array(
    'labels' => $labels, 
    'hierarchical' => true, 
    'show_ui' => true, 
    'query_var' => true, 
    'rewrite' => array('slug' => 'kategorie-zespołu') 
); 
    register_taxonomy('team_category', 'team', $args); 
} 
add_action('init', 'add_team_category', 0); 

Hier ist mein Archiv-team.php (die Datei, wo ich die Beiträge bestellen möchten)

<?php get_header(); ?> 

    <div class="container main-content"> 
     <?php if (have_posts()) : ?> 
      <?php if (get_field('entry_text_team','option')) { ?> 
       <div class="row text-center entry-text"> 
        <?php the_field('entry_text_team','option'); ?> 
       </div> 
      <?php } ?> 
      <div class="row archive-list"> 
       <?php $del = 100; 
       while (have_posts()) : the_post();?> 


        <?php $personal_img = get_field('personal_img');?> 
        <article id="post-<?php the_ID(); ?>" <?php post_class('archive-item col-sm-24 single-opinion wow fadeInUp'); ?> data-wow-delay="<?php echo $del; ?>ms"> 
         <div class="col-sm-4 personal_img_box"> 
          <div class="personal_img"> 
           <img src="<?php echo $personal_img['url']; ?>" alt=""> 
          </div> 
         </div> 
         <div class="col-sm-20"> 
          <div class="person_name"> 
           <h3> 
            <?php the_title(); ?> 
           </h3> 
          </div> 
          <div class="person_position"> 
           <?php the_field('position');?> 
          </div> 
          <div class="person_description"> 
           <?php the_field('description');?> 
          </div> 
         </div> 
        </article> 

       <?php $del = $del + 150; 
       endwhile; ?> 
      </div> 

      <?php //_tk_content_nav('nav-below'); ?> 
      <?php _tk_pagination(); ?> 

     <?php else : ?> 

      <?php get_template_part('no-results', 'index'); ?> 

     <?php endif; ?> 

     <div class="row text-center"> 
      <a href="http://pokochajlatanie.pro-page.pl/opinie/" class="btn btn-primary">Opinie o nas</a> 
     </div> 
    </div> 

<?php get_footer(); ?> 

Es sieht aus wie selbst Wenn ich irgendeine Bestellnummer in Seitenattributen wähle, sortiert es überhaupt nicht. Ich denke, dass es im Moment die Beiträge nach dem Erstellungsdatum anzeigt.

+1

Ja-Datum in Desc-Reihenfolge ist die Standard-WP-Reihenfolge für jede Abfrage. Sie müssen dieser Abfrage eine benutzerdefinierte Reihenfolge hinzufügen. Lassen Sie mich mit einem Beispiel antworten. – Mohsin

Antwort

2

Sie müssen dies in Ihre functions.php-Datei einfügen, damit es angewendet wird, bevor die Vorlagendatei aufgerufen wird. Die orderby Sie suchen, heißt: Menu_order hier ist Erklärung von codex:

'menu_order' - Sortieren nach Seitenreihenfolge. Wird am häufigsten für Seiten (Feld Reihenfolge im Feld Seitenattribute bearbeiten) und für Anhänge (die Ganzzahlfelder im Dialogfeld Mediengalerie einfügen/hochladen) verwendet, kann jedoch für jeden Posttyp mit eindeutigen menu_order-Werten verwendet werden zu 0). Quelle: https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

Wie Sie diesen Auftrag für TEAM CPT nur zum Archiv anwenden möchten, können Sie wie unter Bedingung hinzufügen, damit es nicht andere Teile der Website wie Blog-Artikel oder Seiten usw. wirkt sich ...

/* Sort team members like page order i.e. the number assigned */ 
function team_custom_post_order_sort($query){ 
    if ($query->is_main_query() && is_post_type_archive('team')){ 
    $query->set('orderby', 'menu_order'); 
    $query->set('order' , 'ASC'); 
    } 
} 
add_action('pre_get_posts' , 'team_custom_post_order_sort'); 

Hinweis: Code ist ungetestet, bitte überprüfen Sie auf localhost, um Tippfehler zu beheben.

+0

Nur fixer Tippfehler im Code. – Mohsin

+0

Ihre Lösung in 100% funktioniert. Vielen Dank. –

+0

Gut zu wissen! :) Glückliche Codierung! – Mohsin

Verwandte Themen