Como mostrar diferentes categoria en la principal?

Estado
No está abierto para más respuestas.

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
Saludos! :D

Tengo un themes, que en la principal muestra todos los post segun vas agregando, pero quiero mostrar dos o tres categorias diferente ya que es para XXX.

Claro, que por categoria me muestre 5 o 6 post.

Como puedo hacerlo?
En google no encuentro nada ni algun plugin.
 
Mensajes
202
Puntuación de reacción
0
Tendrias que editar la paginas principal, seria el archivo Index, buscar el punto q sea el q muestre los post y poner las categorias que desees, claro pueden haber plugins, o hasta el la config del mismo teme q te de esa opcion


saludos
 

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
Tendrias que editar la paginas principal, seria el archivo Index, buscar el punto q sea el q muestre los post y poner las categorias que desees, claro pueden haber plugins, o hasta el la config del mismo teme q te de esa opcion


saludos

El config no me lo da, quisiera saber si habria algun codigo que se agregue.
 
Mensajes
202
Puntuación de reacción
0
Mira el codigo de la plantilla y busca donde esta mostrando solo lo ultimo posteado..
@Ramnsx



Seria algo como asi

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'audio'=> 'categoria1,categoria2,categoria3',
'posts_per_page' => 10,
'paged' => $paged,
);
?>
 
Mensajes
202
Puntuación de reacción
0
Si la plantilla es Gratuita pasamela por MP y te miro haber si logro hacer lo q deseas, si no es gratuita pasame el index para revisar si tiene lo q digo .

claro esta si deseas
@Ramnsx
 

jonay

Cobre
Usuario de Bronce
Mensajes
357
Puntuación de reacción
2
Si lo que quieres es mostrar solo posts de una o dos categorias en la página de inicio (que es lo que entendí). Edita el front-page.php de tu theme (si no existe, edita el index.php).

Busca lo siguiente:

Código:
while ( have_posts() ) : the_post();

y encima de el while pon esto otro:

Código:
if(is_front_page()){
global $query_string;
query_posts($query_string.'&cat=1,2,3,4,5');
}

Reemplaza el 1,2,3,4,5 por el ID de las categorias separandolas por comas. (Aviso: asegurate de que el theme no disponga aún de un query_posts, si ya existe uno tendrías que añadir solamente &cat=1,2,3,4,5 al existente.)

¿Como saber el ID de una categoria?

Edita la categoria por wp-admin y en la url de editar categoria saldrá algo como esto:

Código:
edit-tags.php?action=edit&taxonomy=category&tag_ID=2&post_type=post

donde pone tag_ID= ahí lo tienes.

:mola:
 
Última edición:

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
Si lo que quieres es mostrar solo posts de una o dos categorias en la página de inicio (que es lo que entendí). Edita el front-page.php de tu theme (si no existe, edita el index.php).

Busca lo siguiente:

Código:
while ( have_posts() ) : the_post();

y encima de el while pon esto otro:

Código:
if(is_front_page()){
global $query_string;
query_posts($query_string.'&cat=1,2,3,4,5');
}

Reemplaza el 1,2,3,4,5 por el ID de las categorias separandolas por comas. (Aviso: asegurate de que el theme no disponga aún de un query_posts, si ya existe uno tendrías que añadir solamente &cat=1,2,3,4,5 al existente.)

¿Como saber el ID de una categoria?

Edita la categoria por wp-admin y en la url de editar categoria saldrá algo como esto:

Código:
edit-tags.php?action=edit&taxonomy=category&tag_ID=2&post_type=post

donde pone tag_ID= ahí lo tienes.

:mola:

Muchas gracias, voy a probarlo ahora, en unos minutos te cuento.

- - - Actualización- - -

@jonay
Mi Index.php no tiene nada de lo que me mencionas, aqui te dejo el contenido del Index.php

Código:
<?php $options = get_option('portal'); ?>
<?php get_header(); ?>
<div id="page">
	<div class="content">


		<article class="article">
			<div id="content_box">
				<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>">					
						<header>
							<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
								<?php if ( has_post_thumbnail() ) { ?> 
									<?php echo '<div class="featured-thumbnail">'; the_post_thumbnail('homepage',array('title' => '')); echo '</div>'; ?>
								<?php } else { ?>
									<div class="featured-thumbnail">
										<img width="200" height="110" src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
									</div>
								<?php } ?>
							</a>
							<h2 class="title">
								<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
							</h2>
						</header><!--.header-->
						<div class="post-content image-caption-format-1">
							<?php echo excerpt(15);?>
						</div>
						<div class="readMore"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php _e('Read More','mythemeshop'); ?></a></div>
					</div><!--.post excerpt-->
				<?php endwhile; else: ?>
					<div class="post excerpt">
						<div class="no-results">
							<p><strong><?php _e('There has been an error.', 'mythemeshop'); ?></strong></p>
							<p><?php _e('We apologize for any inconvenience, please hit back on your browser or use the search form below.', 'mythemeshop'); ?></p>
							<?php get_search_form(); ?>
						</div><!--noResults-->
					</div>
				<?php endif; ?>
				<?php if ($options['mts_pagenavigation'] == '1') { ?>
					<?php pagination($additional_loop->max_num_pages);?>
				<?php } else { ?>
					<div class="pnavigation2">
						<div class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></div>
						<div class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></div>
					</div>
				<?php } ?>
			</div>
		</article>
		<?php get_sidebar(); ?>
<?php get_footer(); ?>
 

jonay

Cobre
Usuario de Bronce
Mensajes
357
Puntuación de reacción
2
Muchas gracias, voy a probarlo ahora, en unos minutos te cuento.

- - - Actualización- - -

@jonay
Mi Index.php no tiene nada de lo que me mencionas, aqui te dejo el contenido del Index.php

Código:
<?php $options = get_option('portal'); ?>
<?php get_header(); ?>
<div id="page">
	<div class="content">


		<article class="article">
			<div id="content_box">
				<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>">					
						<header>
							<a rel="nofollow" href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
								<?php if ( has_post_thumbnail() ) { ?> 
									<?php echo '<div class="featured-thumbnail">'; the_post_thumbnail('homepage',array('title' => '')); echo '</div>'; ?>
								<?php } else { ?>
									<div class="featured-thumbnail">
										<img width="200" height="110" src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
									</div>
								<?php } ?>
							</a>
							<h2 class="title">
								<a rel="nofollow" href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
							</h2>
						</header><!--.header-->
						<div class="post-content image-caption-format-1">
							<?php echo excerpt(15);?>
						</div>
						<div class="readMore"><a rel="nofollow" href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php _e('Read More','mythemeshop'); ?></a></div>
					</div><!--.post excerpt-->
				<?php endwhile; else: ?>
					<div class="post excerpt">
						<div class="no-results">
							<p><strong><?php _e('There has been an error.', 'mythemeshop'); ?></strong></p>
							<p><?php _e('We apologize for any inconvenience, please hit back on your browser or use the search form below.', 'mythemeshop'); ?></p>
							<?php get_search_form(); ?>
						</div><!--noResults-->
					</div>
				<?php endif; ?>
				<?php if ($options['mts_pagenavigation'] == '1') { ?>
					<?php pagination($additional_loop->max_num_pages);?>
				<?php } else { ?>
					<div class="pnavigation2">
						<div class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></div>
						<div class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></div>
					</div>
				<?php } ?>
			</div>
		</article>
		<?php get_sidebar(); ?>
<?php get_footer(); ?>

si te fijas, lo tienes aquí:

Código:
				<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

te dejo el código de tu theme con los cambios ya realizados

Código:
<?php $options = get_option('portal'); ?>
<?php get_header(); ?>
<div id="page">
	<div class="content">


		<article class="article">
			<div id="content_box">
				<?php 
				if (have_posts()) :
				if(is_home() or is_front_page()){
					global $query_string;
					query_posts($query_string.'&cat=1,2,3,4,5');
				}
				while (have_posts()) : the_post();
				?>
<div class="post excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>">					
						<header>
							<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
								<?php if ( has_post_thumbnail() ) { ?> 
									<?php echo '<div class="featured-thumbnail">'; the_post_thumbnail('homepage',array('title' => '')); echo '</div>'; ?>
								<?php } else { ?>
									<div class="featured-thumbnail">
										<img width="200" height="110" src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
									</div>
								<?php } ?>
							</a>
							<h2 class="title">
								<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
							</h2>
						</header><!--.header-->
						<div class="post-content image-caption-format-1">
							<?php echo excerpt(15);?>
						</div>
						<div class="readMore"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php _e('Read More','mythemeshop'); ?></a></div>
					</div><!--.post excerpt-->
				<?php endwhile; else: ?>
					<div class="post excerpt">
						<div class="no-results">
							<p><strong><?php _e('There has been an error.', 'mythemeshop'); ?></strong></p>
							<p><?php _e('We apologize for any inconvenience, please hit back on your browser or use the search form below.', 'mythemeshop'); ?></p>
							<?php get_search_form(); ?>
						</div><!--noResults-->
					</div>
				<?php endif; ?>
				<?php if ($options['mts_pagenavigation'] == '1') { ?>
					<?php pagination($additional_loop->max_num_pages);?>
				<?php } else { ?>
					<div class="pnavigation2">
						<div class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></div>
						<div class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></div>
					</div>
				<?php } ?>
			</div>
		</article>
		<?php get_sidebar(); ?>
<?php get_footer(); ?>

acuerdate de poner los IDs de las categorias.
 

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
@jonay
Funciono!!!, Gracias! :mola:

Ahora tengo dos dudas...

1- Como controlo la cantidad de post que se mostraran?
3- Como duplico ese código dos o tres veces para poner dos categorías una debajo de la otra individual ya que pienso dividir las fotos de los vídeos..
 

jonay

Cobre
Usuario de Bronce
Mensajes
357
Puntuación de reacción
2
@jonay
Funciono!!!, Gracias! :mola:

Ahora tengo dos dudas...

1- Como controlo la cantidad de post que se mostraran?
3- Como duplico ese código dos o tres veces para poner dos categorías una debajo de la otra individual ya que pienso dividir las fotos de los vídeos..

1) Añade &posts_per_page=10 o la cantidad que quieras mostrar después del 5

Código:
query_posts($query_string.'&cat=1,2,3,4,5');

2) Esto no lo entendí, ¿tú quieres mostrar posts por categoria, separandolas unas de otras?
 

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
1) Añade &posts_per_page=10 o la cantidad que quieras mostrar después del 5

Código:
query_posts($query_string.'&cat=1,2,3,4,5');

2) Esto no lo entendí, ¿tú quieres mostrar posts por categoria, separandolas unas de otras?

Exacto, quiero mostrar dos o tres categorias separandole una de otras.
 

jonay

Cobre
Usuario de Bronce
Mensajes
357
Puntuación de reacción
2
Exacto, quiero mostrar dos o tres categorias separandole una de otras.

Vale, esto es mucho mas dificil, y mas si no veo la página, pero bueno... lo primero crea un archivo llamado front-page.php en la carpeta de tu theme (si ya existe, reemplaza el código). Luego deja tu archivo index.php como estaba antes de los cambios, por último copia y pega este código en el front-page.php:

Código:
<?php $options = get_option('portal'); ?>
<?php get_header(); ?>
<div id="page">
	<div class="content">

		<?php
		$total=10; // total de posts a mostrar en cada categoria
		$listado_cat='1,2,3,4,5'; // añade o quita IDs de categorias aquí
		$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $get_post_query = 'paged='.$paged.'&numberposts='.$total.'&category=';
        $categories = get_categories('include='.$listado_cat);
        foreach ($categories as $category) {
            $cat_id = $category->cat_ID;
            $pt = get_posts($get_post_query.$cat_id);
        ?>
        <h2><?php echo $category->name; ?></h2>
		<article class="article">
			<div id="content_box">
				<?php //if (have_posts()) : while (have_posts()) : the_post(); ?>
                <?php foreach ($pt as $postmt) { ?>
<div class="post excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>">					
						<header>
							<a href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="nofollow" id="featured-thumbnail">
								<?php if ( has_post_thumbnail($postmt->ID) ) { ?> 
									<?php echo '<div class="featured-thumbnail">'.get_the_post_thumbnail($postmt->ID,'homepage',array('title' => '')).'</div>'; ?>
								<?php } else { ?>
									<div class="featured-thumbnail">
										<img width="200" height="110" src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php echo $postmt->post_title; ?>">
									</div>
								<?php } ?>
							</a>
							<h2 class="title">
								<a href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="bookmark"><?php echo $postmt->post_title; ?></a>
							</h2>
						</header><!--.header-->
						<div class="post-content image-caption-format-1">
							<?php echo $postmt->post_excerpt;?>
						</div>
						<div class="readMore"><a href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="bookmark"><?php _e('Read More','mythemeshop'); ?></a></div>
					</div><!--.post excerpt-->
                   <?php } ?>
				<?php if ($options['mts_pagenavigation'] == '1') { ?>
					<?php pagination($additional_loop->max_num_pages);?>
				<?php } else { ?>
					<div class="pnavigation2">
						<div class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></div>
						<div class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></div>
					</div>
				<?php } ?>
			</div>
		</article>
        <?php } ?>
        
		<?php get_sidebar(); ?>
<?php get_footer(); ?>

tendras que cambiar estas dos cosas en el nuevo código:

Código:
		$total=10; // total de posts a mostrar en cada categoria
		$listado_cat='1,2,3,4,5'; // añade o quita IDs de categorias aquí

Esto debería funcionar, pero igual se ve un poco 'feo', eso ya es cosa de CSS.
 

Ramnsx

Cobre
Usuario de Bronce
Mensajes
287
Puntuación de reacción
0
Vale, esto es mucho mas dificil, y mas si no veo la página, pero bueno... lo primero crea un archivo llamado front-page.php en la carpeta de tu theme (si ya existe, reemplaza el código). Luego deja tu archivo index.php como estaba antes de los cambios, por último copia y pega este código en el front-page.php:

Código:
<?php $options = get_option('portal'); ?>
<?php get_header(); ?>
<div id="page">
	<div class="content">

		<?php
		$total=10; // total de posts a mostrar en cada categoria
		$listado_cat='1,2,3,4,5'; // añade o quita IDs de categorias aquí
		$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $get_post_query = 'paged='.$paged.'&numberposts='.$total.'&category=';
        $categories = get_categories('include='.$listado_cat);
        foreach ($categories as $category) {
            $cat_id = $category->cat_ID;
            $pt = get_posts($get_post_query.$cat_id);
        ?>
        <h2><?php echo $category->name; ?></h2>
		<article class="article">
			<div id="content_box">
				<?php //if (have_posts()) : while (have_posts()) : the_post(); ?>
                <?php foreach ($pt as $postmt) { ?>
<div class="post excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>">					
						<header>
							<a rel="nofollow" href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="nofollow" id="featured-thumbnail">
								<?php if ( has_post_thumbnail($postmt->ID) ) { ?> 
									<?php echo '<div class="featured-thumbnail">'.get_the_post_thumbnail($postmt->ID,'homepage',array('title' => '')).'</div>'; ?>
								<?php } else { ?>
									<div class="featured-thumbnail">
										<img width="200" height="110" src="<?php echo get_template_directory_uri(); ?>/images/nothumb.png" class="attachment-featured wp-post-image" alt="<?php echo $postmt->post_title; ?>">
									</div>
								<?php } ?>
							</a>
							<h2 class="title">
								<a rel="nofollow" href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="bookmark"><?php echo $postmt->post_title; ?></a>
							</h2>
						</header><!--.header-->
						<div class="post-content image-caption-format-1">
							<?php echo $postmt->post_excerpt;?>
						</div>
						<div class="readMore"><a rel="nofollow" href="<?php echo get_permalink($postmt->ID); ?>" title="<?php echo $postmt->post_title; ?>" rel="bookmark"><?php _e('Read More','mythemeshop'); ?></a></div>
					</div><!--.post excerpt-->
                   <?php } ?>
				<?php if ($options['mts_pagenavigation'] == '1') { ?>
					<?php pagination($additional_loop->max_num_pages);?>
				<?php } else { ?>
					<div class="pnavigation2">
						<div class="nav-previous"><?php next_posts_link( __( '← '.'Older posts', 'mythemeshop' ) ); ?></div>
						<div class="nav-next"><?php previous_posts_link( __( 'Newer posts'.' →', 'mythemeshop' ) ); ?></div>
					</div>
				<?php } ?>
			</div>
		</article>
        <?php } ?>
        
		<?php get_sidebar(); ?>
<?php get_footer(); ?>

tendras que cambiar estas dos cosas en el nuevo código:

Código:
		$total=10; // total de posts a mostrar en cada categoria
		$listado_cat='1,2,3,4,5'; // añade o quita IDs de categorias aquí

Esto debería funcionar, pero igual se ve un poco 'feo', eso ya es cosa de CSS.

lo probare ahora en unos minutos.
gracias!
 
Estado
No está abierto para más respuestas.
Arriba