Posez votre question Signaler

Afficher article wordpress sur site

yooyoo12 305Messages postés 25 février 2009Date d'inscription 24 août 2010Dernière intervention - Dernière réponse le 29 févr. 2012 à 18:22
Bonjour,
J'ai chercher sur google, mais je ne trouve pas ce que je voulais, alors je me tourne vers vous pour m'aider a faire, ou trouver ce que je souhaite.
J'ai un blog sous wordpress, et je voudrais sur mon site, afficher les X derniers articles de mon blog, sous forme de "news".
en y mettant, la date, l'auteur, le titre et l'image de catégories.
Puis l'article limitée à X caractères.
Si l'article fait plus de X caractères, alors on coupe l'article en y ajoutant un [...] lire la suite.
et quand on clique sur 'lire la suite' ou le titre, on atterrit sur le blog pour lire l'article complet.
Merci de votre aide, bonne journée.
Lire la suite 

Afficher article wordpress sur site »

28 réponses
Réponse
+3
moins plus
désolé pour le déterrage de post... mais comme le sujet n'est pas en mode [résolu] je me permet de répondre pour les prochains visiteurs...

Voilà la technique que j'ai utilisé sur mon site http://www.douzo.fr

l'idée était d'avoir une page index.php générale pour le site puis un site sous wordpress et un autre sous prestashop...

la page index.php ne servant que de page de garde pour les différents sites (en construction)

il faut une page qui fasse le lien entre wordpress et la page index.php (qui n'a rien à voir avec wordpress)

par exemple sur la page index.php j'ai dans le bloc de droite le dernier article du site et dans le bloc de gauche une liste des 5 dernières news du site...

j'ai donc créé deux page php que j'ai nommé featured.php pour l'article et news.php pour les news.

j'ai placé ces deux page dans le répertoire wp-content de wordpress (au même endroit que index.php, page.php, single.php, ...

dans ces deux page j'ai ajouter un bout de code aller chercher les informations voulues

<div class= "featured">
<?php query_posts('showposts=1&cat=-15'); ?></div>
<div class="quickcodenoclick">
<?php while(have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<?php mystique_post_thumb('featured-thumbnail', $featured_post['ID']); ?>
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="post_content">
<?php the_excerpt(); ?> <p class="suite"><a href="<?php the_permalink(); ?>">Lire la suite...</a></p>
</div>
</div>
<?php endwhile; ?>
</div>

et...

<div class= "news">
<?php query_posts('cat=15','showposts=5'); ?></div>
<div class="quickcodenoclick">
<?php while(have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<a href="#"></a>
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
</div>
<?php endwhile; ?>
</div>

puis dans ma page index.php (page de garde) j'ai fait appel à ces pages :


<?php include("chemin de votre dossier/featured.php");?>

et...

<?php include("chemin de votre dossier/news.php");?>

à l'endroit où je veux que ça apparaisse !

on peut voir que la fonction <?php query_posts(...'); ?> est vraiment intéressante car dans le bloc des news je n'appelle QUE les articles de la catégorie news, alors que dans le bloc de l'article, je n'appelle que le dernier article hors catégorie news.

voilà j'espère avoir aidé quelques personnes...
hopakus - 17 févr. 2012 à 11:30
oula ça fait un an... mais je vais tenter de répondre quand même...

Oui c'est bien dans /wp-content/themes/nomdutheme/ qu'il faut placer news.php et featured.php

Peut tu me dire ce que tu as à la ligne 34 de ta page test.php?

comme ta page est dans le dossier /include/front/ , essaie de mettre :

/news/wp-content/themes/nomdutheme/news.php (url relative) en supprimant les "../../"
hopakus - 28 févr. 2012 à 13:34
J'ai créé un article sur mon site qui détail tout :

http://www.hopakus.com/2012/comment-afficher-des-articles-sur-une-page-hors-de-wordpress/
feyesh - 29 févr. 2012 à 18:22
génial merci mec
Ajouter un commentaire
Réponse
+2
moins plus
Ah ok, pardon, j'avais pas compris qu'il y avait deux site différents.

Plusieurs possibilité :
- accéder à la base de donnée MYSQL du blog à partir du site, et récupérer les articles
- créer un flux rss spécial pour les derniers articles et l'afficher sur ton site (je pense que c'est le plus facile à faire)

Ajouter un commentaire
Réponse
+1
moins plus
up
Ajouter un commentaire
Réponse
+0
moins plus
Re up
Ajouter un commentaire
Réponse
+0
moins plus
et up
Ajouter un commentaire
Réponse
+0
moins plus
Très simple :

Le code à insérer
<?php if(have_posts()) : ?>
		<?php while(have_posts()) : the_post(); ?>
			<!-- le titre -->
			<div class="titre-art">
				<h2>
					<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
				</h2>
			</div>
			<!-- la notation -->
			<div align="left" class="notation" >
				<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
			</div>
			<!-- l'article avec la photo -->
			<div class="art">
				<div class="floatleft">
					<?php $cat=the_category_ID(false); ?>
					<?php if ($cat==53) { ?>
						<h1 class="titresingle"><img src="/wp-content/themes/Alex/design/video.jpg" title="<?php the_title(); ?>" alt="<?php the_title(); ?>"/></h1>
					<?php }else { ?>
						<h1 class="titresingle"><img src="<?php $values = get_post_custom_values("logo"); echo $values[0]?>" title="<?php the_title(); ?>" alt="<?php the_title(); ?>"/></h1>
					<?php } ?>
				</div>
				<div class="noir resume" align="justify">
					<?php the_excerpt(); ?> <?php edit_post_link('Editer', ' &#124; ', ''); ?>
				</div>
			</div>
			<!-- les méta -->
			<div class="fin-art noir" align="left">
				 	<span><strong> Le <?php the_time('j F Y') ?>  par <?php the_author() ?>  |  </strong></span>
					<span >Vues : <?php $v= popular_posts_views();echo $v;?> |   </span>
					<span ><?php the_category(', ') ?>  |   </span>
					<span ><?php comments_number('Pas de commentaire', '1 Commentaire', '% Commentaires'); ?> </span>			
			</div>
		<?php endwhile; ?>
		<br />
		<!-- pagination -->
		<?php
		 if(class_exists('wp_pagination_plugin'))
		 {
			$p = new wp_pagination_plugin();
			$p->nextLabel('Suivant');
			$p->prevLabel('Précédent');
			$p->nextIcon('&#9658;');
			$p->prevIcon('&#9668;');
			$p->show();
		}?>
	<?php endif; ?>		


Après j'utilise le plugin WP-Digg Style Paginator pour afficher une pagination plus jolie et le plugin WP Comment Remix pour couper les articles à X caractères. Le nombre d'articles affiché est paramètré dans réglages->lecture
Ajouter un commentaire
Réponse
+0
moins plus
faudrait pas inclure une page par hasard ?
car je veut les afficher sur la page index.php de mon site, et non sur une page wordpress !
Ajouter un commentaire
Réponse
+0
moins plus
Ben oui, il suffit de rentrer ce code dans la page index.php, comme un loop normal, si tu ne sais pas exactement comment faire, va voir ce site : http://www.fran6art.com/wordpress/creez-votre-theme-wordpress-de-a-a-z/
Ajouter un commentaire
Réponse
+0
moins plus
salut, j'ai regarder mais ca ne m'explique pas comment mettre tout ca sur L'INDEX de mon site (et non sur la page index du blog wordpress).
Ajouter un commentaire
Réponse
+0
moins plus
par flux rss je ne sait pas du tout comment faire =S
Ajouter un commentaire
Réponse
+0
moins plus
up
Ajouter un commentaire
Réponse
+0
moins plus
encore up
Ajouter un commentaire
Réponse
+0
moins plus
j'ajouterai que pour modifier le nombre de caractères de l'extrait

se référer au codex à cette page :

http://codex.wordpress.org/Template_Tags/the_excerpt

personnellement je n'ai rien modifié.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Merci pour votre message. Je suis tombé dessus après 3 heures de recherche infructueuse.

Comme je veux faire comme vous, j'ai déposé les fichiers "featured.php" et news.php" dans le répertoire wp-content de wordpress (où il n'y avait que indes.php mais pas "page.php, single.php, "). Dans la page index de mon site, j'ai mis les includes que vous indiquez, mais à l'édition, j'obtiens les messages d'erreur suivants:

"Fatal error: Call to undefined function query_posts() in /home/ingemcom/public_html/conseil/wp-content/featured.php on line 2"

Pouvez-vous m'aider?

Merci,

Guillaume
Sorofin - 23 févr. 2011 à 17:26
Bonjour,

Merci pour ce complément. Je l'ai mis en ligne mais malheureusement maintenant je bute sur un autre message d'erreur:
Fatal error: Cannot redeclare make_clickable() (previously declared in /home/ingemcom/public_html/index.php:441) in /home/ingemcom/public_html/conseil/wp-includes/formatting.php on line 1373

Apparemment la fonction "make_clickable()" serait déclarée deux fois.

Une autre idée?
hopakus - 23 févr. 2011 à 17:50
oula ça se corse... ^^

alors d'après le message, la fonction est déjà déclarée dans la page "index.php" de votre site à la ligne 441... et elle ne peut pas être déclarée deux fois.

essayez de la supprimer de votre page "index.php" pour tester. après je sèche...

(je n'ai jamais eu ce message d'erreur pour ma pars)
Sorofin - 23 févr. 2011 à 18:13
Re,

Merci. J'avais effectivement la définition de "make_clickable()" dans ma page index à la ligne 441. Je l'ai retirée et... malheureusement l'ancien message d'erreur est revenu:

"Fatal error: Call to undefined function query_posts() in /home/ingemcom/public_html/conseil/wp-content/featured.php on line 2"

C'est étrange..

Rappel: <?php require($_SERVER['DOCUMENT_ROOT'].'/dossier de votre site wordpress/wp-blog-header.php');?> est bien en place
Ajouter un commentaire
Ce document intitulé « afficher article wordpress sur site » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?