- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Aiuto su Php limit
-
Ok, se ho capito bene vuoi visualizzare il nome di un'unica categoria?
Se è questo che vuoi ottenere, allora ti basta utilizzare get_the_category_by_ID senza utilizzare l'array di esclusione.
Come descritto su Wordpress.org (http://codex.wordpress.org/Function_Reference/get_the_category_by_ID), per visualizzare una sola categoria puoi utilizzare il seguente codice:
[PHP]
echo get_the_category_by_ID( $cat_ID );
[/PHP]Dove al posto di "$cat_ID" metti l'id della categoria che intendi visualizzare.
-
Grazie giapox, funziona alla grande!!
Ora ho un altro simile problema su questo codice:
[PHP]<?php get_header(); ?>
<div id="bigcolumn">
<?php $cat = get_query_var('cat'); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('showposts=15&paged=' . $paged .'&cat='.$cat); $wp_query->is_archive = true; $wp_query->is_home = false; ?> <?php if (have_posts()) : ?> <div class="page-all"> <div class="page-top"> <div class="containerI"> <div class="sitenav"> <a href="<?php bloginfo('url'); ?>"><?php _e('Home','cmfy'); ?></a> » <?php single_cat_title(); ?> </div> <div class="bigdiv"> <ul class="vidlist"> <?php while (have_posts()) : the_post(); ?> <li id="post-<?php the_ID(); ?>">
<span class="title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php short_title(25); ?></a></span>
<div class="videothumb"><?php show_thumb($comfy['img_videos_w'],$comfy['img_videos_h'],$comfy['crop'],$comfy['cropfrom'],$comfy['quality']); ?><div class="playit"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"></a></div></div>
<div class="clear"></div>
» Genere: <?php
// Definire l'elenco degli ID da escludere
$exclude = Array(28,22218,22291,22289,22292,9292,22296);
$_LIMIT = 0;
foreach((get_the_category()) as $category) {if (!in_array($category->cat_ID, $exclude) && !$_LIMIT > 0) {
echo "<a href='/$category->category_nicename'> $category->cat_name </a>";
$_LIMIT++;
}}
?><?php if(function_exists('the_ratings')) { echo '<span class="videorating">'.__('Rated:','cmfy'); the_ratings(); echo '</span>'; } ?> </li> <?php endwhile; ?> </ul><div class="clear"></div> <!-- Plugin Navigation -->
<?php if(function_exists('wp_page_numbers')) : wp_page_numbers(); endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<!-- End --> </div> </div> </div> </div><!-- bigdiv --> <div class="page-bottom"></div> <?php else : ?> <!-- Not found? --> <div class="page-all"> <div class="page-top"> <div class="containerI"> <div class="sitenav"> <a href="<?php bloginfo('url'); ?>"><?php _e('Home','cmfy'); ?></a> » <?php _e('404 Error','cmfy'); ?> </div> <div class="bigdiv"> <div class="post"> <h2><?php _e('Cannot find the page you are looking for.','cmfy'); ?></h2> <p><?php _e('Use the search form below to find your article or post or browse our latest articles to read something more interesting.','cmfy'); ?></p> <form class="find" method="get" action="<?php bloginfo('url'); ?>/"> <fieldset> <input type="text" value="<?php the_search_query(); ?>" name="s" class="findfield" /> <input type="submit" value="<?php _e('Search','cmfy'); ?>" class="findsubmit" /> </fieldset> </form> <h2><?php _e('Yearly Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=yearly&show_post_count=1'); ?></ul> <h2><?php _e('Monthly Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=monthly&show_post_count=1'); ?></ul> <h2><?php _e('Category Archive','cmfy'); ?></h2> <ul><?php wp_list_cats('sort_column=name&optioncount=1'); ?></ul> <h2><?php _e('Posts Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=postbypost') ?></ul> </div> </div> </div> </div> </div><!-- bigdiv --> <div class="page-bottom"></div>
<?php endif; ?>
<div class="clear"></div>
</div><?php get_sidebar('videos'); ?>
<?php get_footer(); ?>[/PHP]
Quella è la mia pagina categorie, e vorrei prenderne un pezzo e metterlo nella mia home page.
Ho provato a farlo e funziona perfettamente soltanto che, mi mette gli articoli in ordine di caricamento..
Sapresti come posso fare a far sì che, vengano visualizzati gli articoli di una determinata categoria?
-
Per caricare degli articoli di una determinata categoria nella tua home page, si possono usare vari metodi. Visto che il codice che hai postato utilizza query_posts, vediamo di farlo con quella funzione li.
In pratica basta sostituire "get_query_var('cat')" con l'id della categoria che intendi richiamare, in questa parte di codice:
[PHP]$cat = get_query_var('cat');[/PHP]
Non ho avuto il tempo di testare questa soluzione, ma dovrebbe funzionare.
Fammi sapere.
-
Funziona perfettamente, soltanto che ho riscontrato un piccolo problema..
La variabile $cat, la definisco inserendo il numero della categoria come da te suggerito, e funziona soltanto che, i miei widget vengono sballati..
Nel senso: Nella home page ho un certo tipo di widget mentre nelle pagina categorie ne ho altri..
Facendo:
[PHP]$cat = 9292;[/PHP]
nella home page mi vengono visualizzati gli widget che ho nelle pagine categorie.. Per te cosa potrebbe essere?
Il codice che ho aggiunto alla home page è questo:
[PHP]<!-- INIZIO Test -->
<div id="bigcolumn">
<?php $cat = 9292; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('showposts=15&paged=' . $paged .'&cat='.$cat); $wp_query->is_archive = false; $wp_query->is_home = true; ?> <?php if (have_posts()) : ?> <div class="page-all"> <div class="page-top"> <div class="containerI"> <div class="sitenav"> <a href="<?php bloginfo('url'); ?>"><?php _e('Home','cmfy'); ?></a> » <?php single_cat_title(); ?> </div> <div class="bigdiv"> <ul class="vidlist"> <?php while (have_posts()) : the_post(); ?> <li id="post-<?php the_ID(); ?>">
<span class="title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php short_title(25); ?></a></span>
<div class="videothumb"><?php show_thumb($comfy['img_videos_w'],$comfy['img_videos_h'],$comfy['crop'],$comfy['cropfrom'],$comfy['quality']); ?><div class="playit"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"></a></div></div>
<div class="clear"></div>
» Genere: <?php
// Definire l'elenco degli ID da escludere
$exclude = Array(28,22218,22291,22289,22292,9292,22296);
$_LIMIT = 0;
foreach((get_the_category()) as $category) {if (!in_array($category->cat_ID, $exclude) && !$_LIMIT > 0) {
echo "<a href='/$category->category_nicename'> $category->cat_name </a>";
$_LIMIT++;
}}
?><br />
<br />» <i><?php if(function_exists('the_views')) { the_views(); } ?>
<?php _e('times','cmfy'); ?></i><?php if(function_exists('the_ratings')) { echo '<span class="videorating">'.__('Rated:','cmfy'); the_ratings(); echo '</span>'; } ?> </li> <?php endwhile; ?> </ul><div class="clear"></div> <!-- Plugin Navigation -->
<?php if(function_exists('wp_page_numbers')) : wp_page_numbers(); endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<!-- End --> </div> </div> </div> </div><!-- bigdiv --> <div class="page-bottom"></div> <?php else : ?> <!-- Not found? --> <div class="page-all"> <div class="page-top"> <div class="containerI"> <div class="sitenav"> <a href="<?php bloginfo('url'); ?>"><?php _e('Home','cmfy'); ?></a> » <?php _e('404 Error','cmfy'); ?> </div> <div class="bigdiv"> <div class="post"> <h2><?php _e('Cannot find the page you are looking for.','cmfy'); ?></h2> <p><?php _e('Use the search form below to find your article or post or browse our latest articles to read something more interesting.','cmfy'); ?></p> <form class="find" method="get" action="<?php bloginfo('url'); ?>/"> <fieldset> <input type="text" value="<?php the_search_query(); ?>" name="s" class="findfield" /> <input type="submit" value="<?php _e('Search','cmfy'); ?>" class="findsubmit" /> </fieldset> </form> <h2><?php _e('Yearly Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=yearly&show_post_count=1'); ?></ul> <h2><?php _e('Monthly Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=monthly&show_post_count=1'); ?></ul> <h2><?php _e('Category Archive','cmfy'); ?></h2> <ul><?php wp_list_cats('sort_column=name&optioncount=1'); ?></ul> <h2><?php _e('Posts Archive','cmfy'); ?></h2> <ul><?php wp_get_archives('type=postbypost') ?></ul> </div> </div> </div> </div> </div><!-- bigdiv --> <div class="page-bottom"></div>
<?php endif; ?>
<div class="clear"></div>
</div><!-- FINE Test -->[/PHP]
-
Credo che dipenda dal fatto che la query, dopo averla utilizzata per richiamare una singola categoria, vada resettata.
Prova ad inserire questo codice dopo aver inserito il richiamo di cui sopra:
[PHP]// Reset Query
wp_reset_query();[/PHP]Per approfondimenti sull'utilizzo di query_posts ti rimando alla pagina dedicata su wordpress.org (studiare non fa mai male): http://codex.wordpress.org/Function_Reference/query_posts
-
Complimenti e grazie giapox, funziona alla grande!
Sono agli inizi con wordpress, php, css... se quella pagina non fosse stata in inglese ci avrei fatto un pensierino, ma comunque resta sempre utile.
Grazie ancora, mi hai tolto un grosso peso!
-
Ottimo, son felice di essere riuscito a darti una mano.
Per il discorso della pagina in inglese, puoi sempre usare Google Translate.
-
Seguendo quella guida, e il readme.txt del mio plugin "Post Views" sono riuscito a ordinare gli articoli in ordine dal più visto..
Grazie ancora del supporto
-
Ciao giapox, ho un altro piccolo problemino.. sono riuscito ad ordinare i miei articoli in base alle visualizzazione però ora non riesco in alcun modo ad ordinarli in un altro metodo:
Su ogni articolo utilizzo i campi personalizzati ed ad ogni articolo assegno una data tramite la funzione che ho creato: data_personale.
Quindi su ogni articolo definisco data_personale con questo formato: 08/03/2012.
E' possibile fare in modo che la "query_posts" mi ordini gli articoli in base alla data che definisco io?
-
Il comando per ordinare gli articoli è il seguente:
'orderby=date'
In questo esempio gli articoli vengono ordinati per titolo.
Sinceramente non so se puoi ordinarli in base alla data definita da te.Puoi provare in questo modo, ma non so se funziona:
query_posts('showposts=15&paged=' . $paged .'&cat='.$cat.'orderby=data_personale');