Foros del Web » Programando para Internet » PHP »

Cargar contenido estilo wordpress

Estas en el tema de Cargar contenido estilo wordpress en el foro de PHP en Foros del Web. Hola tengo esta duda, he estado pensando mucho creanme hasta el punto del dolor de cabeza.. sobre como hacer que mi web carge datos como ...
  #1 (permalink)  
Antiguo 27/08/2010, 11:48
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Cargar contenido estilo wordpress

Hola tengo esta duda, he estado pensando mucho creanme hasta el punto del dolor de cabeza..
sobre como hacer que mi web carge datos como wordpress
ejemplo
if(have_posts()) : have_posts() {
the_title();
etc..
}
ya que estoy intentando agregar temas a mi proyecto y deseo facilitar ese tipo de cosas a los usuarios que deseen crear sus temas..

toda ayuda sera apreciada Gracias
  #2 (permalink)  
Antiguo 27/08/2010, 12:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cargar contenido estilo wordpress

el concepto es sencillo, aunque nada o poco elegante si usamos muchas globales... sin embargo a mi también me agrada el estilo, aunque no es la única forma...

se trata de tener un arreglo con todos los registros a iterar de manera coherente, podemos hacerlo a traves de globales, funciones con variables internas estáticas u OOP, patrón Registry, etc...

aquí un breve ejemplo:
Código PHP:
class Registry {
  protected static 
$data;
  public static function 
set_value($key$row)
  {
    
self::$data[$key] = $row;
  }
  public static function 
get_value($key)
  {
    return 
self::$data[$key];
  }
}

function 
have_users()
{
  static 
$set = array(
    
=> array('nick' => 'foo'),
    
=> array('nick' => 'candy'),
    
=> array('nick' => 'nothing'),
  );
  if (
$old array_shift($set)) return set_user($old);
  return 
FALSE;
}

function 
set_user($set)
{
  
Registry::set_value('item'$set);
  return 
TRUE;
}

function 
the_nick()
{
  
$old Registry::get_value('item');
  return 
$old['nick'];
}

while (
have_users())
{
  echo 
'<p>Nick: ' the_nick() . '</p>';

en si, las variantes pueden ser muchas, depende de tu propia forma de implementarlo....

aún así el concepto no difiere mucho, espero te sirva de algo..
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/08/2010, 12:50
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Respuesta: Cargar contenido estilo wordpress

Esta un poquito dificil de entenderle a la primera y segunda.. pero funciona!, voy a tratar de arreglarla a modo que cargue de la base de datos.

Algunos consejos demas no caen mal.. Gracias
  #4 (permalink)  
Antiguo 27/08/2010, 13:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cargar contenido estilo wordpress

si. mira... la clave de todo esto radica en la variable estática $set

de modo que si quieres que recupere datos de la BD esta podría ser una forma:
Código PHP:
function have_users()
{
  static 
$set NULL;

  if (
is_null($set))
  {  
// solo si el puntero no existe
    
$set = array();
    
$result db_query('SELECT nick FROM tabla');
    while (
$row db_fetch($resultAS_ARRAY)) $set []= $row;
  }

  if (
$old array_shift($set)) return set_user($old);
  
$set NULL// reseteamos puntero
  
return FALSE;

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/08/2010, 15:07
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Respuesta: Cargar contenido estilo wordpress

ok muchas gracias (y)
  #6 (permalink)  
Antiguo 21/09/2010, 16:07
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Respuesta: Cargar contenido estilo wordpress

Código PHP:
function hay_albums() {
  global 
$db$albums_por_pag$inicial;
  static 
$set NULL;

  if (
is_null($set)) {  // solo si el puntero no existe
    
$set = array();
   
// $result = db_query('SELECT nick FROM tabla');
    
$resultados $db->query("SELECT * FROM albums ORDER BY id DESC LIMIT $inicial, $albums_por_pag");
    
$id_reg 0;
    while (
$row $db->fetchNextObject()) {
    
$set = array($id_reg => array('nombre' => $row['nombre']));
    
$id_reg++;
    
    }
  }

  if (
$old array_shift($set)) return set_user($old);
  
$set NULL// reseteamos puntero
  
return FALSE
// Fin funcion hay_albums

function set_user($set)
{
  
Registry::set_value('item'$set);
  return 
TRUE;
}

function 
nombre()
{
  
$old Registry::get_value('item');
  return 
$old['nombre'];

pateketrueke nesecito que me ayudes con el codigo que me diste anteriormente.. estoy intentando meter los datos de la db en la variable estatica podes observar el codigo anterior..
pero me muestra error..
Cita:
Fatal error: Cannot use object of type stdClass as array in C:\AppServ\www\galeria\inc\temas.php on line 28
o alguien que me ayuda porfavor.
  #7 (permalink)  
Antiguo 21/09/2010, 16:10
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Respuesta: Cargar contenido estilo wordpress

perdon ya lo solucioné, gracias!!!
el problema estaba en la clase de db que uso..
  #8 (permalink)  
Antiguo 21/09/2010, 17:31
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años
Puntos: 9
Exclamación Respuesta: Cargar contenido estilo wordpress

ya me esta agarrando fuego la cabeza
no se me viene a la cabeza una idea de como guardar los demas datos en esta funcion
Código PHP:
function hay_albums() {
  global 
$db$albums_por_pag$inicial;
  static 
$datos NULL;
  
$final $albums_por_pag;
  
$tabla 'albums';
  
  if (
is_null($datos)) {  // solo si el puntero no existe
    
$datos = array();
    
$resultados $db->query("SELECT * FROM $tabla ORDER BY id DESC LIMIT $inicial, $final");
    
$id_reg 0;
    while (
$row $db->fetchNextObject()) {
    
$datos[$id_reg] = array('nombre' => $row->nombre);
    
$id_reg++;
    }
  }
  if (
$old array_shift($datos)) return set_user($old);
  
$datos NULL// reseteamos puntero
  
return FALSE
// Fin funcion hay_albums 
solo me guarda los nombres de los albumnes, pero no se como guardar los demas datos como el id, la fecha de creacion, descripcion.
todo se centra en este pedazo de codigo, pero la desesperacion me gana
Código PHP:
    while ($row $db->fetchNextObject()) {
    
$datos[$id_reg] = array('nombre' => $row->nombre);
    
$id_reg++;
    } 
AYUDA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:golpe ado:

Etiquetas: contenido, estilo, wordpress
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 15:35.