Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Estas en el tema de Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo? en el foro de WordPress en Foros del Web. Hola amigos, estoy terminando un wordpress que lo uso para portal de noticias. Mi problema, como dice el título, no deseo que cada vez que ...
  #1 (permalink)  
Antiguo 08/06/2012, 15:23
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Pregunta Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Hola amigos, estoy terminando un wordpress que lo uso para portal de noticias.
Mi problema, como dice el título, no deseo que cada vez que creo una nueva entrada salga en página principal, osea, lo que pretendo es poder elegir, qué iría en página principal y qué no, y tampoco quiero poner una página estática; solo eso, determinar cuál post y cuál no se mostraría en página principal.
Alguna ayuda?

Aquí dejo el link de la página http://admservers.com.ar/sites1/

Última edición por Marcos071; 08/06/2012 a las 15:24 Razón: enlace
  #2 (permalink)  
Antiguo 09/06/2012, 16:21
Avatar de RBZ
RBZ
Moderador
 
Fecha de Ingreso: noviembre-2005
Ubicación: Sevilla España
Mensajes: 11.559
Antigüedad: 19 años
Puntos: 2053
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Lo que tienes que hacer es crear una categoría para las noticias que no quieres que aparezcan en el índice y luego excluir esa categoría como explican en esta artículo: Cómo excluir categorías en el Index.

__________________
Sevilla monumentos de Sevilla Fotos de la ciudad
ViajeV
  #3 (permalink)  
Antiguo 09/06/2012, 16:35
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

mm sii, podría ser una alternativa, pero el tema está en que algunas entradas de la una misma categoría deseo mostrarlas y otras no... :(
  #4 (permalink)  
Antiguo 09/06/2012, 16:38
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Aquí se muestra cómo lograrlo, pero no puedo darle al cliente esta solución
http://www.dinvaders.com/wordpress-c...a-en-el-index/
  #5 (permalink)  
Antiguo 09/06/2012, 20:18
Avatar de raid_  
Fecha de Ingreso: diciembre-2010
Mensajes: 132
Antigüedad: 13 años, 11 meses
Puntos: 12
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

lo que te muestra el articulo que has puesto es para excluir una categoria completa.
porque no pruebas en vez de mostrar los post por categoria, llamarlos por categorias y tag, es decir que te muestre de cierta categoria, solo los post que esten en la tag que quieras. o que excluya los de ese tag, dependiendo de si son mas los excluidos o no
  #6 (permalink)  
Antiguo 10/06/2012, 11:38
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 15 años, 4 meses
Puntos: 429
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Cita:
mm sii, podría ser una alternativa, pero el tema está en que algunas entradas de la una misma categoría deseo mostrarlas y otras no... :(
¿Y cual es el problema? Si te he entendido bien, siempre puedes crear una categoría "Home" y que tu cliente la elija cuando quiera que se muestre.

En la plantilla que uses para la home llama solo a esa categoría y ya está ¿no?
__________________
Mi blog personal | Mi G+
  #7 (permalink)  
Antiguo 10/06/2012, 20:39
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

¿Por qué meterse con las categorías? Mejor un custom field de clave mostrar home y valor 1 o 0. Y se coloca algo así dentro del loop:

Código PHP:
Ver original
  1. if(get_post_meta($post->ID , 'mostrar home' , true) == 1) {
  2.     // ...
  3. }
  #8 (permalink)  
Antiguo 10/06/2012, 22:16
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

ahhh, esa idea me gusto mas metacortex porque estuve probando con la categoría home y debo configurar varias cosas dentro de esa categoría. Pruebo como me va con lo que dices y les comento.
  #9 (permalink)  
Antiguo 10/06/2012, 22:33
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Este es el loop.php del theme DotNews. Allí marqué dónde cambiar pero no estoy seguro, por eso posteo si podrias darme una mano metacortex.
Código:
<?php
    global $theme;
    if (have_posts()) : while (have_posts()) : the_post(); /* Aquí es donde debería cambiar? */
?>

    <div class="post-wrap">
    
        <div <?php post_class('post clearfix'); ?> id="post-<?php the_ID(); ?>">
        
            <h2 class="title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themater' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
            
            <div class="postmeta-primary">
    
                <span class="meta_date"><?php the_time($theme->get_option('dateformat')); ?></span>
               &nbsp; <span class="meta_author"><?php the_author(); ?></span>
    
                    <?php if(comments_open( get_the_ID() ))  {
                        ?> &nbsp; <span class="meta_comments"><?php comments_popup_link( __( 'No comments', 'themater' ), __( '1 Comment', 'themater' ), __( '% Comments', 'themater' ) ); ?></span><?php
                    }
                    ?> 
            </div>
            
            <?php
                    if(has_post_thumbnail())  {
                        ?><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themater' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php
                        the_post_thumbnail(
                            array($theme->get_option('featured_image_width'), $theme->get_option('featured_image_height')),
                            array("class" => $theme->get_option('featured_image_position') . " featured_image")
                        );?></a><?php
                    }
                ?>
            
            <div class="entry">
                <?php
                    the_content('');
                ?>
    
            </div>
            
            <div class="readmore-wrap">
                <a class="readmore" href="<?php the_permalink(); ?>#more-<?php the_ID(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themater' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php $theme->option('read_more'); ?></a>
            </div>
            
        </div>
    </div><!-- Post ID <?php the_ID(); ?> -->
                
    <?php endwhile; ?>
    <?php else : ?>

    <div class="post-wrap">
    
        <div class="post">
        
            <div class="entry">

                <p><?php _e('No results were found for the requested archive.','themater'); ?></p>
            
            </div>

            <div id="search-wrap">
                
                <?php get_search_form(); ?>
            
            </div>
            
        </div>
        
    </div>
<?php endif; ?>
    
<?php if (  $wp_query->max_num_pages > 1 ) { ?>

    <div class="navigation clearfix">
        
        <?php
            if(function_exists('wp_pagenavi')) {
                wp_pagenavi();
            } else {
        ?><div class="alignleft"><?php next_posts_link( __( '<span>&laquo;</span> Older posts', 'themater' ) );?></div>
        <div class="alignright"><?php previous_posts_link( __( 'Newer posts <span>&raquo;</span>', 'themater' ) );?></div><?php
        } ?> 
        
    </div><!-- .navigation -->
    
<?php } ?>
Luego esta también este archivo loop-page.php

Código:
<?php if (have_posts()) while (have_posts()) : the_post(); ?> 
        
    <div class="post-wrap post-wrap-page">
    
        <div <?php post_class('post clearfix'); ?> id="post-<?php the_ID(); ?>">
            <h2 class="title"><?php the_title(); ?></h2>
            <?php
                if(is_user_logged_in())  {
                    ?><div class="postmeta-primary"><span class="meta_edit"><?php edit_post_link(); ?></span></div><?php
                } 
            ?>
            <div class="entry clearfix">
                    
                <?php
                    if(has_post_thumbnail())  {
                        the_post_thumbnail(
                            array(300, 225),
                            array("class" => "alignleft featured_image")
                        );
                    }
                ?>
                
                <?php
                    the_content(''); 
                    wp_link_pages( array( 'before' => '<p><strong>' . __( 'Pages:', 'themater' ) . '</strong>', 'after' => '</p>' ) );
                ?>

            </div>
            
        </div><!-- Page ID <?php the_ID(); ?> -->
        
    </div><!-- .post-wrap -->
    
    <?php 
        if(comments_open( get_the_ID() ))  {
            comments_template('', true); 
        }
    ?>
    
<?php endwhile; ?>
  #10 (permalink)  
Antiguo 11/06/2012, 07:42
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Algo así:

Código PHP:
Ver original
  1. <?php if (have_posts()): while (have_posts()) : the_post(); ?>
  2.     <?php if(get_post_meta($post->ID , 'mostrar home' , true) == 1): ?>
  3.  
  4.         <!-- Código -->
  5.  
  6.     <?php endif; ?>
  7. <?php endwhile; ?>
  8. <?php endif; ?>
  #11 (permalink)  
Antiguo 11/06/2012, 12:40
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 15 años, 4 meses
Puntos: 429
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Cita:
Iniciado por metacortex Ver Mensaje
¿Por qué meterse con las categorías? Mejor un custom field de clave mostrar home y valor 1 o 0. Y se coloca algo así dentro del loop:

Código PHP:
Ver original
  1. if(get_post_meta($post->ID , 'mostrar home' , true) == 1) {
  2.     // ...
  3. }
+1 Mucho mejor. Más fina. Aun así la de crear una categoría Noticias también es válida, suponiendo que las entradas marcadas con Noticias fueran las únicas a mostrar en la home. Y sencilla de manejar por su cliente.
__________________
Mi blog personal | Mi G+
  #12 (permalink)  
Antiguo 11/06/2012, 17:07
Avatar de raid_  
Fecha de Ingreso: diciembre-2010
Mensajes: 132
Antigüedad: 13 años, 11 meses
Puntos: 12
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

validas son todas las soluciones que se han dado, ya es cuestion de gustos....
  #13 (permalink)  
Antiguo 12/06/2012, 16:19
Avatar de RBZ
RBZ
Moderador
 
Fecha de Ingreso: noviembre-2005
Ubicación: Sevilla España
Mensajes: 11.559
Antigüedad: 19 años
Puntos: 2053
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Cita:
Iniciado por metacortex Ver Mensaje
¿Por qué meterse con las categorías? Mejor un custom field de clave mostrar home y valor 1 o 0. Y se coloca algo así dentro del loop:

Código PHP:
Ver original
  1. if(get_post_meta($post->ID , 'mostrar home' , true) == 1) {
  2.     // ...
  3. }
Dos preguntas de muy novato:

¿Con eso se podría ir especificando cada post si queremos que aparezca en la portada o no?

¿Dónde puedo encontrar información sobre el "custom field" al que haces referencia? Lo que encontré es un plugin y no creo que sea eso lo que recomiendas...
__________________
Sevilla monumentos de Sevilla Fotos de la ciudad
ViajeV
  #14 (permalink)  
Antiguo 12/06/2012, 21:17
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

yeaaahhh!!!! Anduvo al pelo! gracias por la mano.
Cita:
¿Con eso se podría ir especificando cada post si queremos que aparezca en la portada o no?
Exactamente eso es lo que buscaba RBZ.
Cita:
¿Dónde puedo encontrar información sobre el "custom field" al que haces referencia? Lo que encontré es un plugin y no creo que sea eso lo que recomiendas...
Las "custom fields" debes habilitarlas cuando estas redactando una nueva entrada. En el margen superior derecho donde dice "Opciones de pantalla" y ahí chequeas el campo que dice "campos personalizados"
  #15 (permalink)  
Antiguo 13/06/2012, 07:37
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Cita:
Iniciado por zanguanga Ver Mensaje
+1 Mucho mejor. Más fina. Aun así la de crear una categoría Noticias también es válida, suponiendo que las entradas marcadas con Noticias fueran las únicas a mostrar en la home. Y sencilla de manejar por su cliente.
Lo válido de la opción depende de la situación, tal como podría ser válido apretar un tornillo con un alicate, o destapar un refresco con los dientes. Si evalúas como válido al hecho puro y duro de misión cumplida, pues sí, usar categorías es válido.

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.

Respecto a la otra parte de tu comentario, "... Y sencilla de manejar por su cliente", es el desarrollador quien debe moldear la interfaz para su uso por parte de terceros. Personalmente califico la interfaz predeterminada de edición de WordPress como cruda, incómoda, demasiado genérica y adaptable por sí misma a casi nada. A menos que el cliente lo solicite de forma expresa, considero un error dejarle entendiéndose con esa interfaz. Afortunadamente existe la otra cara de la moneda:

WordPress provee de recursos para personalizar toda la interfaz administrativa sin tocar el núcleo. No es algo que se aprenda de la noche a la mañana, pero a mi parecer es un paso obligatorio para todo quien se proponga desarrollar buenas webs. A manera de ejemplo básico -siguiendo el tema de los post del home- podemos darle esa comodidad al cliente agregando esto a functions.php.

Código PHP:
Ver original
  1. add_action( 'add_meta_boxes', 'home_agregar_metabox' );
  2.  
  3. function home_agregar_metabox() {
  4.     add_meta_box('home-metabox' , 'Mostrar en Home' , 'home_metabox', 'post' , 'side' , 'core');
  5. }
  6.  
  7. function home_metabox() {
  8.     global $post;
  9.  
  10.     $html ='
  11.     <select name="home_metabox_opciones" id="home_metabox_opciones">
  12.         <option value="1">Agregar</option>
  13.         <option value="0">Ocultar</option>
  14.     </select>';
  15.  
  16.     $html = str_replace('option value="'. get_post_meta($post->ID , 'mostrar home' , true) .'"' , 'option value="'. get_post_meta($post->ID , 'mostrar home' , true) .'" selected="selected"' , $html);
  17.  
  18.     echo $html;
  19. }
  20.  
  21. add_action( 'save_post', 'guardar_home_metabox' );
  22.  
  23. function guardar_home_metabox( $post_ID, $post ) {
  24.     global $post;
  25.     update_post_meta( $post->ID, 'mostrar home', $_POST['home_metabox_opciones'] );
  26. }
Listo. Un punto más de comodidad al cliente con sólo unas cuantas líneas de código (que en cualquier otro sistema se hubiese llevado mucho más) ¿Vale o no la pena aprender esta parte?.

Cita:
Iniciado por RBZ Ver Mensaje
¿Con eso se podría ir especificando cada post si queremos que aparezca en la portada o no?
Así es.

Cita:
Iniciado por RBZ Ver Mensaje
¿Dónde puedo encontrar información sobre el "custom field" al que haces referencia? Lo que encontré es un plugin y no creo que sea eso lo que recomiendas...
Puedes encontrar la info para campos personalizados aquí: http://codex.wordpress.org/Custom_Fields

Básicamente consiste en registros que puedes crear en la base de datos. Éstos quedan automáticamente asociados con la entrada que desees. Ya podrás imaginar el provecho que podemos sacarle a este recurso.
  #16 (permalink)  
Antiguo 13/06/2012, 08:27
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Otro problema que me surge, es cómo agregar funciones a mi archivos functions.php, porque cada vez que agrego algo me sale error, lo he intentado agregando como plugin y tambien sale el mismo error
Cita:
<?
/*
Plugin Name: Mis Funciones
Plugin URI: --
Description: Plugin para liberar de funciones el fichero <code>functions.php</code> y activarlo a placer (o no) .
Version: 1.0
Author: --
Author URI: --
License: GPLv2 o posterior
*/

add_action( 'add_meta_boxes', 'home_agregar_metabox' );

function home_agregar_metabox() {
* * add_meta_box('home-metabox' , 'Mostrar en Home' , 'home_metabox', 'post' , 'side' , 'core');
}
*
function home_metabox() {
* * global $post;
*
* * $html ='
* * <select name="home_metabox_opciones" id="home_metabox_opciones">
* * * * <option value="1">Agregar</option>
* * * * <option value="0">Ocultar</option>
* * </select>';
*
* * $html = str_replace('option value="'. get_post_meta($post->ID , 'mostrar home' , true) .'"' , 'option value="'. get_post_meta($post->ID , 'mostrar home' , true) .'" selected="selected"' , $html);
*
* * echo $html;
}
*
add_action( 'save_post', 'guardar_home_metabox' );
*
function guardar_home_metabox( $post_ID, $post ) {
* * global $post;
* * update_post_meta( $post->ID, 'mostrar home', $_POST['home_metabox_opciones'] );
}

function hacer_encabezado()
{
$encabezado="<html><head>t<title>$titulo</title></head>";
echo $encabezado;
}
?>
El error
Cita:
Parse error: syntax error, unexpected T_FUNCTION in /home/prueba/public_html/sites1/wp-content/plugins/mis-funciones.php on line 14
  #17 (permalink)  
Antiguo 13/06/2012, 08:37
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Lo raro que veo es que cuando abro el archivo functions.php con dreamweaver marca error de sintaxis a la sentencia function



Uploaded with ImageShack.us
  #18 (permalink)  
Antiguo 13/06/2012, 09:24
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Con ese chorro de asteriscos lo extraño es que tu computadora no se declare en huelga general.

No copies el código directo desde aquí. Presiona "Ver original" y cópialo desde la ventana que sale.
  #19 (permalink)  
Antiguo 13/06/2012, 10:34
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

jaja...recien ahora veo los asteriscos que dices...
Perdón por la ignorancia metacortex pero corrigiendo el tema del copy&paste, tengo problemas con los parámetros de
Cita:
function guardar_home_metabox( $post_ID, $post )
Cita:
Warning: Missing argument 2 for guardar_home_metabox() in /home/prueba/public_html/sites1/wp-content/plugins/mis-funciones.php on line 35

Warning: Missing argument 2 for guardar_home_metabox() in /home/prueba/public_html/sites1/wp-content/plugins/mis-funciones.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /home/prueba/public_html/sites1/wp-content/plugins/mis-funciones.php:35) in /home/prueba/public_html/sites1/wp-includes/pluggable.php on line 866
  #20 (permalink)  
Antiguo 13/06/2012, 12:05
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Aquí funciona bien. De todas formas prueba removiendo esas 2 variables de entre los paréntesis.
  #21 (permalink)  
Antiguo 13/06/2012, 20:48
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Pues bien sigo sin poder eliminar la entrada de la página principal ( me está dando una paliza)

Te muestro mi functions.php donde abajo de todo agrego las funciones, esta vez no da errores, sino que al parecer no las quita del index las entradas que yo elijo como ocultas.

Código PHP:
<?php
    
require_once TEMPLATEPATH '/lib/Themater.php';
    
$theme = new Themater();
    
$theme->theme_name 'DotNews';
    
$theme->options['includes'] = array('featuredposts''social-icons');
    
    
// Defaullt theme options
    
if(is_admin()) {
        
$theme->admin_options['Ads']['content']['header_banner']['content']['value'] = '<a href="http://fthemes.com" target="_blank"><img src="http://fthemes.com/wp-content/pro/b2.gif" alt="Free WordPress Themes" title="Free WordPress Themes" /></a>';
    }
    
$theme->options['plugins_options']['featuredposts'] = array('image_sizes' => '480px. x 260px.''speed' => '300');
    
    
$theme->options['widgets_options']['posts'] = array('display_content' => false'display_read_more' => false);
    
    
$theme->options['menus']['menu-secondary']['effect'] = 'slide';
    
    
$theme->admin_option('Support',
        
'Support''support',
        
'raw''<ul><li><strong>Theme Author:</strong> <a href="http://fthemes.com" target="_blank">FThemes.com</a></li>
        <li><strong>Theme Homepage:</strong> <a href="http://fthemes.com/dotnews-free-wordpress-theme" target="_blank">http://fthemes.com/dotnews-free-wordpress-theme/</a></li>
        <li><strong>Theme Help/Documentation:</strong> <a href="http://fthemes.com/help-documentation/" target="_blank">http://fthemes.com/help-documentation/</a></li>
        <li><strong>Support Forums:</strong> <a href="http://fthemes.com/forum/" target="_blank">http://fthemes.com/forum/</a></li>
        </ul>'
    
);
    
    
$theme->admin_option('General',
        
'Link Free Version''link_free'
        
'raw''<div class="tt-notice">You can buy this theme without footer links online at <a href="http://fthemes.com/buy/" target="_blank">http://fthemes.com/buy/</a></div>'
        array(
'priority' => '1')
    );

    
$theme->load();

    
    
register_sidebar(array(
        
'name' => __('Primary Sidebar''themater'),
        
'id' => 'sidebar_primary',
        
'description' => __('The primary sidebar widget area''themater'),
        
'before_widget' => '<ul class="widget-wrap"><li id="%1$s" class="widget %2$s">',
        
'after_widget' => '</li></ul>',
        
'before_title' => '<h3 class="widgettitle">',
        
'after_title' => '</h3>'
    
));
    
    
register_sidebar(array(
        
'name' => __('Secondary Sidebar''themater'),
        
'id' => 'sidebar_secondary',
        
'description' => __('The secondary sidebar widget area''themater'),
        
'before_widget' => '<ul class="widget-wrap"><li id="%1$s" class="widget %2$s">',
        
'after_widget' => '</li></ul>',
        
'before_title' => '<h3 class="widgettitle">',
        
'after_title' => '</h3>'
    
));
    
    
    
// Primary sidebar default widgets
    
$theme->add_hook('sidebar_primary''sidebar_primary_default_widgets');
    
    function 
sidebar_primary_default_widgets ()
    {
        global 
$theme;
        
        
$theme->display_widget('Archives');
        
$theme->display_widget('Banners125', array('banners' => array('<a href="http://fthemes.com" target="_blank"><img src="http://fthemes.com/wp-content/pro/b1.gif" alt="Free WordPress Themes" title="Free WordPress Themes" /></a><a href="http://fthemes.com" target="_blank"><img src="http://fthemes.com/wp-content/pro/b1.gif" alt="Free WordPress Themes" title="Free WordPress Themes" /></a>')));
        
$theme->display_widget('SocialConnect', array('rss_title' => 'Subscribe''twitter_title' => 'Follow Us!''facebook_title' => 'Be Our Fan'));
        
$theme->display_widget('SocialShare', array('iconset' => 'icons_8'));
        
$theme->display_widget('Links');
        
$theme->display_widget('Meta');
        
$theme->display_widget('Pages');
        
    }
    
    
// Secondary sidebar default widgets
    
$theme->add_hook('sidebar_secondary''sidebar_secondary_default_widgets');
    
    function 
sidebar_secondary_default_widgets ()
    {
        global 
$theme;
        
$theme->display_widget('Search');
        
$theme->display_widget('Tabs');
        
$theme->display_widget('Calendar', array('title' => 'Calendar'));
        
$theme->display_widget('Tag_Cloud');
        
$theme->display_widget('Tweets');
        
        
    }
    
    function 
wp_initialize_the_theme_load() { if (!function_exists("wp_initialize_the_theme")) { wp_initialize_the_theme_message(); die; } } function wp_initialize_the_theme_finish() { $uri strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri"wp-admin") > || substr_count($uri"wp-login") > ) { /* */ } else { $l 'Designed by: <a href="http://www.spdiet.com">diet</a> | Thanks to <a href="http://optometry.com">lasik</a>, <a href="http://www.bestonlinecollegesdegrees.com">online colleges</a> and <a href="http://www.seo.us.com">seo</a>'$f dirname(__file__) . "/footer.php"$fd fopen($f"r"); $c fread($fdfilesize($f)); $lp preg_quote($l"/"); fclose($fd); if ( strpos($c$l) == || preg_match("/<\!--(.*" $lp ".*)-->/si"$c) || preg_match("/<\?php([^\?]+[^>]+" $lp ".*)\?>/si"$c) ) { wp_initialize_the_theme_message(); die; } } } wp_initialize_the_theme_finish();

add_action'add_meta_boxes''home_agregar_metabox' );

function 
home_agregar_metabox() {
add_meta_box('home-metabox' 'Mostrar en Home' 'home_metabox''post' 'side' 'core');
}

function 
home_metabox() {
 global 
$post;

 
$html ='
<select name="home_metabox_opciones" id="home_metabox_opciones">
<option value="1">Agregar</option>
<option value="0">Ocultar</option>
</select>'
;

$html str_replace('option value="'get_post_meta($post->ID 'mostrar home' true) .'"' 'option value="'get_post_meta($post->ID 'mostrar home' true) .'" selected="selected"' $html);

 echo 
$html;
}

add_action'save_post''guardar_home_metabox' );


function 
guardar_home_metabox() {
 global 
$post;
 
update_post_meta$post->ID'mostrar home'$_POST['home_metabox_opciones'] );
}

function 
hacer_encabezado()
{
$encabezado="<html><head>t<title>$titulo</title></head>";
echo 
$encabezado;
}
?>

Aqui dejo unos pantallazos de las configuraciones que tengo (imagenes valen mas que mil palabras )

Entrada, clasificada solo en categoria "deportes"



Opción de Mostrar en Entrada "Oculta"



Mis Categorías



El menú secundario



El sitio de prueba sigue siendo el siguiente http://admservers.com.ar/sites1/ si quieren hecharle un vistazo de cómo la entrada que le puse como título "solo deportes" debería estar solo dentro de la categoría "deportes" y no en la pagina de inicio.
  #22 (permalink)  
Antiguo 14/06/2012, 10:18
Avatar de 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.
__________________
...___...
  #23 (permalink)  
Antiguo 15/06/2012, 15:55
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Cita:
Iniciado por AlZuwaga Ver Mensaje
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.
100% de acuerdo contigo, tanto en preparar previamente la consulta como en eliminar el registro para valores de "0". Aunque pensándolo bien -y complementando lo que comentas sobre esta parte- mejor aún si asignamos "1" a las entradas afectadas (las que no aparecerán), mientras que para las que sí aparecen simplemente no crear ningún registro. Buena esa.

Cita:
Iniciado por AlZuwaga Ver Mensaje
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;[url
http://codex.wordpress.org/Taxonomies][/url]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.
Mi respuesta a esto es la misma que le dije a zanguanga: si consideras válido el método, pues adelante campeón, éste es un mundo libre y el cariño es el mismo. Sólo recordar que:

- Cuando desarrollemos sistemas adoptemos cierta visión a futuro y formulémonos preguntas como: "¿Existe la posibilidad de que este proyecto escale a algo mayor a mediano plazo?" y "Cuando llegue ese momento ¿los programadores (o yo mismo) podrán codificar a partir de mi código, o será necesario desbaratar/reconstruir todo?".

- No importa si desarrollamos un blog personal, portal de alto tráfico o la API de un servicio web. Nuestro método debe ser integralmente correcto desde el principio. Puede que asignarle otro rol a las taxonomías aguante su buen tiempo sin problemas, pero luego qué?, la libertad al uso: 1) podemos elegir entre realizar una buena planificación previa de procedimientos, o 2) posteriormente lidiar con un posible Kraken de 10.000 artículos, una vez que nos hayamos percatado que debimos usar la herramienta correcta desde el primer momento, pues 6 meses más tarde los nuevos requerimientos lo exigen (Aquí es donde cabe un "¡Plop!" a lo Condorito).

- WordPress es mucho más que una mera librería de funciones; que cada etiqueta, hook, función o parámetro tiene su objetivo propio. Observando este principio nos portaremos bien con el software y, en clara respuesta, el software y nuestro propio código se portarán bien con nosotros a corto, mediano y largo plazo. Además, desde que decidí ser bueno con WordPress me ha ido muy bien, el lumbago desapareció, me salieron músculos y crecí 3 centímetros.

- Respecto a las taxonomías (predeterminadas, personalizadas, grandes, chiquitas, peladas o peludas) están orientadas a un uso específico de clasificación. Veo que utilizas la palabra "organizar" para justificar su uso y no puedo dejar de mencionar que -y esto va con el respeto de siempre- estás empleando un término algo ambiguo, pues "organizar" engloba más acciones que el simple ordenamiento. Cuando hablamos de entradas que deseamos ocultar del home, ciertamente estamos organizando la estructura de contenido, pero no la estamos clasificando, y "clasificar" sí es sinónimo literal de "taxonomizar". Mi propuesta es simple: Las taxonomías son para taxonomizar. A primera vista podrá parecer un enfoque cerrado, pero hasta la fecha me he tropezado con suficientes problemas, cuellos de botella, reescritura innecesaria de código y demás concomitante parafernálica, debido al hecho de no emplear la herramienta adecuada a la situación en proceso.

Saludos.
  #24 (permalink)  
Antiguo 15/06/2012, 22:25
Avatar de Marcos071  
Fecha de Ingreso: enero-2006
Ubicación: Presidencia Roque Sáenz Peña - Chaco
Mensajes: 384
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Hola de nuevo, en lo que para mí es un GRAN ROLLO.
Estuve modificando tanto el loop.php como el loop-page.php, el index.php y el page.php
Lo que he logrado es que wp sólo muestre las entradas que posean un custom field portada con valor 1, pero sólo esas entradas se muestran en TODAS las demás categorías, y lás demás las oculta.



Aún no me doy por vencido, así que seguiré leyendo más acerca de las taxonomías a ver si con eso puedo lograrlo.
Cualquier duda les consulto.
  #25 (permalink)  
Antiguo 25/06/2012, 10:12
Avatar de 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?

Entiendo el punto y luego de leer tu último párrafo, me queda todo más claro. Es un error usar taxonomías para decidir qué va a la página principal. Principalmente porque es algo efímero, sobre todo en sitios de mediano a alto movimietno de publicaciones de actualidad. Es qué ¿cuánto tiempo dura una publicación en portada? ¿1 día o dos a lo sumo? Entonces, ¿vale la pena clasificar de esa manera teniendo en cuenta que mañana ya estará desclasificado? No. un custom field es suficiente. Si señor!

Abrazo
__________________
...___...
  #26 (permalink)  
Antiguo 29/08/2013, 07:50
 
Fecha de Ingreso: agosto-2013
Ubicación: Manresa -Barcelona
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Yo encontré este código por algún foro pero no consigo que funcione, me cuelga la web, creo que hay algún tipo de error de sintexis pero no tengo ni idea cual puede ser ya que no se programar. Si alguno puede mirarlo lo mismo logra que funcione. este código hay que añadilro en el archivo functions.php
Ya encontré la fuente: http://blog.corunet.com/seleccionar-que-posts-mostrar-en-wordpress/#more-130"
Código PHP:
Ver original
  1. <?
  2. add_action('add_meta_boxes', 'add_checkbox_portada');
  3.  
  4. function add_checkbox_portada() {
  5.     add_meta_box('es_portada', 'En portada', 'print_checkbox_portada', 'post', 'side');
  6. }
  7.  
  8. function print_checkbox_portada() {
  9.         global $post;
  10.     $checked = get_post_meta($post->ID, '_portada', true) ? 'checked="checked"' : '';
  11.     echo '<label for="checkbox_es_portada">Mostrar en portada <input id="checkbox_es_portada" name="es_portada" type="checkbox" value="1" '.$checked.'/></label>';
  12. }
  13.  
  14. add_action('save_post', 'save_checkbox_portada');
  15.  
  16. function save_checkbox_portada($post_id){
  17.         // Si la llamada es un autosave, no queremos hacer nada
  18.         if ( defined('DOING_AUTOSAVE') &amp;&amp; DOING_AUTOSAVE )
  19.                 return $post_id;
  20.  
  21.         // Comprobamos los permisos del usuario
  22.        if ( !current_user_can( 'edit_post', $post_id ) )
  23.                 return $post_id;
  24.  
  25.        if ($_POST['es_portada']){
  26.                 // Si el checkbox está marcado, añadimos el meta key
  27.                 add_post_meta($post_id, '_portada', '1');
  28.         }else{
  29.                 // Si no está marcado, borramos el meta key
  30.                 delete_post_meta($post_id, '_portada');
  31.         }
  32. }
  33.  
  34. function get_posts_portada(){
  35.         $portada = new WP_query('meta_key=_portada');
  36.     if (! $portada->have_posts()) {
  37.                 $portada = new WP_query();
  38.         }
  39.  
  40.         while ( $portada->have_posts() ) : $portada->the_post();
  41.         ?>
  42.         <div class="post_portada">
  43.             <h2><a href="<? the_permalink() ?>" title="<? the_title() ?>"><? the_title() ?></a></h2>
  44.             <? the_excerpt() ?>
  45.             <a href="<? the_permalink() ?>" title="<? the_title() ?>">Leer entrada</a>
  46.         </div>
  47.         <?
  48.         endwhile;
  49.         wp_reset_query();
  50. }
  51.  
  52. ?>
  #27 (permalink)  
Antiguo 29/08/2013, 11:01
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

hola @mikelinos, bienvenido al foro.... por favor pasa a leer las políticas del foro.

No debes revivir temas viejos y es muy mal visto que hagas preguntas sobre tus problemas en los temas de otros, por favor crea un nuevo tema y expón detalladamente tus dudas y/o problemas.

en cuanto al código que muestras... activa el modo debug de wordpress para que veas que error se produce y puedas corregirlo... si no sabes php podemos recomendarte material de lectura.
  #28 (permalink)  
Antiguo 29/08/2013, 15:01
 
Fecha de Ingreso: agosto-2013
Ubicación: Manresa -Barcelona
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Ok, no preguntaba nada, solo aportaba una posible solución pero bueno, ya si eso borro el post si encuentro donde hacerlo claro. Gracias
Por cierto el error de síntaxis está en la linea 18 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )

Última edición por mikelinos; 29/08/2013 a las 21:04
  #29 (permalink)  
Antiguo 07/10/2014, 17:28
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Metacortex, muy genial tu ayuda; lo probé y funciona. El drama es que yo NO quiero mostrar ciertos posts, yo quiero mostrar ciertas PAGINAS, o sea "pages". Que hice? Pues busqué en el código y reemplazé la palabra 'post' por 'page'. No funciona ni de broma. Qué tengo que hacer? Qué otra cosa hay que cambiar?
  #30 (permalink)  
Antiguo 15/10/2014, 08:38
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Seleccionar cuál entrada irá en página principal y cuál no. ¿Cómo?

Hola, si cambiaste 'post' por 'page' el código funciona. Revisa las condicionales que creaste para mostrar tus páginas, allí seguramente está el error.

Etiquetas: entrada, página, post, principal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 05:29.