Ver Mensaje Individual
  #22 (permalink)  
Antiguo 14/06/2012, 10:18
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Buenas gente, tanto tiempo sin pasarme por acá.

Cita:
Sin embargo, existe lo que personalmente llamo "uso semántico" de los recursos del software. Esto nos permite echar mano de la herramienta indicada a la hora de un desarrollo. Es decir, si usamos categorías para otra función que no sea categorizar, posiblemente nos veamos en medio de un lío a posteriori cuando -por ejemplo- intentemos escalar la estructura de contenido.
Lo veo de otra manera. ¿Y si en vez de categorías usaras taxonomías personalizadas? Es decir, yo suelo usar una CT llamada, digamos, "Ubicación en portada". En ella puedo tener los términos Slider, Grandes, Chicas y Titulares (y agregale, si querés, Oculta.. pero no es necesario ya que Oculta es lo mismo que no tenga ningún término asociado [y al final del post queda en evidencia del por qué hasta sería perjudicial]).

Cita:
Iniciado por Codex;http://codex.wordpress.org/Taxonomies
What is a taxonomy?
[...] Basically, a taxonomy is a way to group things together.
Con esto estoy organizando qué ingresa al grupo "portada", qué no, y dentro de lo que ingresa a qué "subgrupo" pertenece.

Luego para mostrarlas:

Código:
<?php
$args = array(
	showposts => -1,
	orderby => 'menu_order',
	order => 'ASC',
	'tax_query' => array(
		array(
			'taxonomy' => 'ubicacion',
			'field' => 'slug',
			'terms' => 'Rotativas'
		)
	)
);

$rotativas = new WP_Query($args);
while ($rotativas->have_posts()) : $rotativas->the_post();
?>
<!-- acá tu código -->
<?php endwhile; ?>
... y así para cada término o ubicación en la portada.


Con respecto al método que comentás, meta, para mostrar o no una noticia... éste:

Código:
if(get_post_meta($post->ID , 'mostrar home' , true) == 1) {
    // ...
}
... me parece errado. Porque vos estás recuperando TODAS las noticias (con todas me refiero a las marcadas como "Agregar" y "Ocultar") y dejándole al if el trabajo de mostarlas o no. Se que el ejemplo que voy a poner no es el mejor; pero es el primero que me viene a la cabeza y no es nada más que un ejemplo: ¿Qué ocurriría si tenés una portada paginada de 5 en 5 entradas y las primeras 6 están marcadas como "Ocultar" y las siguients 4 como "Mostrar"? En la primer página no verías ninguna y en la segunda sólo 4. Deberías hacer un WP_Query tal que así:

Código:
$query = new WP_Query( array( 'meta_key' => 'mostrar home', 'meta_value' => '1' ) );
Y mientras escribo esto me estoy dando cuenta que en tu función guardar_home_metabox() lo ideal sería hacer un update_post_meta() si $_POST['home_metabox_opciones'] es 1. De ser cero su valor, pues un delete_post_meta() y así no tenés miles de registros con valor cero, uno por cada noticia que no esté en la portada que, a lo largo del tiempo, tienden a ser infinitas

Me gustaría saber qué opinás de esto.
Abrazo.
__________________
...___...