it-swarm-eu.dev

Filtr archive.php podle vlastní meta

Snažím se filtrovat archivní stránku pomocí vlastního meta dotazu.

Zkoušel jsem použít query_posts($args) před smyčkou, ale nic nevrátí. Nějaké nápady?

Tady je to, co mám zatím:

<?php 
        //$wolfName = $_GET['wolfName'];
        $archiveArgs = array(
                        'meta_key'  => 'wolf',
                        'meta_value'    => 'boltz'
                        );
        query_posts($archiveArgs);
        ?>
        <?php if (have_posts()) : ?>

Vrací žádné příspěvky ... žádné nápady?

3
Troy

Použijte pre_get_posts akční hák

function archive_meta_query( $query ) {
    if ( $query->is_archive){
      $query->query_vars["meta_key"] = 'wolf';
      $query->query_vars["meta_value"] = 'boltz';
    }
}
add_action( 'pre_get_posts', 'archive_meta_query', 1 );
7
Strik3r

díky za Váš kód Strik3r .. to mi hodně pomohlo .. Konečně jsem se dostal do třídění podle vlastního pole do práce ... v functions.php

function sort_meta_query( $query ) {
 if ( $query->is_archive || $query->is_category || $query->is_home ){
  $query->query_vars["meta_key"] = 'fastest_speed_experienced';
  $query->query_vars["orderby"] = 'meta_value_num';
 }
}
  add_action( 'pre_get_posts', 'sort_meta_query', 1 );
0
user2671457