Annonce

Important, migration hautement recommandée : WordPress 2.6.2 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 20-07-2008 09:13:04

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Bloquer la création en double d'une variable dans la base de données

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : 2.6
- Adresse du site : RSS Paradise

Est-il possible de bloquer la création en double d'une variable dans la base de données ? Plus exactement, j'aimerais bloquer l'écriture en double des titres de mes postes (table WP-posts, colone Posts-title).

Par exemple j'ai écrit dans le passé un post nommé "bonjour Wordpress", et j'aimerais que la base de données bloque la création d'un nouveau post nommé aussi "bonjour Wordpress".

Possible ou pas possible ??

Hors ligne

 

#2 20-07-2008 11:18:01

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Je me demande s'il n'y a pas un attribut SQL qui permet de rendre unique une entrée dans la base pour un champs... Mais sinon, il faut avant l'entrée ajouter une query pour voir s'il y a déjà un post avec le même titre et s'il y en a un alors tu jettes et tu demandes qu'il change le titre...

Hors ligne

 

#3 20-07-2008 19:54:10

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Très très bonne idée Olivier!! Mais où placer ce Query, et surtout comment faire ??

Hors ligne

 

#4 21-07-2008 08:06:29

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Tu mets cette query au niveau de la soumission d'un nouvel article. Si tu ne sais pas comment faire la query, il faut jeter un oeil dans les fichiers php, il y a pas mal de query dans tous les coins, cela te donnera une idée...

Hors ligne

 

#5 21-07-2008 08:29:47

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Je te remercie de ton aide Olivier, je vais chercher comment faire, et je poste la solution dés que c'est ok !!

Hors ligne

 

#6 21-07-2008 10:10:56

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Je réfléchissais à ton pb dans la voiture et il m'est venu une idée lumineuse wink
Plutôt qu'un select, tu peux faire un count... C'est une query sql qui te retourne le nombre d'occurences dans une table d'un élément...

Hors ligne

 

#7 21-07-2008 18:52:04

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Re: Bloquer la création en double d'une variable dans la base de données

En fait j'ai regardé dans la table, et pour chaque titre de posts, il y a déja une colone "enregistrement" qui donne le nombre d'occurences. C'est comme ça que j'arrive à savoir si il existe des posts en doubles ou pas, dans ma base de données. Le "Must" serait d'utiliser cette colone "enregistrement" pour limiter la création de doublon. Mais mon niveau en php et sql est trop limité pour que je trouve la solution seul...(pour le moment happy )

Dernière modification par Godparadise (21-07-2008 18:53:17)

Hors ligne

 

#8 21-07-2008 20:22:39

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Fais une petite recherche dans le code pour trouver l'endroit où il met à jour cet enregistrement et le tour sera joué.

Hors ligne

 

#9 21-07-2008 22:02:27

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Bon j'ai un peu cherché pour te faciliter la tâche, je crois qu'il faut que tu modifies la fonction wp_write_post() dans le fichier post.php dans le répertoire wp-admin/includes/
Il semble que cela soit la fonction appellée juste avant l'insert dans la base de données.

Hors ligne

 

#10 21-07-2008 22:16:40

viwiv
Expert WP
Date d'inscription: 30-08-2007
Messages: 320

Re: Bloquer la création en double d'une variable dans la base de données

Bonsoir,

Sans entrer dans ces considérations de haute volée, aucun titre en double ne peut exister dans un blog tournant sous WordPress.

Je m'explique... Soit un premier post portant le titre "bonjour tout le monde" : il sera enregistré sous "bonjour-tout-le-monde". Si un deuxième article a pour titre "bonjour tout le monde", WordPress l'enregistrera sous "bonjour-tout-le-monde-2".

Cordialement,

V.


Hébergement gratuit idéal pour WordPress, en domaine ou sous-domaine, pour les novices comme pour les experts, Php 5, MySql 5, Ftp, 350 Mo d'espace, 100 Go de bande passante, activation immédiate, aucune publicité ->->->00webhost cool

Hors ligne

 

#11 22-07-2008 08:23:13

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Sur ce point là tu as totalement raison viwi, mais dans l'exemple que tu viens de donner, même si les slug sont différents, tu as quand même de articles avec des titres identiques. Or moi sur mon blog (en publication semi-automatique), quand j'ai deux articles aux titres similaires, les deux articles s'affichent sur la même page, l'un à la suite de l'autre, et je peux en avoir 9 comme ça...

Hors ligne

 

#12 22-07-2008 08:31:38

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Eh bien fais comme je te l'ai indiqué wink

Hors ligne

 

#13 22-07-2008 18:24:17

Godparadise
Connaisseur WP
Date d'inscription: 16-07-2008
Messages: 28
Site web

Re: Bloquer la création en double d'une variable dans la base de données

Excuse moi Olivier, je m'étais focalisé sur la réponse de viwiv, et je n'avais pas vu la tienne. Je vais regarder du côté de wp_write_post() ça m'a l'air d'être une bonne idée. En tout cas merci pour tout.

Hors ligne

 

#14 22-07-2008 19:43:46

Olivier
Maître WP
Date d'inscription: 12-02-2008
Messages: 652
Site web

Re: Bloquer la création en double d'une variable dans la base de données

De rien, si tu n'y arrives pas, fais moi signe...

Hors ligne

 

Pied de page des forums

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