Afficher article wordpress sur site

yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   -  
 feyesh -
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.
A voir également:

14 réponses

hopakus
 
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...
3
f4lco
 
Cela ne fonctionne pas sur le site que je suis entrain de faire..
J'ai comme toi un site à la racine sur lequel je souhaite afficher des news et qui n'est pas géré par wordpress.
J'ai une partie news gérer par wordpress dans un dossier news.

Première chose tu indiques qu'il faut crée les pages featured.php et news.php dans wp-content/ hors nous sommes d'accord que c'est dans wp-content/themes/nomdutheme/ si j'en crois ta phrase " (au même endroit que index.php, page.php, single.php, ... "

j'ai donc une page de test avec l'url réécrite http://nomdusite/test/ pour mon site sur lequel j'ai placé <?php include("../../news/wp-content/themes/nomdutheme/news.php");?>
et qui est placé dans /include/front/test.php , car c'est la ou sont mes pages.

Cette page à ton code : ( avec simplement la catégorie en moins car je souhaite afficher les news quelque soit la catégorie )

<div class= "news">
<?php query_posts('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>

je retrouve les erreurs suivantes quand j'affiche ma page :

Warning: include(../../news/wp-content/themes/nomdutheme/news.php) [function.include]: failed to open stream: No such file or directory in /homez.36/nom/www/includes/front/test.php on line 34

Warning: include() [function.include]: Failed opening '../../news/wp-content/themes/nomdutheme/news.php' for inclusion (include_path='.:/usr/local/lib/php') in /homez.36/nom/www/includes/front/test.php on line 34


Une petite idée ?
0
hopakus
 
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 "../../"
0
hopakus
 
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/
0
feyesh
 
génial merci mec
0
Titial69 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   20
 
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)

2
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
up
1
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
Re up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
et up
0
Titial69 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   20
 
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
0
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
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 !
0
Titial69 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   20
 
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/
0
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
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).
0
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
par flux rss je ne sait pas du tout comment faire =S
0
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
up
0
yooyoo12 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   18
 
encore up
0
hopakus
 
j'ajouterai que pour modifier le nombre de caractères de l'extrait

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

https://developer.wordpress.org/reference/functions/the_excerpt/

personnellement je n'ai rien modifié.
0
Sorofin
 
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
0
hopakus
 
Bonjour guillaume, apparement vous n'avez pas mis les pages au bon endroit.
les pages featured.php et news.php sont à mettre dans le dossier de votre theme wordpress. par exemple : wp-content/themes/nom de votre theme/
0
Sorofin
 
Merci pour votre réponse rapide.
J'ai déplacé les 2 fichiers pour les mettre dans le répertoire du thème, mais j'ai le même message d'erreur:
Fatal error: Call to undefined function query_posts() in /home/ingemcom/public_html/conseil/wp-content/themes/simplo/featured.php on line 2

Une autre idée?
0
hopakus
 
apparemment le message d'erreur renvois à un problème à l'intérieur même de featured.php et non pas au niveau de l'emplacement de celui-ci...

il faut voir la syntaxe à la ligne 2 du fichier featured.php.

vous avez certainement modifié cette ligne : <?php query_posts('showposts=1&cat=-15'); ?>

vérifiez bien que vous n'avez pas enlever un symbole.

j'espère que votre problème sera résolu.

cordialement.
0
Sorofin
 
Merci,
Je n'ai rien modifié à la synthaxe,
En fait, je pense qu'il faut personnaliser 'showposts=1&cat=-15. J'ai essayé de le faire, mais je n'ai pas encore trouvé. Je ne connais pas les numéros de mes catégories. Est-ce que cela correspond à tag_ID (que j'obtiens en survolant à l'aide de la souris mes catégories dans le panneau d'administrateur de Wordpress dans la rubrique "Articles/Catégories" ?). Apparemment non.
0
Sorofin
 
Quand je mets le bon numéro de catégorie (j'ai même téléchargé un plugin pour être sur d'avoir le bon), j'ai toujours le même message d'erreur. Help.
0