Annonce

Important : WordPress 2.6.1 est disponible en français. À lire avant la migration !
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.

#1 12-06-2008 15:05:10

qlardeau
Connaisseur WP
Date d'inscription: 18-10-2007
Messages: 27

Archivage massif d'articles

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : 2.5
- Thème utilisé : i3Theme 1.4 (Center Edition) 1.4
- Plugins en place :
+ cforms II 8.5
+ Get Custom Field Values 2.1
+ Google XML Sitemaps 3.0.2
+ Lightbox 2 2.5.0
+ Search Everything 4.2.2
+ the_excerpt Reloaded R1
+ Top Level Categories 1.0
+ WP-Highlight 1.0    
+ WP-Polls 2.21
+ WP-Print 2.20
- Nom de l'hébergeur : OVH

Bonjour,
Je cherche toujours le moyen de modifier massivement le statut (Publié, non-publié, etc.) de plusieurs articles, dans le but d'éviter d'avoir à les supprimer définitivement.
Quelqu'un a-t-il une solution à m'apporter ?

Merci,

Quentin

Hors ligne

 

#2 13-06-2008 19:03:54

Comme une image
Burpeur Wordpress
Lieu: Paris (enfin presque)
Date d'inscription: 30-01-2008
Messages: 1570
Site web

Re: Archivage massif d'articles

Une requête SQL sur ta base de données, avec les critères qui vont bien.


Outils de base : Firefox+Firebug, Google-est-mon-ami™, Notepad++. Avec ça, on règle 78,24% des problèmes wink
Pour aller plus loin : Côt côt codex FR EN ! WAMP/LAMP/MAMP

« On paie mal un maître en ne restant toujours que l'élève. » — F. Nietzsche

Hors ligne

 

#3 26-06-2008 00:14:11

Comme une image
Burpeur Wordpress
Lieu: Paris (enfin presque)
Date d'inscription: 30-01-2008
Messages: 1570
Site web

Re: Archivage massif d'articles

Je veux bien t'assister à construire cette requête, mais j'ai besoin de savoir sur quels critères tu veux sélectionner les articles dont tu veux changer le statut.


Outils de base : Firefox+Firebug, Google-est-mon-ami™, Notepad++. Avec ça, on règle 78,24% des problèmes wink
Pour aller plus loin : Côt côt codex FR EN ! WAMP/LAMP/MAMP

« On paie mal un maître en ne restant toujours que l'élève. » — F. Nietzsche

Hors ligne

 

#4 30-06-2008 09:41:55

qlardeau
Connaisseur WP
Date d'inscription: 18-10-2007
Messages: 27

Re: Archivage massif d'articles

En gros, il faut que n'apparaissent que les articles de moins de trois mois, en tenant compte de leur date de modification.
Alors soit je touche aux règles d'affichage directement sur le site, soit je trouve un moyen de basculer les articles de plus de trois mois vers le statut brouillon, en back-end.

Thanx for your help ;-)

Hors ligne

 

#5 30-06-2008 13:40:09

Comme une image
Burpeur Wordpress
Lieu: Paris (enfin presque)
Date d'inscription: 30-01-2008
Messages: 1570
Site web

Re: Archivage massif d'articles

Il vaut mieux que tu les passes à l'état brouillon, sinon ils vont se retrouver dans les archives, les recherches, etc. Bref, ce sera plus délicat à gérer.

La requête est la suivante :

Code: SQL

  1. UPDATE wp_posts
  2. SET post_status ='draft'
  3. WHERE post_modified < DATE_ADD(NOW(), INTERVAL -3 MONTH)
  4. AND post_status = 'publish' ;


Il devrait y avoir un moyen de la programmer de manière quotidienne (WP_cron ?) mais je ne sais pas te guider plus.


Outils de base : Firefox+Firebug, Google-est-mon-ami™, Notepad++. Avec ça, on règle 78,24% des problèmes wink
Pour aller plus loin : Côt côt codex FR EN ! WAMP/LAMP/MAMP

« On paie mal un maître en ne restant toujours que l'élève. » — F. Nietzsche

Hors ligne

 

#6 22-07-2008 09:53:36

qlardeau
Connaisseur WP
Date d'inscription: 18-10-2007
Messages: 27

Re: Archivage massif d'articles

Alors, tout d'abord bravo et grand merci !
Mais tu vas me trouver un peu limité si je te demande de me dire ou intégrer cette petite partie de code ?

Merci...

Dernière modification par qlardeau (22-07-2008 10:00:02)

Hors ligne

 

#7 22-07-2008 10:10:47

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1513

Re: Archivage massif d'articles

Il n' y a rien à intégrer. Il faut lancer cette requête via PHPMyAdmin, l'interface d'administration de la base de données.

Cordialement


Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !

En ligne

 

#8 22-07-2008 11:36:47

Lumière de Lune
Not a plastic girl
Lieu: Allemagne - Maroc
Date d'inscription: 15-08-2007
Messages: 1593
Site web

Re: Archivage massif d'articles

Ne serait ce pas plus simple, messieurs les spécialistes, de rajouter un filtre dans les requêtes index, archives, catégorie, tag, et auteur ?


Voyage au Maroc
Busby SEO Challenge
... tout ça sous WordPress, bien sûr !
Avez-vous lu les Dix commandements du débuggueur de blog ?

Hors ligne

 

#9 22-07-2008 11:54:52

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1513

Re: Archivage massif d'articles

LdL a bien raison. Pourquoi choisir une solution de bourrin quand on peut utiliser la finesse ?

Une façon de faire: Créer une fonction qui fait cette mise à jour et l'accrocher à l'action "init". Ainsi tout visiteur du blog déclenchera le nettoyage, plus besoin de le faire à la main.
Donc, voici le code à inclure dans le fichier functions.php du thème utilisé.

Code: php

  1. <?php
  2.  
  3. // Les posts de plus de trois mois sont passés en draft pour ne plus être affichés
  4. function menageatrois() {
  5. global $wpdb;
  6. $current_option = get_option( 'menageatrois' );
  7.  
  8. // On ne le fait qu'une fois par jour pour éviter de surcharger le serveur
  9. if (isset( $current_option->last_checked ) &&
  10.   86400 > ( time() - $current_option->last_checked ))
  11.     return;
  12.  
  13. @$wpdb->query("UPDATE `" . $wpdb->posts . "` SET `status` = 'draft' WHERE `post_modified` < DATE_ADD(NOW(), INTERVAL -3 MONTH) AND `post_status` = 'publish' AND `post_type` = 'post'");
  14.  
  15. $new_option = '';
  16. $new_option->last_checked = time();
  17. update_option( 'menageatrois', $new_option );
  18.  
  19. }
  20.  
  21. add_action('init', 'menageatrois');
  22.  
  23. ?>

Cordialement

Dernière modification par dlo (22-07-2008 12:27:24)


Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !

En ligne

 

#10 22-07-2008 14:51:26

Lumière de Lune
Not a plastic girl
Lieu: Allemagne - Maroc
Date d'inscription: 15-08-2007
Messages: 1593
Site web

Re: Archivage massif d'articles

Flattée je sus, mais en fait ma suggestion était autre.
Plutôt que d'enlever massivement des articles, , ce qui aura notamment l'inconvénient de générer des 404 à foisin, ne serait il pas plus "soft" de filtrer dans toutes les pages les articles de plus de trois mois, via un petit wp-query ou autre ?


Voyage au Maroc
Busby SEO Challenge
... tout ça sous WordPress, bien sûr !
Avez-vous lu les Dix commandements du débuggueur de blog ?

Hors ligne

 

#11 23-07-2008 14:15:21

qlardeau
Connaisseur WP
Date d'inscription: 18-10-2007
Messages: 27

Re: Archivage massif d'articles

C'est tout à fait ce que je recherchais, je ferai la maniop une fois par mois, ce n'est donc pas particulièrement consommateur de temps.
En revanche, cela modifie aussi le statut des pages (statiques), ce qui fait disparaitre mes pages de contacts, ma page d'accueil, etc...
Comment isoler les pages des articles dans le script ?

Merci à vous tous,

Quentin

Dernière modification par qlardeau (24-07-2008 11:06:09)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.20
© Copyright 2005-2006 WordPress France