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

Wordpress Network

Estas en el tema de Wordpress Network en el foro de WordPress en Foros del Web. Tengo una red en Wordpress (anteriormente WPMU) y la única manera que he encontrado para obtener el último post de cada blog es con esto: ...
  #1 (permalink)  
Antiguo 26/12/2011, 10:25
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 1 mes
Puntos: 59
Sonrisa Wordpress Network

Tengo una red en Wordpress (anteriormente WPMU) y la única manera que he encontrado para obtener el último post de cada blog es con esto:

Código PHP:
<?php
$blogs 
get_last_updated();
        
        foreach (
$blogs AS $blog) {
        
switch_to_blog($blog["blog_id"]);
                
$lastposts get_posts('numberposts=1');
                foreach(
$lastposts as $post) : 

echo 
'Blog '.$blog_id.' is called '.get_blog_option$blog_id'blogname' );

 endforeach;

            
restore_current_blog(); }

          
?>
Que problema tengo? que quiero usar custom posts types para darle a los admin de blogs una opción para colocar producto, con su precio, fecha de duración de la oferta y otros...

Uso un plugin para la UI: Custom Post Type UI

Y hago el retrieve (imprimo) con la siguiente función:
Código PHP:
function get_custom_field_value($szKey$bPrint false) {

    global 
$post;

    
$szValue get_post_meta($post->ID$szKeytrue);

    if ( 
$bPrint == false ) return $szValue; else echo $szValue;


La llamo con:
Código PHP:
<?php if ( function_exists('get_custom_field_value') ){ get_custom_field_value('oferta'true);} ?>

Peeeeero, no podía ser de otra manera, no me funciona con el "loop" de llamar las entradas de los blogs.

Hay manera de hacer esto más fácil (o más difícil!)?
__________________
Cool Village
@Wakkos
  #2 (permalink)  
Antiguo 27/12/2011, 00:52
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: Wordpress Network

Epale,

Tu primer código no hace nada porque faltan y sobran variables. Prueba con éste:

Código PHP:
Ver original
  1. $blogs = get_last_updated();
  2.  
  3. foreach($blogs as $b) {
  4.     switch_to_blog($b['blog_id']);
  5.     $lastposts = get_posts('showposts=1');
  6.     foreach($lastposts as $post) {
  7.         echo '<p>Desde <strong>'. get_blog_option( $b['blog_id'] , 'blogname' ) .'</strong>: '. get_the_title() .'</p>';
  8.     }
  9.     restore_current_blog();
  10. }

Lo otro que no entiendo es que al principio mencionas los custom post types pero te concentras en los custom fields o campos personalizados. Respondiendo directamente a tu duda: la función get_custom_field_value() que estás usando no hace sino redundar lo que puedes lograr directamente con get_post_meta(). Para que esa función valga la pena deberías construir todo el armazón de una vez:

En tu archivo functions.php:

Código PHP:
Ver original
  1. function wakkos_fields() {
  2.     global $post;
  3.  
  4.     $lista = null;
  5.     $datos = array('precio' => 'Precio del Producto' , 'duracion' => 'Duración de la Oferta' , 'otro' => 'Otro Dato' , 'etc' => 'Otro Dato Más');
  6.  
  7.     foreach($dato as $k => $d)
  8.         $lista .= !empty( get_post_meta($post->ID , $k , true) ) ? '<p>'. $d .': '. get_post_meta($post->ID , $k , true) .'</p>' . "\n" : null;
  9.  
  10. echo $lista;
  11. }

En tu template dentro del loop:

Código PHP:
Ver original
  1. <?php wakkos_fields() ?>
  #3 (permalink)  
Antiguo 27/12/2011, 04:57
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 1 mes
Puntos: 59
Respuesta: Wordpress Network

Genial loco!

Retoqué la función de los fields para poder extraerlos cada uno por su lado.

El primer snippet me muestra muy bien todos los posts (incluso las imágenes de WP Smart Image II) pero no logro imprimir un excerpt. Voy a leer a ver que puedo hacer con eso.

Ahora me queda solo crear una mini UI para que los usuarios solo agreguen los custom fields que quiero ;)
__________________
Cool Village
@Wakkos
  #4 (permalink)  
Antiguo 27/12/2011, 06:31
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 1 mes
Puntos: 59
Respuesta: Wordpress Network

http://www.deluxeblogtips.com/2010/0...ress-post.html


Eso es genial para la UI!
__________________
Cool Village
@Wakkos
  #5 (permalink)  
Antiguo 27/12/2011, 07:22
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: Wordpress Network

Chévere que te funcionó.

- Para mostrar el excerpt sólo usa $post->post_excerpt.

- Para armar rápidamente una UI basada en campos personalizados prueba este plugin: http://wordpress.org/extend/plugins/...ield-template/

Etiquetas: network, wordpressmu
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




La zona horaria es GMT -6. Ahora son las 11:00.