Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   WordPress (http://www.forosdelweb.com/f118/)
-   -   Mostrar últimos posts fuera de la carpeta del blog (http://www.forosdelweb.com/f118/mostrar-ultimos-posts-fuera-carpeta-del-blog-512387/)

pelushe 15/08/2007 08:44

Mostrar últimos posts fuera de la carpeta del blog
 
Hola.

Ando buscando la forma de mostrar los últimos posts publicados en el blog de wordpress fuera de la carpeta del blog, es decir, si mi blog está instalado en la carpeta miweb.com/blog/ quiero poner los últimos posts en el directorio raiz: miweb.com.

He buscado por el foro pero no he visto nada relacionado

¿Esto puede hacerse? ¿alguien sabe cómo? no se mucho de php ni bases de datos.

Gracias y saludos.

pelushe 22/08/2007 09:18

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Oh vaya. ¿Nadie sabe como se hace esto? De verdad me interesa poder hacerlo, si alguien tiene alguna idea le agradecería que me lo dijera.

Un saludo.

j_aroche 22/08/2007 15:31

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Tranquilo cowboy ;-)

Yo lo haría con una consulta directa a la base de datos, a la tabla wp_post tomas los ultimos X posts que tengan el post_status=published, ordenados por fecha y listo.

Otra forma (si no te quieres quebrar la cabeza) sería que usaras alguna librería para leer el RSS feed y mostar eso en el homepage... o mejor aún usar servicios como Feevy donde les indicas que feeds quieres y te dan un código html que debes insertar en tu página... ellos se encargan de actualizar el feed.

pelushe 26/08/2007 06:44

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Muchas gracias por contestar. Me interesa la opción de conectar con la base de datos, sabes donde puedo encontrar el código para hacerlo? yo de php y bd controlo muy poco.

Saludos

mynameis 16/09/2007 09:13

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Lo voy a intentar explicar, porque yo lo hice y no se mucho de código:

Creas una nueva página php, por ejemplo= ultimasnoticias.php, que es donde se van a mostrar esos post fuera de wordpress.

Allí pones este código php.

Código PHP:

<?php require_once("./wordpress/wp-config.php"); ?>

    <?php $my_query = new WP_Query('showposts=4');
 
 while (
$my_query->have_posts()) : $my_query->the_post();
      
$do_not_duplicate $post->ID;?>
  
    <?php the_title(); ?>
    <?php the_time('j \d\e F \d\e Y'); ?>
    <?php the_content(); ?>

 <?php endwhile; ?>

Que hace algo así como:
Leer el wp-config.php, que es donde están los datos para acceder a tu base de datos. Es de donde va a sacar la información de los posts.
Aquí está la ruta por defecto, pero si tienes worpress en otra carpeta tienes que indicarle cuál es la ruta correcta, si no no va a funcionar.

En showposts puedes poner los que quieras que se muestren.

Luego muestra el título del post (the_title)
Luego la fecha, en mi caso (the_time)
Luego el post propiamente dicho (the_content)

Y ya está.

En esta página me muestra los últimos 4 posts publicados.

A esta página le falta el estilo. Si quieres cambiarlo porque será texto plano y no tienes ni idea de cómo hacerlo puedes hacerlo abriéndo este php en un editor como dreamweaver y en el modo "diseño" le vas dando formato, color, etc... para que sea como el resto de tu web (es como yo lo hice yo, es chapucero, pero si no sabes css es una solución.

La página final quedaría así

Código PHP:

<html>
<head>
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>últimas noticias</title>

</head>

<body> 
  <p>&uacute;ltimas noticias</p>
  
<?php require_once("./wordpress/wp-config.php"); ?>

    <?php $my_query = new WP_Query('showposts=4');
 
 while (
$my_query->have_posts()) : $my_query->the_post();
      
$do_not_duplicate $post->ID;?>
  
    <?php the_title(); ?>
    <?php the_time('j \d\e F \d\e Y'); ?>
    <?php the_content(); ?>

 <?php endwhile; ?>

</body>

</html>

Para mostrar esta página en algún lugar de tu web, puedes hacerlo con un frame, por ejemplo. O si son en php con un include.

pelushe 25/10/2007 17:11

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Muchísimas gracias por tu explicación mynameis, muy detallada. Voy a probarla y espero que funcione!

Mil gracias :)

pelushe 04/11/2007 17:04

Re: Mostrar últimos posts fuera de la carpeta del blog
 
Hola.

Seguí las instrucciones de mynameis y funciona bien, se muestran los últimos posts en una página fuera del blog. El problema es que se ven caracteres extraños en lugar de los acentos y las eñes (como estos: é ñ).

He estado investigando y creo que es por el tipo de codificación de caracteres, que el blog arroja los datos en utf-8 y en la página se ven en iso o algo parecido... el caso es que encontré una función en php que creo que arreglaría el problema de los caracteres, utf8_decode, pero no soy capaz de hacer que funcione.

He probado cosas así y nada:

Código PHP:

<?php echo utf8_decode($excerpt); ?>

Parto del código inicial que puso mynameis:

Código PHP:

<?php require_once("./wordpress/wp-config.php"); ?>

    <?php $my_query = new WP_Query('showposts=4');
 
 while (
$my_query->have_posts()) : $my_query->the_post();
      
$do_not_duplicate $post->ID;?>
  
    <?php the_title(); ?>
    <?php the_time('j \d\e F \d\e Y'); ?>
    <?php the_content(); ?>

 <?php endwhile; ?>

Tengo poca idea de php, si alguien pudiera decirme como hacer esto se lo agradecería.

Un saludo.

gerazmv 06/05/2008 14:22

Re: Mostrar últimos posts fuera de la carpeta del blog
 
hola . yo estoy con algo similar. pero me gustaria mostrar los siguientes 10 post que se cargan en el blog.

mynameis 19/09/2008 08:55

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Con este sistema habría que poner en showposts 10

Código PHP:

<?php $my_query = new WP_Query('showposts=10');

Y mostraría las últimas 10 entradas.

Saludos.

fermars 25/09/2008 05:29

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Hola,
respecto a esta pregunta de nuestro compañero, solo faltaría una cosa y es la de enlazar el título del post (que se muestre con link) para que una vez abierta esa página, el usuario pueda pinchar para ver el post completo. A mi particularmente no me interesa mostrar el contenido, solo el título y la fecha.

¿Habría alguna forma de asignar el permalink correcto al título? No le veo forma...

Saludos.

mynameis 25/09/2008 05:50

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Pues no se, porque yo no uso el link del título.

Pero puedes probar con esto:

Sustituye la línea

Código PHP:

<?php the_title(); ?>

por esto otro a ver si funciona:

Código PHP:

<?php echo get_permalink() ?>" rel="bookmark" title="Enlace Permanente a <?php the_title(); ?>"><?php the_title(); ?>


Si solo quieres que salga el título y la fecha borra la siguiente línea:

Código PHP:

<?php the_content(); ?>

A ver qué tal...

Saludos.

fermars 25/09/2008 08:01

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Pues si! :aplauso: "casi" funciona. Con este pequeño retoque se muestra perfectamente:

Código:

    <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Enlace Permanente a <?php the_title(); ?>"><?php the_title(); ?></a>
    <?php the_time('j \d\e F \d\e Y'); ?><br>

muchísimas gracias.

mynameis 25/09/2008 08:24

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Muchísimas de nadas. :)

Me alegro que haya funcionado.

Saludos.

fermars 25/09/2008 08:27

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
:-) y ahora una cuestión que es para nota. Llevo dándole vueltas unos días y no se como atajar el asunto. Resulta que no tengo uno si no 2 blogs y quisiera mostrar en una página externa las últimas entradas de ambos.
La idea es coger el código anterior y ponerlo dos veces con un include, sin embargo....¡Oh, sorpresa!, aunque hagas un require a cada wp-config de cada Blog da lo mismo, en ambos casos se muestran las mismas entradas.
Por alguna razón, las variables no se sobreescriben cuando la página tiene que cargar las entradas del segundo blog, y hagas lo que hagas, tienes un bonito duplicado de las entradas del primer blog.

Mmm, no se si me he explicado, creo que si, aunque si es preciso puedo enviaros el ejemplo.

Un saludo.

mynameis 26/09/2008 01:54

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Pues es verdad, lo he probado y pasa lo mismo.
Es como si le faltara un "des-require" al código antes del "require" al segundo wp-config.

Seguro que hay una manera sencilla de hacerlo que desconozco, pero, a bote pronto, se me ocurre que se podría hacer así:

La página que ya tienes que muestra los ultimos posts > noticiasblog1.php
Otra página nueva con los posts del otro blog > noticiasblog2.php
Una tercera página donde juntas las dos > include noticiasblog1, include noticiasblog2, que es la que finalmente muestras.

Aunque funcione parece una chapuza de bricolaje php doméstico...

Ahora es cuando debería intervenir alguien que sepa de código :si:

Saludos.

fermars 26/09/2008 06:01

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Realmente es así como lo tengo, dos archivos separados en las carpetas de cada Wordpress y los "incluyo" en una página externa, pero pasa lo mismo. De hecho, existe otro código que funciona fenomenal y que no tiene los típicos problemas relativos al UTF8 que estoy viendo por el foro. Si a alguien le vale, es este, pero ocurre lo mismo.

Código:

<?php

        require_once('directorio/wp-config.php' );

        function getPosts($limit = 6) {
                global $wpdb;
               
                if ( '' != $limit ) {
                        $limit = (int) $limit;
                        $limit = ' LIMIT '.$limit;
                }
               
                $arcresults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC $limit");
                if ( $arcresults ) {
                        foreach ( $arcresults as $arcresult ) {
                                if ( $arcresult->post_date != '0000-00-00 00:00:00' ) {
                                        $url  = get_permalink($arcresult);
                                        $arc_title = $arcresult->post_title;
                                        if ( $arc_title )
                                                $text = strip_tags(apply_filters('the_title', $arc_title));
                                        else
                                                $text = $arcresult->ID;
                                        echo get_archives_link($url, utf8_decode($text), $format, '<img src=images/bullet_b.gif>', '<br />');
                                }
                        }
                }
        }

        getPosts(7);

?>

Solo hay que modificar la ruta al wp-config y a la imagen "bullet_b.gif" que podría ser cualquier otra, por supuesto.
:-) Gracias mynameis.
En fin, si alguien tiene alguna idea genial que lo comente.:borracho:

zmeu 28/09/2008 08:05

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Buenas tardes a tod@s;

Tengo una pregunta que posiblemente complique la cosa pero por otro lado, ya que siguiendo el código tal y cómo decís me salen los títulos (por cierto sin el link) pero todos seguidos y me gustaría poder listarlos o enumerarlos. ¿Estoy pidiendo un imposible?

Gracias de antemano a tod@s por vuestra ayuda

mynameis 29/09/2008 10:29

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Con este códido a mi me salen uno debajo del otro y con el link.
Es el que se explica al principio con la modificación añadida en la línea "the_title" para que tenga el permalink.


Código PHP:

<?php require_once("./wordpress/wp-config.php"); ?>

    <?php $my_query = new WP_Query('showposts=4');
 
 while (
$my_query->have_posts()) : $my_query->the_post();
      
$do_not_duplicate $post->ID;?>
  
 <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Enlace Permanente a <?php the_title(); ?>"><?php the_title(); ?></a> 
    <?php the_time('j \d\e F \d\e Y'); ?>
    <?php the_content(); ?>

 <?php endwhile; ?>


zmeu 02/10/2008 13:49

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Efectivamente, pido perdón por no haber visto esa respuesta. Ahora funciona todo perfectamente.


Gracias a tod@s

Divarte 01/02/2009 17:30

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Hola tengo un problema, no se php y quiero hacer lo mismo... he tratado de hacer lo que explican pero no consigo más que una pagina en blanco.
Tengo dos blogs que quiero integrar en una pagina web, explicandolo mejor quiero que aparescan anunciando las ultimas entradas, titulo y fecha (me conformo) que hagan enlace al blog correspondiente.
Cada blog esta en un subdominio de la web principal:
http://blog1.myweb.com
http://blog2.myweb.com

Cuando en el codigo se refiere a crear el documento php, ése documento lo pongo en la web principal? osea http://myweb.com o debe estar dentro del subdominio? ademas en el codigo, dicen que ponga la ruta correspondiente... la pongo con url completo?

Cita:

<?php require_once("http://blog1.myweb.com/wp-config.php"); ?>

<?php $my_query = new WP_Query('showposts=5');

while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>

<?php the_title(); ?>
<?php the_time('j \d\e F \d\e Y'); ?>


<?php endwhile; ?>
Por favor necesito ayuda.
Gracias

juancrive 01/03/2009 19:56

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Hola , les hago una consulta, como puedo mostrar los artículos, pero unicamente de una categoria determinada.

Desde ya muchas gracias a todos.

Crismorrison 02/03/2009 10:20

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Amigo, no te rompas mas la cabeza utiliza feedburner , registrate y utiliza la opcion "publicize".

qamelot 27/05/2009 08:41

Respuesta: Mostrar últimos posts fuera de la carpeta del blog
 
Cita:

Iniciado por fermars (Mensaje 2595078)
Realmente es así como lo tengo, dos archivos separados en las carpetas de cada Wordpress y los "incluyo" en una página externa, pero pasa lo mismo. De hecho, existe otro código que funciona fenomenal y que no tiene los típicos problemas relativos al UTF8 que estoy viendo por el foro. Si a alguien le vale, es este, pero ocurre lo mismo.

Código:

<?php

        require_once('directorio/wp-config.php' );

        function getPosts($limit = 6) {
                global $wpdb;
               
                if ( '' != $limit ) {
                        $limit = (int) $limit;
                        $limit = ' LIMIT '.$limit;
                }
               
                $arcresults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC $limit");
                if ( $arcresults ) {
                        foreach ( $arcresults as $arcresult ) {
                                if ( $arcresult->post_date != '0000-00-00 00:00:00' ) {
                                        $url  = get_permalink($arcresult);
                                        $arc_title = $arcresult->post_title;
                                        if ( $arc_title )
                                                $text = strip_tags(apply_filters('the_title', $arc_title));
                                        else
                                                $text = $arcresult->ID;
                                        echo get_archives_link($url, utf8_decode($text), $format, '<img src=images/bullet_b.gif>', '<br />');
                                }
                        }
                }
        }

        getPosts(7);

?>

Solo hay que modificar la ruta al wp-config y a la imagen "bullet_b.gif" que podría ser cualquier otra, por supuesto.
:-) Gracias mynameis.
En fin, si alguien tiene alguna idea genial que lo comente.:borracho:

Y donde pondría <?php the_content_rss('', TRUE, '', 25); ?> dentro de este código? a ver si me ayudan gracias!!


La zona horaria es GMT -6. Ahora son las 19:20.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.