Ver Mensaje Individual
  #26 (permalink)  
Antiguo 29/08/2013, 07:50
mikelinos
 
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. ?>