Wie man Ergebnisse nach Datum und Metaschlüssel sortiert?

Ich verwende wp-Postratings , um Beiträge zu bewerten, die die Bewertung als benutzerdefinierten Meta-Wert ratings_score . Es gibt Ihnen die Möglichkeit, r_sortby zu verwenden, um die Schleife nach dem höchsten r_sortby zu r_sortby , aber ich möchte ein Trend-Feeling geben, indem Sie die $ ratings_score “dividieren, wie alt der Beitrag in Tagen ist. So etwas wie das ..

 $ratings_score = get_post_meta($post->ID,'ratings_score',true); orderby = $ratings_score / days ago 

Wie kann ich das erreichen?

Solutions Collecting From Web of "Wie man Ergebnisse nach Datum und Metaschlüssel sortiert?"

Sie können dies tun, indem Sie nach einem berechneten Faktor sortieren. Die Aufteilung der Bewertung nach Tagen ergibt einen guten Ausgangspunkt:

 rating/days = factor (eg 15/6 = 2.5 or 11/3 = 3.6) 

Sie können dies auf Ihre Bedürfnisse abstimmen, indem Sie die Variablen (Rating und Tag) mit einem beliebigen Faktor multiplizieren.

Es gibt Möglichkeiten, einen solchen Faktor zu implementieren:

  1. Verwenden Sie wp-crons, um den Faktor für jeden Post stündlich zu aktualisieren und den Wert als postmeta zu speichern. So können Sie einfach eine WP_Query verwenden und die Posts nach dem Metawert sortieren.
  2. Berechnen Sie den Faktor direkt in Ihrer Post-Schleife
 $args = array( 'post_type' => 'product', 'numberposts' => -1, 'orderby' => 'meta_value_num', 'order' => get_query_var('order'), 'meta_key' => '_price' ); $lastposts = get_posts( $args );