Domanda

Ho un bisogno di personalizzare alcuni post dal loop.
Ecco il punto: Il mio sito è impostato a 10 messaggi per pagina. Sul post # 2, # 5, # 7 (in ogni pagina), voglio visualizzare elementi specifici. Qual è la soluzione migliore per questo tipo di problema?

È stato utile?

Soluzione

Questo dovrebbe farlo:

$real_current_post = $wp_query->current_post + 1;
switch( $real_current_post ){
  case 2:
    // Do something for 2
    break;
  case 5:
    // Do something for 5
    break;
  case 7:
    // Do something for 7
    break;
}

Potrebbe essere necessario globalizzare $ WP_Query, ma fino a quando si sta utilizzando la gerarchia modello normale, dovrebbe già essere nella portata. Se fate uso global $wp_query;, usarlo prima dell'inizio del ciclo.

Altri suggerimenti

Un modo di gestire questo è quello di utilizzare le classi pseudo CSS. Sul lato più ti impedisce di prendere decisioni cablati nel codice ciclo, sul lato verso il basso che non funzionerà nel browser più vecchi / rotti, vale a dire. MSIE 6.

div # contenuto div.post:nth-child(2), div # content div.post:nth-child(5), div # contenuto div.post:nth-child(7) { background-color: # FF0; }

Se ti piace questo approccio, ma deve di lavoro in tutti i browser, allora si può fare quanto sopra in jQuery. Anche se cerco di fare grandi elementi di design degradano con grazia quando si tratta di dinosauri come IE6, ho smesso di ristorazione ad esso per cose come questa. La maggior parte dei suoi utenti sono o LAN interna aziendale o sono gravemente in ritardo gli utenti finali, nessuno dei quali sono nei nostri principali dati demografici.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top