Usando WP_Query per interrogare più categorie con post limitati per categoria?
-
-
Come vuoi che vengano ordinati?How do you want them to be ordered?
- 0
- 2010-08-25
- MikeSchinkel
-
pubblicato di recente .. quindipiù recenti 5 di categoria A,materialepiù recente di categoria Becc ..recently published.. so most recent 5 of category A, most recent stuff of Category B etc..
- 0
- 2010-08-25
- Amit
-
Vabene,vedi lamia risposta di seguitoOkay, see my answer below
- 0
- 2010-08-25
- MikeSchinkel
-
2 risposta
- voti
-
- 2010-08-25
WP_Query()
non supporta qualcosa come First X For Each Cat .Invece diWP_Query()
puoi usareget_posts()
su ciascuna delletue categorie,per così diretre volte:<?php $posts = array(): $categories = array(2,4,8); foreach($categories as $cat) { $posts[] = get_posts('numberposts=5&offset=1&category='.$cat); } ?>
$posts
ora contienei primi cinquepostper ogni categoria.WP_Query()
does not support something like First X For Each Cat. Instead ofWP_Query()
you can useget_posts()
on each of your categories, so to say three times:<?php $posts = array(): $categories = array(2,4,8); foreach($categories as $cat) { $posts[] = get_posts('numberposts=5&offset=1&category='.$cat); } ?>
$posts
now contains the first five posts for each category.-
non sono 3 colpi al db?Volevo sapere sepuoifarloin 1 colpoperché hopensato chefossepiùefficiente.isn't that 3 hits to the db? I wanted to know if you can do it in 1 hit cause I thought it's more efficient.
- 0
- 2010-08-25
- Amit
-
beh è a questo che serveil db,giusto?interrogarei dati daesso.il db èfattoper queste cose.probabilmente èpiù veloce quindieseguire una query SQL complicata che stai chiedendo.non averpaura di usare la roba.se danneggiailtuo sito,segnalalo qui.well that's what the db is for, right? query the data from it. the db is made for such stuff. it probably is faster then running a complicated sql query you're asking for. don't fear to use the stuff. if it breaks your site, report it here.
- 0
- 2010-08-25
- hakre
-
mm .. capito,non somolto sull'efficienza diphp/mysql/db (vorrei leggere dipiù),ero sicuro chemeno hitfossemeglioe quindi analizzoil risultato da solo.mm.. got it, I don't know much about php/mysql/db efficiency (would like to read more), was sure less hits is better and then parse the result myself.
- 0
- 2010-08-25
- Amit
-
beh,è vero,generalmentepiù èpiùe meno èmeno.Maprimaprovae prova.Più "cattivo" èiltuo software,maggiore èilpotenziale di ottimizzazione.Quindi èmeglioimpararefacendo,perché allafine scriverai softwaremigliorepiù velocementee scriverai softwarepiù veloce.well, true, generally more is more and less is less. But try and test first. The "badier" your software is, the more potential it has for optimization. So better learn by doing, because in the end you will write better software faster and better write faster software.
- 1
- 2010-08-25
- hakre
-
- 2010-08-25
Non conosco unmodoper ottenerei primi cinquepostper ciascuna delle categoriein una singola query.Se hai solo 45post,quindipremere una voltail databasee ottenerei tuoi cinquepostper ciascuna categoria èprobabilmente l'approcciopiùefficiente.Colpireil databasetre voltee combinarei risultatinon è unabrutta cosa.
I don't know of a way to get the first five posts for each of the categories in a single query. If you're ever going to only have 45 posts, then hitting the database once and getting your five posts for each category is probably the most efficient approach. Hitting the database three times and combining the results isn't a bad thing though.
Ho 3 categorie con ogni 15post,vogliofare UNA query al dbportando solo 5primipostper ogni categoria,comepossofarlo?
Nel casoin cuinon siapossibile,cosa èpiùefficiente,otteneretuttii postper la categoriaprincipalee scorrerli o creare 3 query diverse?